@foblex/flow 17.0.6 → 17.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +11 -0
- package/domain/f-connection/{find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.d.ts → find-closest-input/find-closest-input.request.d.ts} +2 -3
- package/domain/f-connection/find-closest-input/i-closest-input.d.ts +7 -0
- package/domain/f-connection/find-closest-input/index.d.ts +3 -0
- package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +2 -3
- package/domain/f-connection/index.d.ts +1 -1
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/get-normalized-element-rect/get-normalized-element-rect-request.d.ts +2 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -3
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +19 -29
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +6 -3
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +42 -0
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +9 -0
- package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +2 -0
- package/esm2022/domain/f-connection/find-closest-input/index.mjs +4 -0
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +1 -1
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +7 -11
- package/esm2022/domain/f-connection/index.mjs +2 -2
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +2 -2
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +4 -2
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +5 -5
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -5
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +8 -1
- package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +1 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +8 -1
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +33 -19
- package/esm2022/f-draggable/connections/providers.mjs +3 -5
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +8 -1
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +29 -21
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/index.mjs +1 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +4 -8
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +5 -1
- package/esm2022/f-draggable/domain/providers.mjs +2 -3
- package/esm2022/f-draggable/f-draggable.directive.mjs +11 -11
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +2 -2
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +8 -1
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/providers.mjs +1 -3
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +15 -8
- package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +32 -17
- package/esm2022/f-draggable/node/node-move-finalize/index.mjs +1 -3
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +15 -2
- package/esm2022/f-draggable/node/providers.mjs +3 -3
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -1
- package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +1 -3
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +2 -2
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +9 -2
- package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +1 -2
- package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +1 -3
- package/esm2022/f-line-alignment/domain/index.mjs +1 -2
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +17 -12
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -0
- package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -1
- package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +1 -2
- package/f-draggable/canvas/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +1 -0
- package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +8 -4
- package/f-draggable/connections/providers.d.ts +3 -3
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +1 -0
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +7 -4
- package/f-draggable/domain/is-connection-under-node/index.d.ts +0 -1
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +0 -2
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.d.ts +3 -0
- package/f-draggable/domain/providers.d.ts +2 -2
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/node/node-drag-to-parent-finalize/index.d.ts +0 -1
- package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.d.ts +1 -0
- package/f-draggable/node/node-drag-to-parent-finalize/providers.d.ts +1 -2
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +4 -3
- package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +9 -4
- package/f-draggable/node/node-move-finalize/index.d.ts +0 -2
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
- package/f-draggable/node/providers.d.ts +2 -1
- package/f-draggable/node-resize/node-resize-finalize/index.d.ts +0 -1
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -0
- package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +1 -2
- package/f-draggable/node-resize/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +1 -0
- package/f-external-item/domain/external-item-finalize/index.d.ts +0 -1
- package/f-external-item/domain/external-item-finalize/providers.d.ts +1 -2
- package/f-external-item/domain/providers.d.ts +1 -1
- package/f-line-alignment/domain/index.d.ts +0 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +2 -1
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +415 -577
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +3 -3
- package/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.d.ts +0 -11
- package/domain/f-connection/find-closest-input-using-snap-threshold/index.d.ts +0 -2
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -11
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -3
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.mjs +0 -23
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.validator.mjs +0 -27
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/node/node-move-finalize/providers.mjs +0 -7
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -26
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -26
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.d.ts +0 -11
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.d.ts +0 -11
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.d.ts +0 -11
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.d.ts +0 -9
- package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.validator.d.ts +0 -11
- package/f-draggable/node/node-move-finalize/node-move-finalize.validator.d.ts +0 -11
- package/f-draggable/node/node-move-finalize/providers.d.ts +0 -3
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.d.ts +0 -11
- package/f-external-item/domain/external-item-finalize/external-item-finalize.validator.d.ts +0 -11
- package/f-line-alignment/domain/nearest-coordinate.d.ts +0 -27
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, Output, booleanAttribute, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, ContentChildren, NgZone, ContentChild, NgModule } from '@angular/core';
|
|
3
|
-
import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections,
|
|
3
|
+
import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections, setRectToElement, adjustRectToMinSize, findClosestAlignment, setRectToViewBox } from '@foblex/2d';
|
|
4
4
|
import { __decorate } from 'tslib';
|
|
5
5
|
import * as i2 from '@foblex/mediator';
|
|
6
6
|
import { FExecutionRegister, FMediator, FValidatorRegister } from '@foblex/mediator';
|
|
@@ -918,18 +918,16 @@ function createSVGElement$1(tag, fBrowser) {
|
|
|
918
918
|
return fBrowser.document.createElementNS('http://www.w3.org/2000/svg', tag);
|
|
919
919
|
}
|
|
920
920
|
|
|
921
|
-
class
|
|
921
|
+
class FindClosestInputRequest {
|
|
922
922
|
position;
|
|
923
923
|
canBeConnectedInputs;
|
|
924
|
-
|
|
925
|
-
constructor(position, canBeConnectedInputs, snapThreshold) {
|
|
924
|
+
constructor(position, canBeConnectedInputs) {
|
|
926
925
|
this.position = position;
|
|
927
926
|
this.canBeConnectedInputs = canBeConnectedInputs;
|
|
928
|
-
this.snapThreshold = snapThreshold;
|
|
929
927
|
}
|
|
930
928
|
}
|
|
931
929
|
|
|
932
|
-
let
|
|
930
|
+
let FindClosestInputExecution = class FindClosestInputExecution {
|
|
933
931
|
handle(payload) {
|
|
934
932
|
let result;
|
|
935
933
|
let minDistance = Infinity;
|
|
@@ -940,7 +938,10 @@ let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSna
|
|
|
940
938
|
result = element;
|
|
941
939
|
}
|
|
942
940
|
}
|
|
943
|
-
return
|
|
941
|
+
return result ? {
|
|
942
|
+
...result,
|
|
943
|
+
distance: minDistance,
|
|
944
|
+
} : undefined;
|
|
944
945
|
}
|
|
945
946
|
distanceToRectangle(point, inputWithRect) {
|
|
946
947
|
const closestX = this.clamp(point.x, inputWithRect.fRect.x, inputWithRect.fRect.x + inputWithRect.fRect.width);
|
|
@@ -952,13 +953,13 @@ let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSna
|
|
|
952
953
|
clamp(value, min, max) {
|
|
953
954
|
return Math.max(min, Math.min(max, value));
|
|
954
955
|
}
|
|
955
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
956
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
956
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
957
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution });
|
|
957
958
|
};
|
|
958
|
-
|
|
959
|
-
FExecutionRegister(
|
|
960
|
-
],
|
|
961
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
959
|
+
FindClosestInputExecution = __decorate([
|
|
960
|
+
FExecutionRegister(FindClosestInputRequest)
|
|
961
|
+
], FindClosestInputExecution);
|
|
962
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution, decorators: [{
|
|
962
963
|
type: Injectable
|
|
963
964
|
}] });
|
|
964
965
|
|
|
@@ -978,8 +979,10 @@ class GetConnectorWithRectRequest {
|
|
|
978
979
|
|
|
979
980
|
class GetNormalizedElementRectRequest {
|
|
980
981
|
element;
|
|
981
|
-
|
|
982
|
+
isRoundedRect;
|
|
983
|
+
constructor(element, isRoundedRect = true) {
|
|
982
984
|
this.element = element;
|
|
985
|
+
this.isRoundedRect = isRoundedRect;
|
|
983
986
|
}
|
|
984
987
|
}
|
|
985
988
|
|
|
@@ -990,13 +993,13 @@ let GetNormalizedElementRectExecution = class GetNormalizedElementRectExecution
|
|
|
990
993
|
return this._fComponentsStore.fCanvas.transform;
|
|
991
994
|
}
|
|
992
995
|
handle(request) {
|
|
993
|
-
const systemRect = this._getElementRoundedRect(request
|
|
996
|
+
const systemRect = this._getElementRoundedRect(request);
|
|
994
997
|
const position = this._normalizePosition(systemRect);
|
|
995
998
|
const size = this._normalizeSize(systemRect);
|
|
996
999
|
return new RoundedRect(position.x, position.y, size.width, size.height, systemRect.radius1, systemRect.radius2, systemRect.radius3, systemRect.radius4);
|
|
997
1000
|
}
|
|
998
|
-
_getElementRoundedRect(
|
|
999
|
-
return this._fMediator.send(new GetElementRoundedRectRequest(element));
|
|
1001
|
+
_getElementRoundedRect(request) {
|
|
1002
|
+
return request.isRoundedRect ? this._fMediator.send(new GetElementRoundedRectRequest(request.element)) : RoundedRect.fromRect(RectExtensions.fromElement(request.element));
|
|
1000
1003
|
}
|
|
1001
1004
|
_normalizePosition(rect) {
|
|
1002
1005
|
return Point.fromPoint(rect).elementTransform(this._fComponentsStore.flowHost).sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
|
|
@@ -1015,17 +1018,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
1015
1018
|
}] });
|
|
1016
1019
|
|
|
1017
1020
|
let GetConnectorWithRectExecution = class GetConnectorWithRectExecution {
|
|
1018
|
-
|
|
1019
|
-
constructor(fMediator) {
|
|
1020
|
-
this.fMediator = fMediator;
|
|
1021
|
-
}
|
|
1021
|
+
_fMediator = inject(FMediator);
|
|
1022
1022
|
handle(request) {
|
|
1023
1023
|
return {
|
|
1024
1024
|
fConnector: request.connector,
|
|
1025
|
-
fRect: this.
|
|
1025
|
+
fRect: this._fMediator.send(new GetNormalizedElementRectRequest(request.connector.hostElement, true))
|
|
1026
1026
|
};
|
|
1027
1027
|
}
|
|
1028
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, deps: [
|
|
1028
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1029
1029
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution });
|
|
1030
1030
|
};
|
|
1031
1031
|
GetConnectorWithRectExecution = __decorate([
|
|
@@ -1033,7 +1033,7 @@ GetConnectorWithRectExecution = __decorate([
|
|
|
1033
1033
|
], GetConnectorWithRectExecution);
|
|
1034
1034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, decorators: [{
|
|
1035
1035
|
type: Injectable
|
|
1036
|
-
}]
|
|
1036
|
+
}] });
|
|
1037
1037
|
|
|
1038
1038
|
let GetAllCanBeConnectedInputPositionsExecution = class GetAllCanBeConnectedInputPositionsExecution {
|
|
1039
1039
|
fComponentsStore;
|
|
@@ -2690,7 +2690,7 @@ class FConnectionComponent extends FConnectionBase {
|
|
|
2690
2690
|
this._fMediator.send(new RemoveConnectionFromStoreRequest(this));
|
|
2691
2691
|
}
|
|
2692
2692
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: FConnectionFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
2693
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.4", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fTextStartOffset: "fTextStartOffset", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: ["fBehavior", "fBehavior", (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior)], fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2693
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.4", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fTextStartOffset: "fTextStartOffset", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: ["fBehavior", "fBehavior", (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior)], fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled", booleanAttribute], fSelectionDisabled: ["fSelectionDisabled", "fSelectionDisabled", booleanAttribute] }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2694
2694
|
}
|
|
2695
2695
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionComponent, decorators: [{
|
|
2696
2696
|
type: Component,
|
|
@@ -2726,9 +2726,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
2726
2726
|
type: Input
|
|
2727
2727
|
}], fDraggingDisabled: [{
|
|
2728
2728
|
type: Input,
|
|
2729
|
-
args: ['fReassignDisabled']
|
|
2729
|
+
args: [{ alias: 'fReassignDisabled', transform: booleanAttribute }]
|
|
2730
2730
|
}], fSelectionDisabled: [{
|
|
2731
|
-
type: Input
|
|
2731
|
+
type: Input,
|
|
2732
|
+
args: [{ transform: booleanAttribute }]
|
|
2732
2733
|
}], fDefs: [{
|
|
2733
2734
|
type: ViewChild,
|
|
2734
2735
|
args: ['defs', { static: true }]
|
|
@@ -2942,42 +2943,39 @@ function _toRoundedRectIntersections(payload) {
|
|
|
2942
2943
|
return GetIntersections.getRoundedRectIntersections(payload.inputRect.gravityCenter, payload.outputRect.gravityCenter, payload.inputRect)[0];
|
|
2943
2944
|
}
|
|
2944
2945
|
function _getIntersectionsLine(from, to, payload) {
|
|
2945
|
-
return
|
|
2946
|
+
return {
|
|
2947
|
+
point1: from ? from : payload.outputRect.gravityCenter,
|
|
2948
|
+
point2: to ? to : payload.inputRect.gravityCenter
|
|
2949
|
+
};
|
|
2946
2950
|
}
|
|
2947
2951
|
|
|
2948
2952
|
function fixedCenterBehavior(payload) {
|
|
2949
|
-
return
|
|
2953
|
+
return {
|
|
2954
|
+
point1: payload.outputRect.gravityCenter,
|
|
2955
|
+
point2: payload.inputRect.gravityCenter
|
|
2956
|
+
};
|
|
2950
2957
|
}
|
|
2951
2958
|
|
|
2952
2959
|
function fixedOutboundBehavior(payload) {
|
|
2953
|
-
return
|
|
2960
|
+
return {
|
|
2961
|
+
point1: _getPosition(payload.outputRect, payload.outputSide === EFConnectableSide.AUTO ? EFConnectableSide.BOTTOM : payload.outputSide),
|
|
2962
|
+
point2: _getPosition(payload.inputRect, payload.inputSide === EFConnectableSide.AUTO ? EFConnectableSide.TOP : payload.inputSide)
|
|
2963
|
+
};
|
|
2964
|
+
}
|
|
2965
|
+
function _getPosition(rect, side) {
|
|
2966
|
+
switch (side) {
|
|
2967
|
+
case EFConnectableSide.TOP:
|
|
2968
|
+
return { x: rect.x + rect.width / 2, y: rect.y };
|
|
2969
|
+
case EFConnectableSide.BOTTOM:
|
|
2970
|
+
return { x: rect.x + rect.width / 2, y: rect.y + rect.height };
|
|
2971
|
+
case EFConnectableSide.LEFT:
|
|
2972
|
+
return { x: rect.x, y: rect.y + rect.height / 2 };
|
|
2973
|
+
case EFConnectableSide.RIGHT:
|
|
2974
|
+
return { x: rect.x + rect.width, y: rect.y + rect.height / 2 };
|
|
2975
|
+
default:
|
|
2976
|
+
throw new Error(`Unknown side: ${side}`);
|
|
2977
|
+
}
|
|
2954
2978
|
}
|
|
2955
|
-
const positions = {
|
|
2956
|
-
[EFConnectableSide.TOP]: (rect) => {
|
|
2957
|
-
const result = new Point();
|
|
2958
|
-
result.y = rect.y;
|
|
2959
|
-
result.x = rect.x + rect.width / 2;
|
|
2960
|
-
return result;
|
|
2961
|
-
},
|
|
2962
|
-
[EFConnectableSide.BOTTOM]: (rect) => {
|
|
2963
|
-
const result = new Point();
|
|
2964
|
-
result.y = rect.y + rect.height;
|
|
2965
|
-
result.x = rect.x + rect.width / 2;
|
|
2966
|
-
return result;
|
|
2967
|
-
},
|
|
2968
|
-
[EFConnectableSide.LEFT]: (rect) => {
|
|
2969
|
-
const result = new Point();
|
|
2970
|
-
result.x = rect.x;
|
|
2971
|
-
result.y = rect.y + rect.height / 2;
|
|
2972
|
-
return result;
|
|
2973
|
-
},
|
|
2974
|
-
[EFConnectableSide.RIGHT]: (rect) => {
|
|
2975
|
-
const result = new Point();
|
|
2976
|
-
result.x = rect.x + rect.width;
|
|
2977
|
-
result.y = rect.y + rect.height / 2;
|
|
2978
|
-
return result;
|
|
2979
|
-
},
|
|
2980
|
-
};
|
|
2981
2979
|
|
|
2982
2980
|
let CalculateConnectionLineByBehaviorExecution = class CalculateConnectionLineByBehaviorExecution {
|
|
2983
2981
|
_handlers = {
|
|
@@ -3038,7 +3036,7 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
|
3038
3036
|
connection.isSelected() ? connection.select() : null;
|
|
3039
3037
|
}
|
|
3040
3038
|
getLine(output, input, connection) {
|
|
3041
|
-
return this.fMediator.
|
|
3039
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fMediator.execute(new GetNormalizedElementRectRequest(output.hostElement, true)), this.fMediator.execute(new GetNormalizedElementRectRequest(input.hostElement, true)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
|
|
3042
3040
|
}
|
|
3043
3041
|
setMarkers(connection) {
|
|
3044
3042
|
this.fMediator.send(new CreateConnectionMarkersRequest(connection));
|
|
@@ -3147,7 +3145,7 @@ const F_CONNECTION_FEATURES = [
|
|
|
3147
3145
|
AddConnectionToStoreExecution,
|
|
3148
3146
|
AddSnapConnectionToStoreExecution,
|
|
3149
3147
|
CreateConnectionMarkersExecution,
|
|
3150
|
-
|
|
3148
|
+
FindClosestInputExecution,
|
|
3151
3149
|
GetAllCanBeConnectedInputPositionsExecution,
|
|
3152
3150
|
CalculateConnectionLineByBehaviorExecution,
|
|
3153
3151
|
GetConnectorWithRectExecution,
|
|
@@ -3331,6 +3329,24 @@ class CanvasMoveFinalizeRequest {
|
|
|
3331
3329
|
}
|
|
3332
3330
|
}
|
|
3333
3331
|
|
|
3332
|
+
class CanvasDragHandler {
|
|
3333
|
+
fComponentsStore;
|
|
3334
|
+
onPointerDownPosition = PointExtensions.initialize();
|
|
3335
|
+
constructor(fComponentsStore) {
|
|
3336
|
+
this.fComponentsStore = fComponentsStore;
|
|
3337
|
+
}
|
|
3338
|
+
prepareDragSequence() {
|
|
3339
|
+
this.onPointerDownPosition = this.fComponentsStore.fCanvas.transform.position;
|
|
3340
|
+
}
|
|
3341
|
+
onPointerMove(difference) {
|
|
3342
|
+
this.fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
|
|
3343
|
+
this.fComponentsStore.fCanvas.redraw();
|
|
3344
|
+
}
|
|
3345
|
+
onPointerUp() {
|
|
3346
|
+
this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
|
|
3347
|
+
}
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3334
3350
|
class FDraggableDataContext {
|
|
3335
3351
|
selectedItems = [];
|
|
3336
3352
|
isSelectedChanged = false;
|
|
@@ -3359,8 +3375,14 @@ let CanvasMoveFinalizeExecution = class CanvasMoveFinalizeExecution {
|
|
|
3359
3375
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
3360
3376
|
}
|
|
3361
3377
|
handle(request) {
|
|
3378
|
+
if (!this._isValid()) {
|
|
3379
|
+
return;
|
|
3380
|
+
}
|
|
3362
3381
|
this.fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
|
|
3363
3382
|
}
|
|
3383
|
+
_isValid() {
|
|
3384
|
+
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
|
|
3385
|
+
}
|
|
3364
3386
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3365
3387
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution });
|
|
3366
3388
|
};
|
|
@@ -3371,45 +3393,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
3371
3393
|
type: Injectable
|
|
3372
3394
|
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
3373
3395
|
|
|
3374
|
-
class CanvasDragHandler {
|
|
3375
|
-
fComponentsStore;
|
|
3376
|
-
onPointerDownPosition = PointExtensions.initialize();
|
|
3377
|
-
constructor(fComponentsStore) {
|
|
3378
|
-
this.fComponentsStore = fComponentsStore;
|
|
3379
|
-
}
|
|
3380
|
-
prepareDragSequence() {
|
|
3381
|
-
this.onPointerDownPosition = this.fComponentsStore.fCanvas.transform.position;
|
|
3382
|
-
}
|
|
3383
|
-
onPointerMove(difference) {
|
|
3384
|
-
this.fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
|
|
3385
|
-
this.fComponentsStore.fCanvas.redraw();
|
|
3386
|
-
}
|
|
3387
|
-
onPointerUp() {
|
|
3388
|
-
this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
|
|
3389
|
-
}
|
|
3390
|
-
}
|
|
3391
|
-
|
|
3392
|
-
let CanvasMoveFinalizeValidator = class CanvasMoveFinalizeValidator {
|
|
3393
|
-
fDraggableDataContext;
|
|
3394
|
-
constructor(fDraggableDataContext) {
|
|
3395
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
3396
|
-
}
|
|
3397
|
-
handle(request) {
|
|
3398
|
-
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
|
|
3399
|
-
}
|
|
3400
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3401
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator });
|
|
3402
|
-
};
|
|
3403
|
-
CanvasMoveFinalizeValidator = __decorate([
|
|
3404
|
-
FValidatorRegister(CanvasMoveFinalizeRequest)
|
|
3405
|
-
], CanvasMoveFinalizeValidator);
|
|
3406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator, decorators: [{
|
|
3407
|
-
type: Injectable
|
|
3408
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
3409
|
-
|
|
3410
3396
|
const CANVAS_MOVE_FINALIZE_PROVIDERS = [
|
|
3411
3397
|
CanvasMoveFinalizeExecution,
|
|
3412
|
-
CanvasMoveFinalizeValidator,
|
|
3413
3398
|
];
|
|
3414
3399
|
|
|
3415
3400
|
class CanvasMovePreparationRequest {
|
|
@@ -3609,6 +3594,88 @@ class FCreateConnectionEvent {
|
|
|
3609
3594
|
}
|
|
3610
3595
|
}
|
|
3611
3596
|
|
|
3597
|
+
class CreateConnectionDragHandler {
|
|
3598
|
+
fMediator;
|
|
3599
|
+
fComponentsStore;
|
|
3600
|
+
fOutput;
|
|
3601
|
+
onPointerDownPosition;
|
|
3602
|
+
toConnectorRect = new RoundedRect();
|
|
3603
|
+
get fConnection() {
|
|
3604
|
+
return this.fComponentsStore.fTempConnection;
|
|
3605
|
+
}
|
|
3606
|
+
get fSnapConnection() {
|
|
3607
|
+
return this.fComponentsStore.fSnapConnection;
|
|
3608
|
+
}
|
|
3609
|
+
fOutputWithRect;
|
|
3610
|
+
canBeConnectedInputs = [];
|
|
3611
|
+
constructor(fMediator, fComponentsStore, fOutput, onPointerDownPosition) {
|
|
3612
|
+
this.fMediator = fMediator;
|
|
3613
|
+
this.fComponentsStore = fComponentsStore;
|
|
3614
|
+
this.fOutput = fOutput;
|
|
3615
|
+
this.onPointerDownPosition = onPointerDownPosition;
|
|
3616
|
+
}
|
|
3617
|
+
prepareDragSequence() {
|
|
3618
|
+
this._initializeSnapConnection();
|
|
3619
|
+
this._initializeConnectionForCreate();
|
|
3620
|
+
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
|
|
3621
|
+
this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
|
|
3622
|
+
this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
|
|
3623
|
+
this.fConnection.show();
|
|
3624
|
+
this.onPointerMove(PointExtensions.initialize());
|
|
3625
|
+
}
|
|
3626
|
+
_initializeSnapConnection() {
|
|
3627
|
+
if (!this.fSnapConnection) {
|
|
3628
|
+
return;
|
|
3629
|
+
}
|
|
3630
|
+
this.fSnapConnection.fOutputId = this.fOutput.fId;
|
|
3631
|
+
this.fSnapConnection.initialize();
|
|
3632
|
+
}
|
|
3633
|
+
_initializeConnectionForCreate() {
|
|
3634
|
+
this.fConnection.fOutputId = this.fOutput.fId;
|
|
3635
|
+
this.fConnection.initialize();
|
|
3636
|
+
}
|
|
3637
|
+
onPointerMove(difference) {
|
|
3638
|
+
const fClosestInput = this._findClosestInput(difference);
|
|
3639
|
+
this._drawConnectionForCreate(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
|
|
3640
|
+
if (this.fSnapConnection) {
|
|
3641
|
+
this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
|
|
3642
|
+
}
|
|
3643
|
+
}
|
|
3644
|
+
_drawConnectionForCreate(fInputRect, fSide) {
|
|
3645
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
3646
|
+
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
|
|
3647
|
+
this.fConnection.redraw();
|
|
3648
|
+
}
|
|
3649
|
+
_drawSnapConnection(fClosestInput) {
|
|
3650
|
+
if (fClosestInput) {
|
|
3651
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
3652
|
+
this.fSnapConnection.show();
|
|
3653
|
+
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
|
|
3654
|
+
this.fSnapConnection.redraw();
|
|
3655
|
+
}
|
|
3656
|
+
else {
|
|
3657
|
+
this.fSnapConnection?.hide();
|
|
3658
|
+
}
|
|
3659
|
+
}
|
|
3660
|
+
getClosetInput(difference) {
|
|
3661
|
+
if (!this.fSnapConnection) {
|
|
3662
|
+
return undefined;
|
|
3663
|
+
}
|
|
3664
|
+
return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
|
|
3665
|
+
}
|
|
3666
|
+
_findClosestInput(difference) {
|
|
3667
|
+
return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
|
|
3668
|
+
}
|
|
3669
|
+
_getClosestInputForSnapConnection(fClosestInput) {
|
|
3670
|
+
return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
|
|
3671
|
+
}
|
|
3672
|
+
onPointerUp() {
|
|
3673
|
+
this.fConnection.redraw();
|
|
3674
|
+
this.fConnection.hide();
|
|
3675
|
+
this.fSnapConnection?.hide();
|
|
3676
|
+
}
|
|
3677
|
+
}
|
|
3678
|
+
|
|
3612
3679
|
class GetInputUnderPointerRequest {
|
|
3613
3680
|
event;
|
|
3614
3681
|
dragHandler;
|
|
@@ -3737,9 +3804,15 @@ let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution
|
|
|
3737
3804
|
this.fMediator = fMediator;
|
|
3738
3805
|
}
|
|
3739
3806
|
handle(request) {
|
|
3807
|
+
if (!this._isValid()) {
|
|
3808
|
+
return;
|
|
3809
|
+
}
|
|
3740
3810
|
this.emitEvent(request.event);
|
|
3741
3811
|
this.dragHandler.onPointerUp();
|
|
3742
3812
|
}
|
|
3813
|
+
_isValid() {
|
|
3814
|
+
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
|
|
3815
|
+
}
|
|
3743
3816
|
getTargetOutput(output) {
|
|
3744
3817
|
if (!output) {
|
|
3745
3818
|
throw OutputNotFound(this.dragHandler.fConnection.fOutputId);
|
|
@@ -3768,92 +3841,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
3768
3841
|
type: Injectable
|
|
3769
3842
|
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
|
|
3770
3843
|
|
|
3771
|
-
class CreateConnectionDragHandler {
|
|
3772
|
-
fMediator;
|
|
3773
|
-
fComponentsStore;
|
|
3774
|
-
fOutput;
|
|
3775
|
-
onPointerDownPosition;
|
|
3776
|
-
toConnectorRect = new RoundedRect();
|
|
3777
|
-
get fConnection() {
|
|
3778
|
-
return this.fComponentsStore.fTempConnection;
|
|
3779
|
-
}
|
|
3780
|
-
get fSnapConnection() {
|
|
3781
|
-
return this.fComponentsStore.fSnapConnection;
|
|
3782
|
-
}
|
|
3783
|
-
fOutputWithRect;
|
|
3784
|
-
canBeConnectedInputs = [];
|
|
3785
|
-
constructor(fMediator, fComponentsStore, fOutput, onPointerDownPosition) {
|
|
3786
|
-
this.fMediator = fMediator;
|
|
3787
|
-
this.fComponentsStore = fComponentsStore;
|
|
3788
|
-
this.fOutput = fOutput;
|
|
3789
|
-
this.onPointerDownPosition = onPointerDownPosition;
|
|
3790
|
-
}
|
|
3791
|
-
prepareDragSequence() {
|
|
3792
|
-
if (this.fSnapConnection) {
|
|
3793
|
-
this.fSnapConnection.fOutputId = this.fOutput.fId;
|
|
3794
|
-
this.fSnapConnection.initialize();
|
|
3795
|
-
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
|
|
3796
|
-
}
|
|
3797
|
-
this.fConnection.fOutputId = this.fOutput.fId;
|
|
3798
|
-
this.fConnection.initialize();
|
|
3799
|
-
this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
|
|
3800
|
-
this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
|
|
3801
|
-
this.fConnection.show();
|
|
3802
|
-
this.onPointerMove(PointExtensions.initialize());
|
|
3803
|
-
}
|
|
3804
|
-
onPointerMove(difference) {
|
|
3805
|
-
this.drawTempConnection(this.toConnectorRect.addPoint(difference));
|
|
3806
|
-
if (this.fSnapConnection) {
|
|
3807
|
-
this.drawSnapConnection(this.getClosetInput(difference));
|
|
3808
|
-
}
|
|
3809
|
-
}
|
|
3810
|
-
drawTempConnection(fInputRect) {
|
|
3811
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
|
|
3812
|
-
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, EFConnectableSide.TOP);
|
|
3813
|
-
this.fConnection.redraw();
|
|
3814
|
-
}
|
|
3815
|
-
drawSnapConnection(fInputWithRect) {
|
|
3816
|
-
if (fInputWithRect) {
|
|
3817
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
|
|
3818
|
-
this.fSnapConnection.show();
|
|
3819
|
-
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
|
|
3820
|
-
this.fSnapConnection.redraw();
|
|
3821
|
-
}
|
|
3822
|
-
else {
|
|
3823
|
-
this.fSnapConnection?.hide();
|
|
3824
|
-
}
|
|
3825
|
-
}
|
|
3826
|
-
getClosetInput(difference) {
|
|
3827
|
-
if (!this.fSnapConnection) {
|
|
3828
|
-
return undefined;
|
|
3829
|
-
}
|
|
3830
|
-
return this.fMediator.send(new FindClosestInputUsingSnapThresholdRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs, this.fSnapConnection.fSnapThreshold));
|
|
3831
|
-
}
|
|
3832
|
-
onPointerUp() {
|
|
3833
|
-
this.fConnection.redraw();
|
|
3834
|
-
this.fConnection.hide();
|
|
3835
|
-
this.fSnapConnection?.hide();
|
|
3836
|
-
}
|
|
3837
|
-
}
|
|
3838
|
-
|
|
3839
|
-
let CreateConnectionFinalizeValidator = class CreateConnectionFinalizeValidator {
|
|
3840
|
-
fDraggableDataContext;
|
|
3841
|
-
constructor(fDraggableDataContext) {
|
|
3842
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
3843
|
-
}
|
|
3844
|
-
handle(request) {
|
|
3845
|
-
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
|
|
3846
|
-
}
|
|
3847
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3848
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator });
|
|
3849
|
-
};
|
|
3850
|
-
CreateConnectionFinalizeValidator = __decorate([
|
|
3851
|
-
FValidatorRegister(CreateConnectionFinalizeRequest)
|
|
3852
|
-
], CreateConnectionFinalizeValidator);
|
|
3853
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator, decorators: [{
|
|
3854
|
-
type: Injectable
|
|
3855
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
3856
|
-
|
|
3857
3844
|
class CreateConnectionDragHandlerRequest {
|
|
3858
3845
|
onPointerDownPosition;
|
|
3859
3846
|
connector;
|
|
@@ -4094,63 +4081,6 @@ class ReassignConnectionFinalizeRequest {
|
|
|
4094
4081
|
}
|
|
4095
4082
|
}
|
|
4096
4083
|
|
|
4097
|
-
class FReassignConnectionEvent {
|
|
4098
|
-
fConnectionId;
|
|
4099
|
-
fOutputId;
|
|
4100
|
-
oldFInputId;
|
|
4101
|
-
newFInputId;
|
|
4102
|
-
fDropPosition;
|
|
4103
|
-
constructor(fConnectionId, fOutputId, oldFInputId, newFInputId, fDropPosition) {
|
|
4104
|
-
this.fConnectionId = fConnectionId;
|
|
4105
|
-
this.fOutputId = fOutputId;
|
|
4106
|
-
this.oldFInputId = oldFInputId;
|
|
4107
|
-
this.newFInputId = newFInputId;
|
|
4108
|
-
this.fDropPosition = fDropPosition;
|
|
4109
|
-
}
|
|
4110
|
-
}
|
|
4111
|
-
|
|
4112
|
-
let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
|
|
4113
|
-
fComponentsStore;
|
|
4114
|
-
fDraggableDataContext;
|
|
4115
|
-
fMediator;
|
|
4116
|
-
get fDraggable() {
|
|
4117
|
-
return this.fComponentsStore.fDraggable;
|
|
4118
|
-
}
|
|
4119
|
-
get dragHandler() {
|
|
4120
|
-
return this.fDraggableDataContext.draggableItems[0];
|
|
4121
|
-
}
|
|
4122
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
4123
|
-
this.fComponentsStore = fComponentsStore;
|
|
4124
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
4125
|
-
this.fMediator = fMediator;
|
|
4126
|
-
}
|
|
4127
|
-
handle(request) {
|
|
4128
|
-
this.emitEvent(request.event);
|
|
4129
|
-
this.dragHandler.onPointerUp();
|
|
4130
|
-
}
|
|
4131
|
-
emitEvent(event) {
|
|
4132
|
-
const input = this.getInputUnderPointer(event);
|
|
4133
|
-
if (!!input && !this.isReassignToDifferentInput(input)) {
|
|
4134
|
-
return;
|
|
4135
|
-
}
|
|
4136
|
-
this.fDraggable.fReassignConnection.emit(new FReassignConnectionEvent(this.dragHandler.fConnection.fId, this.dragHandler.fConnection.fOutputId, this.dragHandler.fConnection.fInputId, input?.fId, event.getPosition()));
|
|
4137
|
-
}
|
|
4138
|
-
getInputUnderPointer(event) {
|
|
4139
|
-
return this.fMediator.send(new GetInputUnderPointerRequest(event, this.dragHandler));
|
|
4140
|
-
}
|
|
4141
|
-
isReassignToDifferentInput(inputsUnderPointer) {
|
|
4142
|
-
return this.dragHandler.fConnection.fInputId !== inputsUnderPointer.fId;
|
|
4143
|
-
}
|
|
4144
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4145
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution });
|
|
4146
|
-
};
|
|
4147
|
-
ReassignConnectionFinalizeExecution = __decorate([
|
|
4148
|
-
FExecutionRegister(ReassignConnectionFinalizeRequest)
|
|
4149
|
-
], ReassignConnectionFinalizeExecution);
|
|
4150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
|
|
4151
|
-
type: Injectable
|
|
4152
|
-
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
|
|
4153
|
-
|
|
4154
4084
|
class ReassignConnectionDragHandler {
|
|
4155
4085
|
fMediator;
|
|
4156
4086
|
fComponentsStore;
|
|
@@ -4168,15 +4098,19 @@ class ReassignConnectionDragHandler {
|
|
|
4168
4098
|
this.fConnection = fConnection;
|
|
4169
4099
|
}
|
|
4170
4100
|
prepareDragSequence() {
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
this.fSnapConnection.initialize();
|
|
4174
|
-
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
|
|
4175
|
-
}
|
|
4101
|
+
this._initializeSnapConnection();
|
|
4102
|
+
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
|
|
4176
4103
|
this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getOutput()));
|
|
4177
4104
|
this.fInputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getInput()));
|
|
4178
4105
|
this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.fConnection.line.point2.x, this.fConnection.line.point2.y));
|
|
4179
4106
|
}
|
|
4107
|
+
_initializeSnapConnection() {
|
|
4108
|
+
if (!this.fSnapConnection) {
|
|
4109
|
+
return;
|
|
4110
|
+
}
|
|
4111
|
+
this.fSnapConnection.fOutputId = this.fConnection.fOutputId;
|
|
4112
|
+
this.fSnapConnection.initialize();
|
|
4113
|
+
}
|
|
4180
4114
|
getOutput() {
|
|
4181
4115
|
return this.fComponentsStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
|
|
4182
4116
|
}
|
|
@@ -4184,24 +4118,22 @@ class ReassignConnectionDragHandler {
|
|
|
4184
4118
|
return this.fComponentsStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
|
|
4185
4119
|
}
|
|
4186
4120
|
onPointerMove(difference) {
|
|
4187
|
-
this.
|
|
4188
|
-
|
|
4189
|
-
fConnector: this.fInputWithRect.fConnector
|
|
4190
|
-
});
|
|
4121
|
+
const fClosestInput = this._findClosestInput(difference);
|
|
4122
|
+
this._drawConnection(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this.fInputWithRect.fConnector.fConnectableSide);
|
|
4191
4123
|
if (this.fSnapConnection) {
|
|
4192
|
-
this.
|
|
4124
|
+
this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
|
|
4193
4125
|
}
|
|
4194
4126
|
}
|
|
4195
|
-
|
|
4196
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect,
|
|
4197
|
-
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
4127
|
+
_drawConnection(fInputRect, fSide) {
|
|
4128
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
4129
|
+
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
|
|
4198
4130
|
this.fConnection.redraw();
|
|
4199
4131
|
}
|
|
4200
|
-
|
|
4201
|
-
if (
|
|
4202
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect,
|
|
4132
|
+
_drawSnapConnection(fClosestInput) {
|
|
4133
|
+
if (fClosestInput) {
|
|
4134
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
4203
4135
|
this.fSnapConnection.show();
|
|
4204
|
-
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
4136
|
+
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
|
|
4205
4137
|
this.fSnapConnection.redraw();
|
|
4206
4138
|
}
|
|
4207
4139
|
else {
|
|
@@ -4212,31 +4144,82 @@ class ReassignConnectionDragHandler {
|
|
|
4212
4144
|
if (!this.fSnapConnection) {
|
|
4213
4145
|
return undefined;
|
|
4214
4146
|
}
|
|
4215
|
-
return this.
|
|
4147
|
+
return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
|
|
4148
|
+
}
|
|
4149
|
+
_findClosestInput(difference) {
|
|
4150
|
+
return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
|
|
4151
|
+
}
|
|
4152
|
+
_getClosestInputForSnapConnection(fClosestInput) {
|
|
4153
|
+
return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
|
|
4216
4154
|
}
|
|
4217
4155
|
onPointerUp() {
|
|
4218
|
-
this.
|
|
4156
|
+
this._drawConnection(this.fInputWithRect.fRect, this.fInputWithRect.fConnector.fConnectableSide);
|
|
4219
4157
|
this.fSnapConnection?.hide();
|
|
4220
4158
|
}
|
|
4221
4159
|
}
|
|
4222
4160
|
|
|
4223
|
-
|
|
4161
|
+
class FReassignConnectionEvent {
|
|
4162
|
+
fConnectionId;
|
|
4163
|
+
fOutputId;
|
|
4164
|
+
oldFInputId;
|
|
4165
|
+
newFInputId;
|
|
4166
|
+
fDropPosition;
|
|
4167
|
+
constructor(fConnectionId, fOutputId, oldFInputId, newFInputId, fDropPosition) {
|
|
4168
|
+
this.fConnectionId = fConnectionId;
|
|
4169
|
+
this.fOutputId = fOutputId;
|
|
4170
|
+
this.oldFInputId = oldFInputId;
|
|
4171
|
+
this.newFInputId = newFInputId;
|
|
4172
|
+
this.fDropPosition = fDropPosition;
|
|
4173
|
+
}
|
|
4174
|
+
}
|
|
4175
|
+
|
|
4176
|
+
let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
|
|
4177
|
+
fComponentsStore;
|
|
4224
4178
|
fDraggableDataContext;
|
|
4225
|
-
|
|
4179
|
+
fMediator;
|
|
4180
|
+
get fDraggable() {
|
|
4181
|
+
return this.fComponentsStore.fDraggable;
|
|
4182
|
+
}
|
|
4183
|
+
get dragHandler() {
|
|
4184
|
+
return this.fDraggableDataContext.draggableItems[0];
|
|
4185
|
+
}
|
|
4186
|
+
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
4187
|
+
this.fComponentsStore = fComponentsStore;
|
|
4226
4188
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
4189
|
+
this.fMediator = fMediator;
|
|
4227
4190
|
}
|
|
4228
4191
|
handle(request) {
|
|
4192
|
+
if (!this._isValid()) {
|
|
4193
|
+
return;
|
|
4194
|
+
}
|
|
4195
|
+
this.emitEvent(request.event);
|
|
4196
|
+
this.dragHandler.onPointerUp();
|
|
4197
|
+
}
|
|
4198
|
+
_isValid() {
|
|
4229
4199
|
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ReassignConnectionDragHandler);
|
|
4230
4200
|
}
|
|
4231
|
-
|
|
4232
|
-
|
|
4201
|
+
emitEvent(event) {
|
|
4202
|
+
const input = this.getInputUnderPointer(event);
|
|
4203
|
+
if (!!input && !this.isReassignToDifferentInput(input)) {
|
|
4204
|
+
return;
|
|
4205
|
+
}
|
|
4206
|
+
this.fDraggable.fReassignConnection.emit(new FReassignConnectionEvent(this.dragHandler.fConnection.fId, this.dragHandler.fConnection.fOutputId, this.dragHandler.fConnection.fInputId, input?.fId, event.getPosition()));
|
|
4207
|
+
}
|
|
4208
|
+
getInputUnderPointer(event) {
|
|
4209
|
+
return this.fMediator.send(new GetInputUnderPointerRequest(event, this.dragHandler));
|
|
4210
|
+
}
|
|
4211
|
+
isReassignToDifferentInput(inputsUnderPointer) {
|
|
4212
|
+
return this.dragHandler.fConnection.fInputId !== inputsUnderPointer.fId;
|
|
4213
|
+
}
|
|
4214
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4215
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution });
|
|
4233
4216
|
};
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
],
|
|
4237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
4217
|
+
ReassignConnectionFinalizeExecution = __decorate([
|
|
4218
|
+
FExecutionRegister(ReassignConnectionFinalizeRequest)
|
|
4219
|
+
], ReassignConnectionFinalizeExecution);
|
|
4220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
|
|
4238
4221
|
type: Injectable
|
|
4239
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
4222
|
+
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
|
|
4240
4223
|
|
|
4241
4224
|
class ReassignConnectionPreparationRequest {
|
|
4242
4225
|
event;
|
|
@@ -4340,7 +4323,6 @@ const CONNECTIONS_PROVIDERS = [
|
|
|
4340
4323
|
GetInputUnderPointerExecution,
|
|
4341
4324
|
GetInputUnderPointerValidator,
|
|
4342
4325
|
CreateConnectionFinalizeExecution,
|
|
4343
|
-
CreateConnectionFinalizeValidator,
|
|
4344
4326
|
CreateConnectionDragHandlerExecution,
|
|
4345
4327
|
CreateConnectionFromOutletPreparationExecution,
|
|
4346
4328
|
GetCanBeConnectedOutputByOutletExecution,
|
|
@@ -4350,7 +4332,6 @@ const CONNECTIONS_PROVIDERS = [
|
|
|
4350
4332
|
CreateConnectionPreparationExecution,
|
|
4351
4333
|
CreateConnectionPreparationValidator,
|
|
4352
4334
|
ReassignConnectionFinalizeExecution,
|
|
4353
|
-
ReassignConnectionFinalizeValidator,
|
|
4354
4335
|
ReassignConnectionPreparationExecution,
|
|
4355
4336
|
ReassignConnectionPreparationValidator,
|
|
4356
4337
|
];
|
|
@@ -4386,7 +4367,7 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
|
|
|
4386
4367
|
return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
|
|
4387
4368
|
}
|
|
4388
4369
|
_getNodeRect(fNode) {
|
|
4389
|
-
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
|
|
4370
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
4390
4371
|
}
|
|
4391
4372
|
getNodePadding(node, rect) {
|
|
4392
4373
|
return this.fMediator.send(new GetNodePaddingRequest(node, rect));
|
|
@@ -4481,14 +4462,17 @@ class FNodeIntersectedWithConnections {
|
|
|
4481
4462
|
}
|
|
4482
4463
|
|
|
4483
4464
|
class IsConnectionUnderNodeRequest {
|
|
4465
|
+
fNode;
|
|
4466
|
+
constructor(fNode) {
|
|
4467
|
+
this.fNode = fNode;
|
|
4468
|
+
}
|
|
4484
4469
|
}
|
|
4485
4470
|
|
|
4486
4471
|
let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
4487
4472
|
_fMediator = inject(FMediator);
|
|
4488
4473
|
_fComponentsStore = inject(FComponentsStore);
|
|
4489
|
-
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
4490
4474
|
handle(request) {
|
|
4491
|
-
const fNode =
|
|
4475
|
+
const fNode = request.fNode;
|
|
4492
4476
|
const fOutputConnectors = this._getNodeOutputConnectors(fNode);
|
|
4493
4477
|
const fInputConnectors = this._getNodeInputConnectors(fNode);
|
|
4494
4478
|
const canBeConnectedOutputs = fOutputConnectors.filter((x) => x.canBeConnected);
|
|
@@ -4504,9 +4488,6 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
|
4504
4488
|
}
|
|
4505
4489
|
}
|
|
4506
4490
|
}
|
|
4507
|
-
_getDraggedNodeUnderPointer() {
|
|
4508
|
-
return this._fDraggableDataContext.draggableItems[0].fNode;
|
|
4509
|
-
}
|
|
4510
4491
|
_getNodeOutputConnectors(fNode) {
|
|
4511
4492
|
return this._fComponentsStore.fOutputs.filter((x) => fNode.isContains(x.hostElement));
|
|
4512
4493
|
}
|
|
@@ -4529,7 +4510,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
|
4529
4510
|
return connectors.map((x) => x.fId);
|
|
4530
4511
|
}
|
|
4531
4512
|
_calculateConnectionsUnderNode(fNode) {
|
|
4532
|
-
const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
|
|
4513
|
+
const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, true));
|
|
4533
4514
|
return this._fComponentsStore.fConnections.filter((x) => {
|
|
4534
4515
|
return this._isConnectionHasIntersectionsWithNode(x, fNodeRect);
|
|
4535
4516
|
});
|
|
@@ -4547,27 +4528,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
4547
4528
|
type: Injectable
|
|
4548
4529
|
}] });
|
|
4549
4530
|
|
|
4550
|
-
let IsConnectionUnderNodeValidator = class IsConnectionUnderNodeValidator {
|
|
4551
|
-
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
4552
|
-
handle(request) {
|
|
4553
|
-
return !!this._fDraggableDataContext.draggableItems.length &&
|
|
4554
|
-
this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
|
|
4555
|
-
}
|
|
4556
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4557
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator });
|
|
4558
|
-
};
|
|
4559
|
-
IsConnectionUnderNodeValidator = __decorate([
|
|
4560
|
-
FValidatorRegister(IsConnectionUnderNodeRequest)
|
|
4561
|
-
], IsConnectionUnderNodeValidator);
|
|
4562
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator, decorators: [{
|
|
4563
|
-
type: Injectable
|
|
4564
|
-
}] });
|
|
4565
|
-
|
|
4566
4531
|
const DRAG_AND_DROP_COMMON_PROVIDERS = [
|
|
4567
4532
|
GetNormalizedParentNodeRectExecution,
|
|
4568
4533
|
IsArrayHasParentNodeExecution,
|
|
4569
4534
|
IsConnectionUnderNodeExecution,
|
|
4570
|
-
IsConnectionUnderNodeValidator,
|
|
4571
4535
|
];
|
|
4572
4536
|
|
|
4573
4537
|
class IsDragStartedRequest {
|
|
@@ -4631,7 +4595,7 @@ class ConnectionBaseDragHandler {
|
|
|
4631
4595
|
connectorNotFoundPrefix(message) {
|
|
4632
4596
|
return `ConnectionDragHandler Error: Connection From (fOutput)${this.connection.fOutputId} To (fInput)${this.connection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
|
|
4633
4597
|
}
|
|
4634
|
-
|
|
4598
|
+
getRestrictedDifference(difference, restrictions) {
|
|
4635
4599
|
return {
|
|
4636
4600
|
x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
|
|
4637
4601
|
y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
|
|
@@ -4664,7 +4628,7 @@ class ConnectionDragHandler extends ConnectionBaseDragHandler {
|
|
|
4664
4628
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4665
4629
|
}
|
|
4666
4630
|
getNewLineValue(difference) {
|
|
4667
|
-
return this.fMediator.
|
|
4631
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
4668
4632
|
}
|
|
4669
4633
|
}
|
|
4670
4634
|
|
|
@@ -4680,7 +4644,7 @@ class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
|
|
|
4680
4644
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4681
4645
|
}
|
|
4682
4646
|
getNewLineValue(difference) {
|
|
4683
|
-
return this.fMediator.
|
|
4647
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
4684
4648
|
}
|
|
4685
4649
|
}
|
|
4686
4650
|
|
|
@@ -4769,7 +4733,7 @@ class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
|
|
|
4769
4733
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4770
4734
|
}
|
|
4771
4735
|
getNewLineValue(difference) {
|
|
4772
|
-
return this.fMediator.
|
|
4736
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.fInputWithRect.fRect, this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
4773
4737
|
}
|
|
4774
4738
|
}
|
|
4775
4739
|
|
|
@@ -4858,7 +4822,7 @@ let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
|
|
|
4858
4822
|
return { ...DEFAULT_RESTRICTIONS };
|
|
4859
4823
|
}
|
|
4860
4824
|
_getNodeRect(fNode) {
|
|
4861
|
-
return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
|
|
4825
|
+
return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
4862
4826
|
}
|
|
4863
4827
|
getParentNodeRect(fNode) {
|
|
4864
4828
|
return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
|
|
@@ -5044,40 +5008,55 @@ class NodeDragToParentDragHandler {
|
|
|
5044
5008
|
fComponentsStore;
|
|
5045
5009
|
fDraggableDataContext;
|
|
5046
5010
|
notDraggedNodesRects;
|
|
5047
|
-
|
|
5011
|
+
DEBOUNCE_TIME = 15;
|
|
5012
|
+
get _transform() {
|
|
5048
5013
|
return this.fComponentsStore.fCanvas.transform;
|
|
5049
5014
|
}
|
|
5050
|
-
|
|
5015
|
+
_onPointerDownPosition = PointExtensions.initialize();
|
|
5016
|
+
_debounceTimer = null;
|
|
5051
5017
|
fNodeWithRect = null;
|
|
5052
5018
|
constructor(fComponentsStore, fDraggableDataContext, notDraggedNodesRects) {
|
|
5053
5019
|
this.fComponentsStore = fComponentsStore;
|
|
5054
5020
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
5055
5021
|
this.notDraggedNodesRects = notDraggedNodesRects;
|
|
5056
|
-
this.
|
|
5022
|
+
this._onPointerDownPosition = this.fDraggableDataContext.onPointerDownPosition;
|
|
5057
5023
|
}
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
this.markIncludeNode(this.notDraggedNodesRects[isInclude]);
|
|
5024
|
+
_toggleParentNode(difference) {
|
|
5025
|
+
const isInclude = this._isNodeInsideAnotherNode(this._getNewPosition(difference));
|
|
5026
|
+
if (isInclude) {
|
|
5027
|
+
this._markIncludeNode(isInclude);
|
|
5063
5028
|
}
|
|
5064
5029
|
else {
|
|
5065
|
-
this.
|
|
5030
|
+
this._unmarkIncludeNode();
|
|
5031
|
+
}
|
|
5032
|
+
}
|
|
5033
|
+
_getNewPosition(difference) {
|
|
5034
|
+
return Point.fromPoint(this._onPointerDownPosition).add(difference).mult(this._transform.scale);
|
|
5035
|
+
}
|
|
5036
|
+
_isNodeInsideAnotherNode(point) {
|
|
5037
|
+
return this.notDraggedNodesRects.find((x) => RectExtensions.isIncludePoint(x.rect, point));
|
|
5038
|
+
}
|
|
5039
|
+
onPointerMove(difference) {
|
|
5040
|
+
if (this._debounceTimer) {
|
|
5041
|
+
clearTimeout(this._debounceTimer);
|
|
5066
5042
|
}
|
|
5043
|
+
this._debounceTimer = setTimeout(() => this._toggleParentNode(difference), this.DEBOUNCE_TIME);
|
|
5067
5044
|
}
|
|
5068
|
-
|
|
5069
|
-
this.
|
|
5045
|
+
_markIncludeNode(nodeWithRect) {
|
|
5046
|
+
this._unmarkIncludeNode();
|
|
5070
5047
|
this.fNodeWithRect = nodeWithRect;
|
|
5071
5048
|
nodeWithRect.node.setClass('f-parent-for-drop');
|
|
5072
5049
|
}
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
this.fNodeWithRect.node.removeClass('f-parent-for-drop');
|
|
5076
|
-
}
|
|
5050
|
+
_unmarkIncludeNode() {
|
|
5051
|
+
this.fNodeWithRect?.node.removeClass('f-parent-for-drop');
|
|
5077
5052
|
this.fNodeWithRect = null;
|
|
5078
5053
|
}
|
|
5079
5054
|
onPointerUp() {
|
|
5080
|
-
this.
|
|
5055
|
+
this._unmarkIncludeNode();
|
|
5056
|
+
if (this._debounceTimer) {
|
|
5057
|
+
clearTimeout(this._debounceTimer);
|
|
5058
|
+
this._debounceTimer = null;
|
|
5059
|
+
}
|
|
5081
5060
|
}
|
|
5082
5061
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentDragHandler, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
5083
5062
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NodeDragToParentDragHandler, ngImport: i0 });
|
|
@@ -5105,12 +5084,19 @@ let NodeDragToParentFinalizeExecution = class NodeDragToParentFinalizeExecution
|
|
|
5105
5084
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
5106
5085
|
}
|
|
5107
5086
|
handle(request) {
|
|
5087
|
+
if (!this._isValid()) {
|
|
5088
|
+
return;
|
|
5089
|
+
}
|
|
5108
5090
|
const item = this.getDragHandleItem();
|
|
5109
5091
|
if (item.fNodeWithRect) {
|
|
5110
5092
|
this.emitDroppedChildrenEvent(item.fNodeWithRect.node.fId, request.event);
|
|
5111
5093
|
}
|
|
5112
5094
|
item.onPointerUp?.();
|
|
5113
5095
|
}
|
|
5096
|
+
_isValid() {
|
|
5097
|
+
return this.fDraggableDataContext.draggableItems
|
|
5098
|
+
.some((x) => x instanceof NodeDragToParentDragHandler);
|
|
5099
|
+
}
|
|
5114
5100
|
emitDroppedChildrenEvent(fTargetId, event) {
|
|
5115
5101
|
this.fComponentsStore.fDraggable?.fDropToGroup.emit(new FDropToGroupEvent(fTargetId, this.getDraggedNodeIds(), event.getPosition()));
|
|
5116
5102
|
}
|
|
@@ -5140,28 +5126,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
5140
5126
|
type: Injectable
|
|
5141
5127
|
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }] });
|
|
5142
5128
|
|
|
5143
|
-
let NodeDragToParentFinalizeValidator = class NodeDragToParentFinalizeValidator {
|
|
5144
|
-
fDraggableDataContext;
|
|
5145
|
-
constructor(fDraggableDataContext) {
|
|
5146
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5147
|
-
}
|
|
5148
|
-
handle(request) {
|
|
5149
|
-
return this.fDraggableDataContext.draggableItems
|
|
5150
|
-
.some((x) => x instanceof NodeDragToParentDragHandler);
|
|
5151
|
-
}
|
|
5152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5153
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator });
|
|
5154
|
-
};
|
|
5155
|
-
NodeDragToParentFinalizeValidator = __decorate([
|
|
5156
|
-
FValidatorRegister(NodeDragToParentFinalizeRequest)
|
|
5157
|
-
], NodeDragToParentFinalizeValidator);
|
|
5158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator, decorators: [{
|
|
5159
|
-
type: Injectable
|
|
5160
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
5161
|
-
|
|
5162
5129
|
const NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS = [
|
|
5163
5130
|
NodeDragToParentFinalizeExecution,
|
|
5164
|
-
NodeDragToParentFinalizeValidator,
|
|
5165
5131
|
];
|
|
5166
5132
|
|
|
5167
5133
|
class NodeDragToParentPreparationRequest {
|
|
@@ -5195,23 +5161,30 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
|
|
|
5195
5161
|
if (!fNode) {
|
|
5196
5162
|
throw new Error('Node not found');
|
|
5197
5163
|
}
|
|
5198
|
-
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this.
|
|
5164
|
+
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this._getNotDraggedNodesRects()));
|
|
5199
5165
|
}
|
|
5200
|
-
|
|
5201
|
-
|
|
5202
|
-
|
|
5166
|
+
_getNotDraggedNodesRects() {
|
|
5167
|
+
const draggedNodes = this._addParentNodes(this._getNodesBeingDragged());
|
|
5168
|
+
return this._getNotDraggedNodes(draggedNodes).map((x) => {
|
|
5169
|
+
const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
5203
5170
|
return {
|
|
5204
5171
|
node: x,
|
|
5205
5172
|
rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
|
|
5206
5173
|
};
|
|
5207
5174
|
});
|
|
5208
5175
|
}
|
|
5209
|
-
|
|
5176
|
+
_getNodesBeingDragged() {
|
|
5210
5177
|
return this.fDraggableDataContext.draggableItems
|
|
5211
5178
|
.filter((x) => x instanceof NodeDragHandler)
|
|
5212
5179
|
.map((x) => x.fNode);
|
|
5213
5180
|
}
|
|
5214
|
-
|
|
5181
|
+
_addParentNodes(fNodes) {
|
|
5182
|
+
return fNodes.reduce((result, x) => {
|
|
5183
|
+
result.push(x, ...this.fMediator.send(new GetParentNodesRequest(x)));
|
|
5184
|
+
return result;
|
|
5185
|
+
}, []);
|
|
5186
|
+
}
|
|
5187
|
+
_getNotDraggedNodes(draggedNodes) {
|
|
5215
5188
|
return this.fNodes.filter((x) => !draggedNodes.includes(x));
|
|
5216
5189
|
}
|
|
5217
5190
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentPreparationExecution, deps: [{ token: i2.FMediator }, { token: FDraggableDataContext }, { token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -5363,13 +5336,19 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
|
|
|
5363
5336
|
return this._fComponentsStore.fFlow.hostElement;
|
|
5364
5337
|
}
|
|
5365
5338
|
handle(request) {
|
|
5339
|
+
if (!this._isValid()) {
|
|
5340
|
+
return;
|
|
5341
|
+
}
|
|
5366
5342
|
const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
|
|
5367
5343
|
const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
|
|
5368
5344
|
.find((x) => x instanceof NodeDragHandler);
|
|
5369
5345
|
const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
|
|
5370
5346
|
this._finalizeMove(differenceWithCellSize);
|
|
5371
|
-
this._fMediator.send(new IsConnectionUnderNodeRequest());
|
|
5372
5347
|
this._fDraggableDataContext.fLineAlignment?.complete();
|
|
5348
|
+
this._applyConnectionUnderNode();
|
|
5349
|
+
}
|
|
5350
|
+
_isValid() {
|
|
5351
|
+
return this._fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
|
|
5373
5352
|
}
|
|
5374
5353
|
_finalizeMove(difference) {
|
|
5375
5354
|
this._getItems().forEach((x) => {
|
|
@@ -5399,6 +5378,13 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
|
|
|
5399
5378
|
}
|
|
5400
5379
|
return difference;
|
|
5401
5380
|
}
|
|
5381
|
+
_applyConnectionUnderNode() {
|
|
5382
|
+
const isDraggedJustOneNode = this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
|
|
5383
|
+
if (isDraggedJustOneNode) {
|
|
5384
|
+
const fNode = this._fDraggableDataContext.draggableItems[0].fNode;
|
|
5385
|
+
setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
|
|
5386
|
+
}
|
|
5387
|
+
}
|
|
5402
5388
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5403
5389
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
|
|
5404
5390
|
};
|
|
@@ -5409,32 +5395,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
5409
5395
|
type: Injectable
|
|
5410
5396
|
}] });
|
|
5411
5397
|
|
|
5412
|
-
let NodeMoveFinalizeValidator = class NodeMoveFinalizeValidator {
|
|
5413
|
-
fDraggableDataContext;
|
|
5414
|
-
constructor(fDraggableDataContext) {
|
|
5415
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5416
|
-
}
|
|
5417
|
-
handle(request) {
|
|
5418
|
-
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
|
|
5419
|
-
}
|
|
5420
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5421
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator });
|
|
5422
|
-
};
|
|
5423
|
-
NodeMoveFinalizeValidator = __decorate([
|
|
5424
|
-
FValidatorRegister(NodeMoveFinalizeRequest)
|
|
5425
|
-
], NodeMoveFinalizeValidator);
|
|
5426
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator, decorators: [{
|
|
5427
|
-
type: Injectable
|
|
5428
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
5429
|
-
|
|
5430
|
-
const NODE_MOVE_FINALIZE_PROVIDERS = [
|
|
5431
|
-
NodeMoveFinalizeExecution,
|
|
5432
|
-
NodeMoveFinalizeValidator,
|
|
5433
|
-
];
|
|
5434
|
-
|
|
5435
5398
|
const NODE_PROVIDERS = [
|
|
5436
5399
|
...CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS,
|
|
5437
|
-
|
|
5400
|
+
NodeMoveFinalizeExecution,
|
|
5438
5401
|
...NODE_MOVE_PREPARATION_PROVIDERS,
|
|
5439
5402
|
...NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS,
|
|
5440
5403
|
...NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS
|
|
@@ -5641,7 +5604,7 @@ let GetNormalizedChildrenNodesRectExecution = class GetNormalizedChildrenNodesRe
|
|
|
5641
5604
|
return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
|
|
5642
5605
|
}
|
|
5643
5606
|
normalizeRect(fNode) {
|
|
5644
|
-
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
|
|
5607
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
5645
5608
|
}
|
|
5646
5609
|
concatRectWithParentPadding(rect, padding) {
|
|
5647
5610
|
return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
|
|
@@ -5700,26 +5663,6 @@ class NodeResizeFinalizeRequest {
|
|
|
5700
5663
|
}
|
|
5701
5664
|
}
|
|
5702
5665
|
|
|
5703
|
-
let NodeResizeFinalizeExecution = class NodeResizeFinalizeExecution {
|
|
5704
|
-
fDraggableDataContext;
|
|
5705
|
-
constructor(fDraggableDataContext) {
|
|
5706
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5707
|
-
}
|
|
5708
|
-
handle(request) {
|
|
5709
|
-
this.fDraggableDataContext.draggableItems.forEach((x) => {
|
|
5710
|
-
x.onPointerUp?.();
|
|
5711
|
-
});
|
|
5712
|
-
}
|
|
5713
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5714
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution });
|
|
5715
|
-
};
|
|
5716
|
-
NodeResizeFinalizeExecution = __decorate([
|
|
5717
|
-
FExecutionRegister(NodeResizeFinalizeRequest)
|
|
5718
|
-
], NodeResizeFinalizeExecution);
|
|
5719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, decorators: [{
|
|
5720
|
-
type: Injectable
|
|
5721
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
5722
|
-
|
|
5723
5666
|
class NodeResizeDragHandler {
|
|
5724
5667
|
fMediator;
|
|
5725
5668
|
fNode;
|
|
@@ -5734,7 +5677,7 @@ class NodeResizeDragHandler {
|
|
|
5734
5677
|
this.fResizeHandleType = fResizeHandleType;
|
|
5735
5678
|
}
|
|
5736
5679
|
prepareDragSequence() {
|
|
5737
|
-
this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement));
|
|
5680
|
+
this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement, false));
|
|
5738
5681
|
this.restrictions = this.fMediator.send(new GetNodeResizeRestrictionsRequest(this.fNode, this.originalRect));
|
|
5739
5682
|
if (this.restrictions.childRect) {
|
|
5740
5683
|
this.childRestrictions = (rect, restrictionsRect) => {
|
|
@@ -5767,27 +5710,34 @@ class NodeResizeDragHandler {
|
|
|
5767
5710
|
}
|
|
5768
5711
|
}
|
|
5769
5712
|
|
|
5770
|
-
let
|
|
5713
|
+
let NodeResizeFinalizeExecution = class NodeResizeFinalizeExecution {
|
|
5771
5714
|
fDraggableDataContext;
|
|
5772
5715
|
constructor(fDraggableDataContext) {
|
|
5773
5716
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
5774
5717
|
}
|
|
5775
5718
|
handle(request) {
|
|
5719
|
+
if (!this._isValid()) {
|
|
5720
|
+
return;
|
|
5721
|
+
}
|
|
5722
|
+
this.fDraggableDataContext.draggableItems.forEach((x) => {
|
|
5723
|
+
x.onPointerUp?.();
|
|
5724
|
+
});
|
|
5725
|
+
}
|
|
5726
|
+
_isValid() {
|
|
5776
5727
|
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof NodeResizeDragHandler);
|
|
5777
5728
|
}
|
|
5778
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
5779
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
5729
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5730
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution });
|
|
5780
5731
|
};
|
|
5781
|
-
|
|
5782
|
-
|
|
5783
|
-
],
|
|
5784
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type:
|
|
5732
|
+
NodeResizeFinalizeExecution = __decorate([
|
|
5733
|
+
FExecutionRegister(NodeResizeFinalizeRequest)
|
|
5734
|
+
], NodeResizeFinalizeExecution);
|
|
5735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, decorators: [{
|
|
5785
5736
|
type: Injectable
|
|
5786
5737
|
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
5787
5738
|
|
|
5788
5739
|
const NODE_RESIZE_FINALIZE_PROVIDERS = [
|
|
5789
5740
|
NodeResizeFinalizeExecution,
|
|
5790
|
-
NodeResizeFinalizeValidator,
|
|
5791
5741
|
];
|
|
5792
5742
|
|
|
5793
5743
|
class NodeResizePreparationRequest {
|
|
@@ -6029,6 +5979,43 @@ class ExternalItemFinalizeRequest {
|
|
|
6029
5979
|
}
|
|
6030
5980
|
}
|
|
6031
5981
|
|
|
5982
|
+
class ExternalItemDragHandler {
|
|
5983
|
+
externalItem;
|
|
5984
|
+
fBrowser;
|
|
5985
|
+
placeholder;
|
|
5986
|
+
onPointerDownRect = RectExtensions.initialize();
|
|
5987
|
+
difference = PointExtensions.initialize();
|
|
5988
|
+
constructor(externalItem, fBrowser) {
|
|
5989
|
+
this.externalItem = externalItem;
|
|
5990
|
+
this.fBrowser = fBrowser;
|
|
5991
|
+
}
|
|
5992
|
+
getStyle(position) {
|
|
5993
|
+
return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
|
|
5994
|
+
}
|
|
5995
|
+
prepareDragSequence() {
|
|
5996
|
+
this.onPointerDownRect = this.getExternalItemRect();
|
|
5997
|
+
this.placeholder = deepCloneNode(this.externalItem.hostElement);
|
|
5998
|
+
this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
|
|
5999
|
+
this.fBrowser.document.body.appendChild(this.placeholder);
|
|
6000
|
+
}
|
|
6001
|
+
getExternalItemRect() {
|
|
6002
|
+
const rect = this.externalItem.hostElement.getBoundingClientRect();
|
|
6003
|
+
const scrollTop = this.fBrowser.window.pageYOffset || this.fBrowser.document.documentElement.scrollTop;
|
|
6004
|
+
const scrollLeft = this.fBrowser.window.pageXOffset || this.fBrowser.document.documentElement.scrollLeft;
|
|
6005
|
+
const offsetTop = rect.top + scrollTop;
|
|
6006
|
+
const offsetLeft = rect.left + scrollLeft;
|
|
6007
|
+
return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
|
|
6008
|
+
}
|
|
6009
|
+
onPointerMove(difference) {
|
|
6010
|
+
this.difference = difference;
|
|
6011
|
+
const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
|
|
6012
|
+
this.placeholder.setAttribute('style', this.getStyle(position));
|
|
6013
|
+
}
|
|
6014
|
+
onPointerUp() {
|
|
6015
|
+
this.fBrowser.document.body.removeChild(this.placeholder);
|
|
6016
|
+
}
|
|
6017
|
+
}
|
|
6018
|
+
|
|
6032
6019
|
class FCreateNodeEvent {
|
|
6033
6020
|
rect;
|
|
6034
6021
|
data;
|
|
@@ -6059,9 +6046,15 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
|
|
|
6059
6046
|
this.fBrowser = fBrowser;
|
|
6060
6047
|
}
|
|
6061
6048
|
handle(request) {
|
|
6049
|
+
if (!this._isValid()) {
|
|
6050
|
+
return;
|
|
6051
|
+
}
|
|
6062
6052
|
this.emitEvent(this.getExternalItemElementsFromPoint(request.event.getPosition()));
|
|
6063
6053
|
this.dragHandler.onPointerUp();
|
|
6064
6054
|
}
|
|
6055
|
+
_isValid() {
|
|
6056
|
+
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
|
|
6057
|
+
}
|
|
6065
6058
|
getExternalItemElementsFromPoint(position) {
|
|
6066
6059
|
return this.fBrowser.document.elementsFromPoint(position.x, position.y)
|
|
6067
6060
|
.filter(x => !x.closest('.f-external-item'));
|
|
@@ -6075,7 +6068,7 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
|
|
|
6075
6068
|
return elements.length ? this.flowHost.contains(elements[0]) : false;
|
|
6076
6069
|
}
|
|
6077
6070
|
getRectInCanvas() {
|
|
6078
|
-
return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder));
|
|
6071
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
|
|
6079
6072
|
}
|
|
6080
6073
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6081
6074
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
|
|
@@ -6087,64 +6080,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
6087
6080
|
type: Injectable
|
|
6088
6081
|
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }, { type: i1.BrowserService }] });
|
|
6089
6082
|
|
|
6090
|
-
class ExternalItemDragHandler {
|
|
6091
|
-
externalItem;
|
|
6092
|
-
fBrowser;
|
|
6093
|
-
placeholder;
|
|
6094
|
-
onPointerDownRect = RectExtensions.initialize();
|
|
6095
|
-
difference = PointExtensions.initialize();
|
|
6096
|
-
constructor(externalItem, fBrowser) {
|
|
6097
|
-
this.externalItem = externalItem;
|
|
6098
|
-
this.fBrowser = fBrowser;
|
|
6099
|
-
}
|
|
6100
|
-
getStyle(position) {
|
|
6101
|
-
return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
|
|
6102
|
-
}
|
|
6103
|
-
prepareDragSequence() {
|
|
6104
|
-
this.onPointerDownRect = this.getExternalItemRect();
|
|
6105
|
-
this.placeholder = deepCloneNode(this.externalItem.hostElement);
|
|
6106
|
-
this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
|
|
6107
|
-
this.fBrowser.document.body.appendChild(this.placeholder);
|
|
6108
|
-
}
|
|
6109
|
-
getExternalItemRect() {
|
|
6110
|
-
const rect = this.externalItem.hostElement.getBoundingClientRect();
|
|
6111
|
-
const scrollTop = this.fBrowser.window.pageYOffset || this.fBrowser.document.documentElement.scrollTop;
|
|
6112
|
-
const scrollLeft = this.fBrowser.window.pageXOffset || this.fBrowser.document.documentElement.scrollLeft;
|
|
6113
|
-
const offsetTop = rect.top + scrollTop;
|
|
6114
|
-
const offsetLeft = rect.left + scrollLeft;
|
|
6115
|
-
return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
|
|
6116
|
-
}
|
|
6117
|
-
onPointerMove(difference) {
|
|
6118
|
-
this.difference = difference;
|
|
6119
|
-
const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
|
|
6120
|
-
this.placeholder.setAttribute('style', this.getStyle(position));
|
|
6121
|
-
}
|
|
6122
|
-
onPointerUp() {
|
|
6123
|
-
this.fBrowser.document.body.removeChild(this.placeholder);
|
|
6124
|
-
}
|
|
6125
|
-
}
|
|
6126
|
-
|
|
6127
|
-
let ExternalItemFinalizeValidator = class ExternalItemFinalizeValidator {
|
|
6128
|
-
fDraggableDataContext;
|
|
6129
|
-
constructor(fDraggableDataContext) {
|
|
6130
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
6131
|
-
}
|
|
6132
|
-
handle(request) {
|
|
6133
|
-
return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
|
|
6134
|
-
}
|
|
6135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6136
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator });
|
|
6137
|
-
};
|
|
6138
|
-
ExternalItemFinalizeValidator = __decorate([
|
|
6139
|
-
FValidatorRegister(ExternalItemFinalizeRequest)
|
|
6140
|
-
], ExternalItemFinalizeValidator);
|
|
6141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator, decorators: [{
|
|
6142
|
-
type: Injectable
|
|
6143
|
-
}], ctorParameters: () => [{ type: FDraggableDataContext }] });
|
|
6144
|
-
|
|
6145
6083
|
const EXTERNAL_ITEM_FINALIZE_PROVIDERS = [
|
|
6146
6084
|
ExternalItemFinalizeExecution,
|
|
6147
|
-
ExternalItemFinalizeValidator,
|
|
6148
6085
|
];
|
|
6149
6086
|
|
|
6150
6087
|
class ExternalItemPreparationRequest {
|
|
@@ -6408,24 +6345,24 @@ class FDraggableDirective extends FDraggableBase {
|
|
|
6408
6345
|
}
|
|
6409
6346
|
onSelect(event) {
|
|
6410
6347
|
this.plugins.forEach((x) => x.onSelect?.(event));
|
|
6411
|
-
this._fMediator.
|
|
6348
|
+
this._fMediator.execute(new PreventDefaultIsExternalItemRequest(event));
|
|
6412
6349
|
}
|
|
6413
6350
|
onPointerMove(event) {
|
|
6414
|
-
this._fMediator.
|
|
6351
|
+
this._fMediator.execute(new OnPointerMoveRequest(event));
|
|
6415
6352
|
}
|
|
6416
6353
|
onPointerUp(event) {
|
|
6417
6354
|
this.plugins.forEach((x) => x.onPointerUp?.(event));
|
|
6418
|
-
this._fMediator.
|
|
6419
|
-
this._fMediator.
|
|
6420
|
-
this._fMediator.
|
|
6421
|
-
this._fMediator.
|
|
6422
|
-
this._fMediator.
|
|
6355
|
+
this._fMediator.execute(new ReassignConnectionFinalizeRequest(event));
|
|
6356
|
+
this._fMediator.execute(new CreateConnectionFinalizeRequest(event));
|
|
6357
|
+
this._fMediator.execute(new NodeResizeFinalizeRequest(event));
|
|
6358
|
+
this._fMediator.execute(new NodeMoveFinalizeRequest(event));
|
|
6359
|
+
this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
|
|
6423
6360
|
this._fMediator.send(new CanvasMoveFinalizeRequest(event));
|
|
6424
|
-
this._fMediator.
|
|
6425
|
-
this._fMediator.
|
|
6361
|
+
this._fMediator.execute(new ExternalItemFinalizeRequest(event));
|
|
6362
|
+
this._fMediator.execute(new EndDragSequenceRequest());
|
|
6426
6363
|
}
|
|
6427
6364
|
finalizeDragSequence() {
|
|
6428
|
-
this._fMediator.
|
|
6365
|
+
this._fMediator.execute(new EmitSelectionChangeEventRequest());
|
|
6429
6366
|
}
|
|
6430
6367
|
ngOnDestroy() {
|
|
6431
6368
|
this._fMediator.send(new RemoveDndFromStoreRequest());
|
|
@@ -7153,7 +7090,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
|
|
|
7153
7090
|
return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
7154
7091
|
return {
|
|
7155
7092
|
element: x,
|
|
7156
|
-
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale)
|
|
7093
|
+
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false)), this.transform.scale)
|
|
7157
7094
|
};
|
|
7158
7095
|
});
|
|
7159
7096
|
}
|
|
@@ -7161,7 +7098,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
|
|
|
7161
7098
|
return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
7162
7099
|
return {
|
|
7163
7100
|
element: x,
|
|
7164
|
-
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale)
|
|
7101
|
+
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement, false)), this.transform.scale)
|
|
7165
7102
|
};
|
|
7166
7103
|
});
|
|
7167
7104
|
}
|
|
@@ -8758,110 +8695,6 @@ class LineService {
|
|
|
8758
8695
|
}
|
|
8759
8696
|
}
|
|
8760
8697
|
|
|
8761
|
-
/**
|
|
8762
|
-
* A class to find the nearest coordinate.
|
|
8763
|
-
*/
|
|
8764
|
-
class NearestCoordinateFinder {
|
|
8765
|
-
alignThreshold;
|
|
8766
|
-
elements;
|
|
8767
|
-
target;
|
|
8768
|
-
/**
|
|
8769
|
-
* Constructor to initialize the NearestCoordinateFinder.
|
|
8770
|
-
* @param elements - The array of IRect elements.
|
|
8771
|
-
* @param target - The target IRect element.
|
|
8772
|
-
* @param alignThreshold - The threshold to align the elements.
|
|
8773
|
-
*/
|
|
8774
|
-
constructor(elements, target, alignThreshold = 10) {
|
|
8775
|
-
this.alignThreshold = alignThreshold;
|
|
8776
|
-
this.elements = elements;
|
|
8777
|
-
this.target = target;
|
|
8778
|
-
}
|
|
8779
|
-
/**
|
|
8780
|
-
* Finds the nearest coordinate on a specified axis.
|
|
8781
|
-
* @returns The nearest coordinate and its distance.
|
|
8782
|
-
*/
|
|
8783
|
-
findNearestCoordinateByX() {
|
|
8784
|
-
let nearest;
|
|
8785
|
-
let minDistance;
|
|
8786
|
-
for (const element of this.elements) {
|
|
8787
|
-
const distanceLeftLeft = this.target.x - element.x;
|
|
8788
|
-
const distanceLeftRight = this.target.x - (element.x + element.width);
|
|
8789
|
-
const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
|
|
8790
|
-
const distanceRightLeft = (this.target.x + this.target.width) - element.x;
|
|
8791
|
-
const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
|
|
8792
|
-
if (Math.abs(distanceLeftLeft) <= this.alignThreshold ||
|
|
8793
|
-
Math.abs(distanceLeftRight) <= this.alignThreshold ||
|
|
8794
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
8795
|
-
Math.abs(distanceRightLeft) <= this.alignThreshold ||
|
|
8796
|
-
Math.abs(distanceRightRight) <= this.alignThreshold) {
|
|
8797
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
8798
|
-
minDistance = distanceCenterCenter;
|
|
8799
|
-
nearest = element.gravityCenter.x;
|
|
8800
|
-
}
|
|
8801
|
-
if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
|
|
8802
|
-
minDistance = distanceLeftLeft;
|
|
8803
|
-
nearest = element.x;
|
|
8804
|
-
}
|
|
8805
|
-
if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
|
|
8806
|
-
minDistance = distanceRightRight;
|
|
8807
|
-
nearest = element.x + element.width;
|
|
8808
|
-
}
|
|
8809
|
-
if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
|
|
8810
|
-
minDistance = distanceLeftRight;
|
|
8811
|
-
nearest = element.x + element.width;
|
|
8812
|
-
}
|
|
8813
|
-
if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
|
|
8814
|
-
minDistance = distanceRightLeft;
|
|
8815
|
-
nearest = element.x;
|
|
8816
|
-
}
|
|
8817
|
-
}
|
|
8818
|
-
}
|
|
8819
|
-
return { value: nearest, distance: minDistance };
|
|
8820
|
-
}
|
|
8821
|
-
/**
|
|
8822
|
-
* Finds the nearest coordinate on a specified axis.
|
|
8823
|
-
* @returns The nearest coordinate and its distance.
|
|
8824
|
-
*/
|
|
8825
|
-
findNearestCoordinateByY() {
|
|
8826
|
-
let nearest;
|
|
8827
|
-
let minDistance;
|
|
8828
|
-
for (const element of this.elements) {
|
|
8829
|
-
const distanceTopTop = this.target.y - element.y;
|
|
8830
|
-
const distanceTopBottom = this.target.y - (element.y + element.height);
|
|
8831
|
-
const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
|
|
8832
|
-
const distanceBottomTop = (this.target.y + this.target.height) - element.y;
|
|
8833
|
-
const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
|
|
8834
|
-
if (Math.abs(distanceTopTop) <= this.alignThreshold ||
|
|
8835
|
-
Math.abs(distanceTopBottom) <= this.alignThreshold ||
|
|
8836
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
8837
|
-
Math.abs(distanceBottomTop) <= this.alignThreshold ||
|
|
8838
|
-
Math.abs(distanceBottomBottom) <= this.alignThreshold) {
|
|
8839
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
8840
|
-
minDistance = distanceCenterCenter;
|
|
8841
|
-
nearest = element.gravityCenter.y;
|
|
8842
|
-
}
|
|
8843
|
-
if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
|
|
8844
|
-
minDistance = distanceTopTop;
|
|
8845
|
-
nearest = element.y;
|
|
8846
|
-
}
|
|
8847
|
-
if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
|
|
8848
|
-
minDistance = distanceBottomBottom;
|
|
8849
|
-
nearest = element.y + element.height;
|
|
8850
|
-
}
|
|
8851
|
-
if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
|
|
8852
|
-
minDistance = distanceTopBottom;
|
|
8853
|
-
nearest = element.y + element.height;
|
|
8854
|
-
}
|
|
8855
|
-
if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
|
|
8856
|
-
minDistance = distanceBottomTop;
|
|
8857
|
-
nearest = element.y;
|
|
8858
|
-
}
|
|
8859
|
-
}
|
|
8860
|
-
}
|
|
8861
|
-
return { value: nearest, distance: minDistance };
|
|
8862
|
-
}
|
|
8863
|
-
}
|
|
8864
|
-
|
|
8865
8698
|
const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
|
|
8866
8699
|
class FLineAlignmentBase {
|
|
8867
8700
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -8874,6 +8707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
8874
8707
|
class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
8875
8708
|
elementReference;
|
|
8876
8709
|
fDraggableDataContext;
|
|
8710
|
+
DEBOUNCE_TIME = 10;
|
|
8877
8711
|
fAlignThreshold = 10;
|
|
8878
8712
|
get hostElement() {
|
|
8879
8713
|
return this.elementReference.nativeElement;
|
|
@@ -8884,12 +8718,10 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8884
8718
|
rects = [];
|
|
8885
8719
|
_fMediator = inject(FMediator);
|
|
8886
8720
|
_fCanvas;
|
|
8721
|
+
_debounceTimer = null;
|
|
8887
8722
|
get _transform() {
|
|
8888
8723
|
return this._fCanvas.transform;
|
|
8889
8724
|
}
|
|
8890
|
-
get _fFlowHostElement() {
|
|
8891
|
-
return this._fMediator.send(new GetFlowHostElementRequest());
|
|
8892
|
-
}
|
|
8893
8725
|
constructor(elementReference, fDraggableDataContext, fBrowser) {
|
|
8894
8726
|
super();
|
|
8895
8727
|
this.elementReference = elementReference;
|
|
@@ -8901,21 +8733,24 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8901
8733
|
this.fDraggableDataContext.fLineAlignment = this;
|
|
8902
8734
|
}
|
|
8903
8735
|
initialize(allNodes, currentNodes) {
|
|
8904
|
-
this.size = this.
|
|
8736
|
+
this.size = this._fMediator.send(new GetFlowHostElementRequest()).getBoundingClientRect();
|
|
8905
8737
|
this.rects = [];
|
|
8906
8738
|
const draggedNodeRects = currentNodes.map((x) => {
|
|
8907
|
-
return this._fMediator.
|
|
8739
|
+
return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
8908
8740
|
});
|
|
8909
8741
|
this.draggedNodeRect = RectExtensions.union(draggedNodeRects) || RectExtensions.initialize();
|
|
8910
8742
|
const allNodesExcludeCurrents = allNodes.filter((x) => {
|
|
8911
8743
|
return !currentNodes.includes(x);
|
|
8912
8744
|
});
|
|
8913
8745
|
this.rects = allNodesExcludeCurrents.map((x) => {
|
|
8914
|
-
return this._fMediator.
|
|
8746
|
+
return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
8915
8747
|
});
|
|
8916
8748
|
}
|
|
8917
8749
|
handle(difference) {
|
|
8918
|
-
this.
|
|
8750
|
+
if (this._debounceTimer) {
|
|
8751
|
+
clearTimeout(this._debounceTimer);
|
|
8752
|
+
}
|
|
8753
|
+
this._debounceTimer = setTimeout(() => this.drawIntersectingLines(difference), this.DEBOUNCE_TIME);
|
|
8919
8754
|
}
|
|
8920
8755
|
drawIntersectingLines(difference) {
|
|
8921
8756
|
const intersect = this.findNearestCoordinate(difference);
|
|
@@ -8934,12 +8769,15 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8934
8769
|
}
|
|
8935
8770
|
findNearestCoordinate(difference) {
|
|
8936
8771
|
const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
|
|
8937
|
-
|
|
8938
|
-
return { xResult: finder.findNearestCoordinateByX(), yResult: finder.findNearestCoordinateByY() };
|
|
8772
|
+
return findClosestAlignment(this.rects, rect, this.fAlignThreshold);
|
|
8939
8773
|
}
|
|
8940
8774
|
complete() {
|
|
8941
8775
|
this.lineService.hideVerticalLine();
|
|
8942
8776
|
this.lineService.hideHorizontalLine();
|
|
8777
|
+
if (this._debounceTimer) {
|
|
8778
|
+
clearTimeout(this._debounceTimer);
|
|
8779
|
+
this._debounceTimer = null;
|
|
8780
|
+
}
|
|
8943
8781
|
}
|
|
8944
8782
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: FDraggableDataContext }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8945
8783
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FLineAlignmentComponent, selector: "f-line-alignment", inputs: { fAlignThreshold: "fAlignThreshold" }, host: { classAttribute: "f-line-alignment f-component" }, providers: [
|
|
@@ -9413,5 +9251,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
9413
9251
|
* Generated bundle index. Do not edit.
|
|
9414
9252
|
*/
|
|
9415
9253
|
|
|
9416
|
-
export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputUsingSnapThresholdExecution, FindClosestInputUsingSnapThresholdRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NearestCoordinateFinder, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
|
|
9254
|
+
export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputExecution, FindClosestInputRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
|
|
9417
9255
|
//# sourceMappingURL=foblex-flow.mjs.map
|