@foblex/flow 17.0.5 → 17.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/f-draggable/providers.d.ts +1 -1
- package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.execution.d.ts +2 -4
- package/domain/f-node/index.d.ts +2 -0
- package/domain/f-node/providers.d.ts +3 -1
- 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-node/get-node-padding/get-node-padding.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +9 -0
- package/esm2022/domain/f-node/get-node-padding/index.mjs +3 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
- package/esm2022/domain/f-node/get-parent-nodes/index.mjs +3 -0
- package/esm2022/domain/f-node/index.mjs +3 -1
- package/esm2022/domain/f-node/providers.mjs +5 -1
- 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/connections/create-connection/create-connection.drag-handler.mjs +33 -19
- 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 +6 -6
- package/esm2022/f-draggable/domain/index.mjs +1 -4
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
- package/esm2022/f-draggable/domain/providers.mjs +1 -7
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
- 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/create-move-nodes-drag-model-from-selection.execution.mjs +32 -35
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +12 -15
- 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/node-move-finalize.execution.mjs +37 -31
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +41 -43
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +19 -23
- package/esm2022/f-draggable/node/node.drag-handler.mjs +25 -10
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +3 -2
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +4 -5
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +3 -3
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-flow.module.mjs +1 -1
- package/esm2022/f-line-alignment/domain/index.mjs +1 -2
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +17 -12
- package/esm2022/f-node/f-drag-handle.directive.mjs +22 -0
- package/esm2022/f-node/index.mjs +3 -3
- package/esm2022/f-node/is-node.mjs +4 -0
- package/esm2022/f-node/providers.mjs +2 -2
- package/f-backgroud/providers.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +8 -4
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +7 -4
- package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +1 -1
- package/f-draggable/domain/index.d.ts +0 -3
- package/f-draggable/domain/providers.d.ts +1 -4
- package/f-draggable/f-draggable-base.d.ts +2 -0
- package/f-draggable/f-draggable.directive.d.ts +4 -2
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +7 -9
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +3 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- 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/node-move-finalize.execution.d.ts +11 -11
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +11 -14
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +6 -9
- package/f-draggable/node/node.drag-handler.d.ts +9 -5
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-flow.module.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-minimap/domain/providers.d.ts +1 -1
- package/f-node/{f-drag-handle/f-drag-handle.directive.d.ts → f-drag-handle.directive.d.ts} +1 -1
- package/f-node/index.d.ts +2 -2
- package/f-node/providers.d.ts +2 -2
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +409 -482
- 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/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
- package/esm2022/f-draggable/domain/get-node-padding/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +0 -3
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
- package/esm2022/f-node/domain/index.mjs +0 -2
- package/esm2022/f-node/domain/is-node.mjs +0 -4
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -22
- package/esm2022/f-node/f-drag-handle/index.mjs +0 -2
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +0 -13
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +0 -5
- package/f-draggable/domain/get-normalized-node-rect/index.d.ts +0 -2
- package/f-line-alignment/domain/nearest-coordinate.d.ts +0 -27
- package/f-node/domain/index.d.ts +0 -1
- package/f-node/f-drag-handle/index.d.ts +0 -1
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/index.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/index.d.ts +0 -0
- /package/f-node/{domain/is-node.d.ts → is-node.d.ts} +0 -0
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;
|
|
@@ -1244,30 +1244,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
1244
1244
|
type: Directive
|
|
1245
1245
|
}] });
|
|
1246
1246
|
|
|
1247
|
-
function isNode(element) {
|
|
1248
|
-
return !!element.closest('[fNode]');
|
|
1249
|
-
}
|
|
1250
|
-
|
|
1251
|
-
const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
|
|
1252
|
-
class FDragHandleDirective {
|
|
1253
|
-
_elementReference = inject(ElementRef);
|
|
1254
|
-
get hostElement() {
|
|
1255
|
-
return this._elementReference.nativeElement;
|
|
1256
|
-
}
|
|
1257
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1258
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 });
|
|
1259
|
-
}
|
|
1260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
|
|
1261
|
-
type: Directive,
|
|
1262
|
-
args: [{
|
|
1263
|
-
selector: "[fDragHandle]",
|
|
1264
|
-
host: {
|
|
1265
|
-
class: "f-drag-handle f-component"
|
|
1266
|
-
},
|
|
1267
|
-
providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
|
|
1268
|
-
}]
|
|
1269
|
-
}] });
|
|
1270
|
-
|
|
1271
1247
|
var EFResizeHandleType;
|
|
1272
1248
|
(function (EFResizeHandleType) {
|
|
1273
1249
|
EFResizeHandleType["LEFT_TOP"] = "left-top";
|
|
@@ -1338,6 +1314,26 @@ class FRotateHandleDirective {
|
|
|
1338
1314
|
}
|
|
1339
1315
|
}
|
|
1340
1316
|
|
|
1317
|
+
const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
|
|
1318
|
+
class FDragHandleDirective {
|
|
1319
|
+
_elementReference = inject(ElementRef);
|
|
1320
|
+
get hostElement() {
|
|
1321
|
+
return this._elementReference.nativeElement;
|
|
1322
|
+
}
|
|
1323
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1324
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 });
|
|
1325
|
+
}
|
|
1326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
|
|
1327
|
+
type: Directive,
|
|
1328
|
+
args: [{
|
|
1329
|
+
selector: "[fDragHandle]",
|
|
1330
|
+
host: {
|
|
1331
|
+
class: "f-drag-handle f-component"
|
|
1332
|
+
},
|
|
1333
|
+
providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
|
|
1334
|
+
}]
|
|
1335
|
+
}] });
|
|
1336
|
+
|
|
1341
1337
|
const F_SELECTED_CLASS = 'f-selected';
|
|
1342
1338
|
function mixinChangeSelection(base) {
|
|
1343
1339
|
return class extends base {
|
|
@@ -1659,6 +1655,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
1659
1655
|
type: Input
|
|
1660
1656
|
}] } });
|
|
1661
1657
|
|
|
1658
|
+
function isNode(element) {
|
|
1659
|
+
return !!element.closest('[fNode]');
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
1662
|
const F_NODE_PROVIDERS = [
|
|
1663
1663
|
FGroupDirective,
|
|
1664
1664
|
FNodeDirective,
|
|
@@ -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,
|
|
@@ -3789,34 +3787,42 @@ class CreateConnectionDragHandler {
|
|
|
3789
3787
|
this.onPointerDownPosition = onPointerDownPosition;
|
|
3790
3788
|
}
|
|
3791
3789
|
prepareDragSequence() {
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
|
|
3796
|
-
}
|
|
3797
|
-
this.fConnection.fOutputId = this.fOutput.fId;
|
|
3798
|
-
this.fConnection.initialize();
|
|
3790
|
+
this._initializeSnapConnection();
|
|
3791
|
+
this._initializeConnectionForCreate();
|
|
3792
|
+
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
|
|
3799
3793
|
this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
|
|
3800
3794
|
this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
|
|
3801
3795
|
this.fConnection.show();
|
|
3802
3796
|
this.onPointerMove(PointExtensions.initialize());
|
|
3803
3797
|
}
|
|
3798
|
+
_initializeSnapConnection() {
|
|
3799
|
+
if (!this.fSnapConnection) {
|
|
3800
|
+
return;
|
|
3801
|
+
}
|
|
3802
|
+
this.fSnapConnection.fOutputId = this.fOutput.fId;
|
|
3803
|
+
this.fSnapConnection.initialize();
|
|
3804
|
+
}
|
|
3805
|
+
_initializeConnectionForCreate() {
|
|
3806
|
+
this.fConnection.fOutputId = this.fOutput.fId;
|
|
3807
|
+
this.fConnection.initialize();
|
|
3808
|
+
}
|
|
3804
3809
|
onPointerMove(difference) {
|
|
3805
|
-
this.
|
|
3810
|
+
const fClosestInput = this._findClosestInput(difference);
|
|
3811
|
+
this._drawConnectionForCreate(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
|
|
3806
3812
|
if (this.fSnapConnection) {
|
|
3807
|
-
this.
|
|
3813
|
+
this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
|
|
3808
3814
|
}
|
|
3809
3815
|
}
|
|
3810
|
-
|
|
3811
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide,
|
|
3812
|
-
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
3816
|
+
_drawConnectionForCreate(fInputRect, fSide) {
|
|
3817
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
3818
|
+
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
|
|
3813
3819
|
this.fConnection.redraw();
|
|
3814
3820
|
}
|
|
3815
|
-
|
|
3816
|
-
if (
|
|
3817
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect,
|
|
3821
|
+
_drawSnapConnection(fClosestInput) {
|
|
3822
|
+
if (fClosestInput) {
|
|
3823
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
3818
3824
|
this.fSnapConnection.show();
|
|
3819
|
-
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
3825
|
+
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
|
|
3820
3826
|
this.fSnapConnection.redraw();
|
|
3821
3827
|
}
|
|
3822
3828
|
else {
|
|
@@ -3827,7 +3833,13 @@ class CreateConnectionDragHandler {
|
|
|
3827
3833
|
if (!this.fSnapConnection) {
|
|
3828
3834
|
return undefined;
|
|
3829
3835
|
}
|
|
3830
|
-
return this.
|
|
3836
|
+
return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
|
|
3837
|
+
}
|
|
3838
|
+
_findClosestInput(difference) {
|
|
3839
|
+
return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
|
|
3840
|
+
}
|
|
3841
|
+
_getClosestInputForSnapConnection(fClosestInput) {
|
|
3842
|
+
return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
|
|
3831
3843
|
}
|
|
3832
3844
|
onPointerUp() {
|
|
3833
3845
|
this.fConnection.redraw();
|
|
@@ -4168,15 +4180,19 @@ class ReassignConnectionDragHandler {
|
|
|
4168
4180
|
this.fConnection = fConnection;
|
|
4169
4181
|
}
|
|
4170
4182
|
prepareDragSequence() {
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
this.fSnapConnection.initialize();
|
|
4174
|
-
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
|
|
4175
|
-
}
|
|
4183
|
+
this._initializeSnapConnection();
|
|
4184
|
+
this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
|
|
4176
4185
|
this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getOutput()));
|
|
4177
4186
|
this.fInputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getInput()));
|
|
4178
4187
|
this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.fConnection.line.point2.x, this.fConnection.line.point2.y));
|
|
4179
4188
|
}
|
|
4189
|
+
_initializeSnapConnection() {
|
|
4190
|
+
if (!this.fSnapConnection) {
|
|
4191
|
+
return;
|
|
4192
|
+
}
|
|
4193
|
+
this.fSnapConnection.fOutputId = this.fConnection.fOutputId;
|
|
4194
|
+
this.fSnapConnection.initialize();
|
|
4195
|
+
}
|
|
4180
4196
|
getOutput() {
|
|
4181
4197
|
return this.fComponentsStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
|
|
4182
4198
|
}
|
|
@@ -4184,24 +4200,22 @@ class ReassignConnectionDragHandler {
|
|
|
4184
4200
|
return this.fComponentsStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
|
|
4185
4201
|
}
|
|
4186
4202
|
onPointerMove(difference) {
|
|
4187
|
-
this.
|
|
4188
|
-
|
|
4189
|
-
fConnector: this.fInputWithRect.fConnector
|
|
4190
|
-
});
|
|
4203
|
+
const fClosestInput = this._findClosestInput(difference);
|
|
4204
|
+
this._drawConnection(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this.fInputWithRect.fConnector.fConnectableSide);
|
|
4191
4205
|
if (this.fSnapConnection) {
|
|
4192
|
-
this.
|
|
4206
|
+
this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
|
|
4193
4207
|
}
|
|
4194
4208
|
}
|
|
4195
|
-
|
|
4196
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect,
|
|
4197
|
-
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
4209
|
+
_drawConnection(fInputRect, fSide) {
|
|
4210
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
4211
|
+
this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
|
|
4198
4212
|
this.fConnection.redraw();
|
|
4199
4213
|
}
|
|
4200
|
-
|
|
4201
|
-
if (
|
|
4202
|
-
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect,
|
|
4214
|
+
_drawSnapConnection(fClosestInput) {
|
|
4215
|
+
if (fClosestInput) {
|
|
4216
|
+
const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
4203
4217
|
this.fSnapConnection.show();
|
|
4204
|
-
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2,
|
|
4218
|
+
this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
|
|
4205
4219
|
this.fSnapConnection.redraw();
|
|
4206
4220
|
}
|
|
4207
4221
|
else {
|
|
@@ -4212,10 +4226,16 @@ class ReassignConnectionDragHandler {
|
|
|
4212
4226
|
if (!this.fSnapConnection) {
|
|
4213
4227
|
return undefined;
|
|
4214
4228
|
}
|
|
4215
|
-
return this.
|
|
4229
|
+
return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
|
|
4230
|
+
}
|
|
4231
|
+
_findClosestInput(difference) {
|
|
4232
|
+
return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
|
|
4233
|
+
}
|
|
4234
|
+
_getClosestInputForSnapConnection(fClosestInput) {
|
|
4235
|
+
return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
|
|
4216
4236
|
}
|
|
4217
4237
|
onPointerUp() {
|
|
4218
|
-
this.
|
|
4238
|
+
this._drawConnection(this.fInputWithRect.fRect, this.fInputWithRect.fConnector.fConnectableSide);
|
|
4219
4239
|
this.fSnapConnection?.hide();
|
|
4220
4240
|
}
|
|
4221
4241
|
}
|
|
@@ -4355,71 +4375,6 @@ const CONNECTIONS_PROVIDERS = [
|
|
|
4355
4375
|
ReassignConnectionPreparationValidator,
|
|
4356
4376
|
];
|
|
4357
4377
|
|
|
4358
|
-
class GetNodePaddingRequest {
|
|
4359
|
-
fNode;
|
|
4360
|
-
rect;
|
|
4361
|
-
constructor(fNode, rect) {
|
|
4362
|
-
this.fNode = fNode;
|
|
4363
|
-
this.rect = rect;
|
|
4364
|
-
}
|
|
4365
|
-
}
|
|
4366
|
-
|
|
4367
|
-
let GetNodePaddingExecution = class GetNodePaddingExecution {
|
|
4368
|
-
fBrowser;
|
|
4369
|
-
constructor(fBrowser) {
|
|
4370
|
-
this.fBrowser = fBrowser;
|
|
4371
|
-
}
|
|
4372
|
-
handle(request) {
|
|
4373
|
-
return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
|
|
4374
|
-
}
|
|
4375
|
-
getPaddingData(node, rect) {
|
|
4376
|
-
const style = this.fBrowser.window.getComputedStyle(node.hostElement);
|
|
4377
|
-
return [
|
|
4378
|
-
this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
|
|
4379
|
-
this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
|
|
4380
|
-
this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
|
|
4381
|
-
this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
|
|
4382
|
-
];
|
|
4383
|
-
}
|
|
4384
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4385
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
|
|
4386
|
-
};
|
|
4387
|
-
GetNodePaddingExecution = __decorate([
|
|
4388
|
-
FExecutionRegister(GetNodePaddingRequest)
|
|
4389
|
-
], GetNodePaddingExecution);
|
|
4390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
|
|
4391
|
-
type: Injectable
|
|
4392
|
-
}], ctorParameters: () => [{ type: i1.BrowserService }] });
|
|
4393
|
-
|
|
4394
|
-
class GetNormalizedNodeRectRequest {
|
|
4395
|
-
fNode;
|
|
4396
|
-
constructor(fNode) {
|
|
4397
|
-
this.fNode = fNode;
|
|
4398
|
-
}
|
|
4399
|
-
}
|
|
4400
|
-
|
|
4401
|
-
let GetNormalizedNodeRectExecution = class GetNormalizedNodeRectExecution {
|
|
4402
|
-
fComponentsStore;
|
|
4403
|
-
constructor(fComponentsStore) {
|
|
4404
|
-
this.fComponentsStore = fComponentsStore;
|
|
4405
|
-
}
|
|
4406
|
-
handle(request) {
|
|
4407
|
-
return this.normalizeRect(RectExtensions.fromElement(request.fNode.hostElement), request.fNode.position);
|
|
4408
|
-
}
|
|
4409
|
-
normalizeRect(scaledRect, position) {
|
|
4410
|
-
const rect = RectExtensions.div(scaledRect, this.fComponentsStore.fCanvas.transform.scale);
|
|
4411
|
-
return RectExtensions.initialize(position.x, position.y, rect.width, rect.height);
|
|
4412
|
-
}
|
|
4413
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4414
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution });
|
|
4415
|
-
};
|
|
4416
|
-
GetNormalizedNodeRectExecution = __decorate([
|
|
4417
|
-
FExecutionRegister(GetNormalizedNodeRectRequest)
|
|
4418
|
-
], GetNormalizedNodeRectExecution);
|
|
4419
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, decorators: [{
|
|
4420
|
-
type: Injectable
|
|
4421
|
-
}], ctorParameters: () => [{ type: FComponentsStore }] });
|
|
4422
|
-
|
|
4423
4378
|
class GetNormalizedParentNodeRectRequest {
|
|
4424
4379
|
fNode;
|
|
4425
4380
|
constructor(fNode) {
|
|
@@ -4446,12 +4401,12 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
|
|
|
4446
4401
|
return this.fComponentsStore.fNodes.find((x) => x.fId === fId);
|
|
4447
4402
|
}
|
|
4448
4403
|
getParentRect(node) {
|
|
4449
|
-
const rect = this.
|
|
4404
|
+
const rect = this._getNodeRect(node);
|
|
4450
4405
|
const padding = this.getNodePadding(node, rect);
|
|
4451
4406
|
return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
|
|
4452
4407
|
}
|
|
4453
|
-
|
|
4454
|
-
return this.fMediator.send(new
|
|
4408
|
+
_getNodeRect(fNode) {
|
|
4409
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
4455
4410
|
}
|
|
4456
4411
|
getNodePadding(node, rect) {
|
|
4457
4412
|
return this.fMediator.send(new GetNodePaddingRequest(node, rect));
|
|
@@ -4466,6 +4421,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
4466
4421
|
type: Injectable
|
|
4467
4422
|
}], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
|
|
4468
4423
|
|
|
4424
|
+
class IsArrayHasParentNodeRequest {
|
|
4425
|
+
fNode;
|
|
4426
|
+
fNodes;
|
|
4427
|
+
constructor(fNode, fNodes) {
|
|
4428
|
+
this.fNode = fNode;
|
|
4429
|
+
this.fNodes = fNodes;
|
|
4430
|
+
}
|
|
4431
|
+
}
|
|
4432
|
+
|
|
4469
4433
|
class GetParentNodesRequest {
|
|
4470
4434
|
fNode;
|
|
4471
4435
|
constructor(fNode) {
|
|
@@ -4474,26 +4438,23 @@ class GetParentNodesRequest {
|
|
|
4474
4438
|
}
|
|
4475
4439
|
|
|
4476
4440
|
let GetParentNodesExecution = class GetParentNodesExecution {
|
|
4477
|
-
|
|
4478
|
-
constructor(fComponentsStore) {
|
|
4479
|
-
this.fComponentsStore = fComponentsStore;
|
|
4480
|
-
}
|
|
4441
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
4481
4442
|
handle(request) {
|
|
4482
|
-
return this.
|
|
4443
|
+
return this._getParentNodes(request.fNode, new Set(), []);
|
|
4483
4444
|
}
|
|
4484
|
-
|
|
4445
|
+
_getParentNodes(fNode, visited, result) {
|
|
4485
4446
|
if (visited.has(fNode.fId)) {
|
|
4486
4447
|
throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fNode.fId);
|
|
4487
4448
|
}
|
|
4488
4449
|
visited.add(fNode.fId);
|
|
4489
|
-
const parent = this.
|
|
4450
|
+
const parent = this._fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
|
|
4490
4451
|
if (!parent) {
|
|
4491
4452
|
return result;
|
|
4492
4453
|
}
|
|
4493
4454
|
result.push(parent);
|
|
4494
|
-
return this.
|
|
4455
|
+
return this._getParentNodes(parent, visited, result);
|
|
4495
4456
|
}
|
|
4496
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [
|
|
4457
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4497
4458
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution });
|
|
4498
4459
|
};
|
|
4499
4460
|
GetParentNodesExecution = __decorate([
|
|
@@ -4501,16 +4462,7 @@ GetParentNodesExecution = __decorate([
|
|
|
4501
4462
|
], GetParentNodesExecution);
|
|
4502
4463
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, decorators: [{
|
|
4503
4464
|
type: Injectable
|
|
4504
|
-
}]
|
|
4505
|
-
|
|
4506
|
-
class IsArrayHasParentNodeRequest {
|
|
4507
|
-
fNode;
|
|
4508
|
-
fNodes;
|
|
4509
|
-
constructor(fNode, fNodes) {
|
|
4510
|
-
this.fNode = fNode;
|
|
4511
|
-
this.fNodes = fNodes;
|
|
4512
|
-
}
|
|
4513
|
-
}
|
|
4465
|
+
}] });
|
|
4514
4466
|
|
|
4515
4467
|
let IsArrayHasParentNodeExecution = class IsArrayHasParentNodeExecution {
|
|
4516
4468
|
fMediator;
|
|
@@ -4597,7 +4549,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
|
4597
4549
|
return connectors.map((x) => x.fId);
|
|
4598
4550
|
}
|
|
4599
4551
|
_calculateConnectionsUnderNode(fNode) {
|
|
4600
|
-
const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
|
|
4552
|
+
const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, true));
|
|
4601
4553
|
return this._fComponentsStore.fConnections.filter((x) => {
|
|
4602
4554
|
return this._isConnectionHasIntersectionsWithNode(x, fNodeRect);
|
|
4603
4555
|
});
|
|
@@ -4632,10 +4584,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
4632
4584
|
}] });
|
|
4633
4585
|
|
|
4634
4586
|
const DRAG_AND_DROP_COMMON_PROVIDERS = [
|
|
4635
|
-
GetNodePaddingExecution,
|
|
4636
|
-
GetNormalizedNodeRectExecution,
|
|
4637
4587
|
GetNormalizedParentNodeRectExecution,
|
|
4638
|
-
GetParentNodesExecution,
|
|
4639
4588
|
IsArrayHasParentNodeExecution,
|
|
4640
4589
|
IsConnectionUnderNodeExecution,
|
|
4641
4590
|
IsConnectionUnderNodeValidator,
|
|
@@ -4702,7 +4651,7 @@ class ConnectionBaseDragHandler {
|
|
|
4702
4651
|
connectorNotFoundPrefix(message) {
|
|
4703
4652
|
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`;
|
|
4704
4653
|
}
|
|
4705
|
-
|
|
4654
|
+
getRestrictedDifference(difference, restrictions) {
|
|
4706
4655
|
return {
|
|
4707
4656
|
x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
|
|
4708
4657
|
y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
|
|
@@ -4735,7 +4684,7 @@ class ConnectionDragHandler extends ConnectionBaseDragHandler {
|
|
|
4735
4684
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4736
4685
|
}
|
|
4737
4686
|
getNewLineValue(difference) {
|
|
4738
|
-
return this.fMediator.
|
|
4687
|
+
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));
|
|
4739
4688
|
}
|
|
4740
4689
|
}
|
|
4741
4690
|
|
|
@@ -4751,7 +4700,7 @@ class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
|
|
|
4751
4700
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4752
4701
|
}
|
|
4753
4702
|
getNewLineValue(difference) {
|
|
4754
|
-
return this.fMediator.
|
|
4703
|
+
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));
|
|
4755
4704
|
}
|
|
4756
4705
|
}
|
|
4757
4706
|
|
|
@@ -4840,7 +4789,7 @@ class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
|
|
|
4840
4789
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
4841
4790
|
}
|
|
4842
4791
|
getNewLineValue(difference) {
|
|
4843
|
-
return this.fMediator.
|
|
4792
|
+
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));
|
|
4844
4793
|
}
|
|
4845
4794
|
}
|
|
4846
4795
|
|
|
@@ -4916,14 +4865,11 @@ class GetNodeMoveRestrictionsRequest {
|
|
|
4916
4865
|
}
|
|
4917
4866
|
|
|
4918
4867
|
let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
|
|
4919
|
-
|
|
4920
|
-
constructor(fMediator) {
|
|
4921
|
-
this.fMediator = fMediator;
|
|
4922
|
-
}
|
|
4868
|
+
_fMediator = inject(FMediator);
|
|
4923
4869
|
handle(request) {
|
|
4924
4870
|
if (request.fNode.fParentId && !request.hasParentNodeInSelected) {
|
|
4925
4871
|
const fParentNodeRect = this.getParentNodeRect(request.fNode);
|
|
4926
|
-
const fCurrentNodeRect = this.
|
|
4872
|
+
const fCurrentNodeRect = this._getNodeRect(request.fNode);
|
|
4927
4873
|
return {
|
|
4928
4874
|
min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
|
|
4929
4875
|
max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
|
|
@@ -4931,13 +4877,13 @@ let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
|
|
|
4931
4877
|
}
|
|
4932
4878
|
return { ...DEFAULT_RESTRICTIONS };
|
|
4933
4879
|
}
|
|
4934
|
-
|
|
4935
|
-
return this.
|
|
4880
|
+
_getNodeRect(fNode) {
|
|
4881
|
+
return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
4936
4882
|
}
|
|
4937
4883
|
getParentNodeRect(fNode) {
|
|
4938
|
-
return this.
|
|
4884
|
+
return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
|
|
4939
4885
|
}
|
|
4940
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [
|
|
4886
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4941
4887
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution });
|
|
4942
4888
|
};
|
|
4943
4889
|
GetNodeMoveRestrictionsExecution = __decorate([
|
|
@@ -4945,7 +4891,7 @@ GetNodeMoveRestrictionsExecution = __decorate([
|
|
|
4945
4891
|
], GetNodeMoveRestrictionsExecution);
|
|
4946
4892
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, decorators: [{
|
|
4947
4893
|
type: Injectable
|
|
4948
|
-
}]
|
|
4894
|
+
}] });
|
|
4949
4895
|
const DEFAULT_RESTRICTIONS = {
|
|
4950
4896
|
min: PointExtensions.initialize(-Infinity, -Infinity),
|
|
4951
4897
|
max: PointExtensions.initialize(Infinity, Infinity)
|
|
@@ -4960,38 +4906,53 @@ class CreateMoveNodesDragModelFromSelectionRequest {
|
|
|
4960
4906
|
|
|
4961
4907
|
class NodeDragHandler {
|
|
4962
4908
|
fDraggableDataContext;
|
|
4909
|
+
fComponentsStore;
|
|
4963
4910
|
fNode;
|
|
4964
4911
|
minDistance;
|
|
4965
4912
|
maxDistance;
|
|
4966
|
-
|
|
4967
|
-
constructor(fDraggableDataContext, fNode, minDistance, maxDistance) {
|
|
4913
|
+
_onPointerDownPosition = PointExtensions.initialize();
|
|
4914
|
+
constructor(fDraggableDataContext, fComponentsStore, fNode, minDistance, maxDistance) {
|
|
4968
4915
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
4916
|
+
this.fComponentsStore = fComponentsStore;
|
|
4969
4917
|
this.fNode = fNode;
|
|
4970
4918
|
this.minDistance = minDistance;
|
|
4971
4919
|
this.maxDistance = maxDistance;
|
|
4972
|
-
this.
|
|
4920
|
+
this._onPointerDownPosition = { ...fNode.position };
|
|
4973
4921
|
}
|
|
4974
4922
|
onPointerMove(difference) {
|
|
4975
|
-
const restrictedDifference = this.
|
|
4976
|
-
this.
|
|
4923
|
+
const restrictedDifference = this._getDifference(difference, { min: this.minDistance, max: this.maxDistance });
|
|
4924
|
+
this._redraw(this._getPosition(restrictedDifference));
|
|
4977
4925
|
this.fDraggableDataContext.fLineAlignment?.handle(restrictedDifference);
|
|
4978
4926
|
}
|
|
4979
|
-
|
|
4980
|
-
return Point.fromPoint(this.
|
|
4927
|
+
_getPosition(difference) {
|
|
4928
|
+
return Point.fromPoint(this._onPointerDownPosition).add(difference);
|
|
4981
4929
|
}
|
|
4982
|
-
|
|
4930
|
+
_getDifference(difference, restrictions) {
|
|
4983
4931
|
return {
|
|
4984
4932
|
x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
|
|
4985
4933
|
y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
|
|
4986
4934
|
};
|
|
4987
4935
|
}
|
|
4988
|
-
|
|
4936
|
+
_redraw(position) {
|
|
4989
4937
|
this.fNode.updatePosition(position);
|
|
4990
4938
|
this.fNode.redraw();
|
|
4991
4939
|
}
|
|
4992
4940
|
onPointerUp() {
|
|
4993
4941
|
this.fNode.positionChange.emit(this.fNode.position);
|
|
4994
4942
|
}
|
|
4943
|
+
getDifferenceWithCellSize(difference) {
|
|
4944
|
+
const restrictedDifference = this._getDifference(difference, { min: this.minDistance, max: this.maxDistance });
|
|
4945
|
+
const position = this._getPosition(restrictedDifference);
|
|
4946
|
+
return Point.fromPoint(this._applyCellSize(position)).sub(this._onPointerDownPosition);
|
|
4947
|
+
}
|
|
4948
|
+
_applyCellSize(position) {
|
|
4949
|
+
const hCellSize = this.fComponentsStore.fDraggable.hCellSize;
|
|
4950
|
+
const vCellSize = this.fComponentsStore.fDraggable.vCellSize;
|
|
4951
|
+
return {
|
|
4952
|
+
x: Math.round(position.x / hCellSize) * hCellSize,
|
|
4953
|
+
y: Math.round(position.y / vCellSize) * vCellSize
|
|
4954
|
+
};
|
|
4955
|
+
}
|
|
4995
4956
|
}
|
|
4996
4957
|
|
|
4997
4958
|
//TODO: Implement this class
|
|
@@ -5010,36 +4971,34 @@ class NodeResizeByChildDragHandler {
|
|
|
5010
4971
|
}
|
|
5011
4972
|
|
|
5012
4973
|
let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
5017
|
-
this.fComponentsStore = fComponentsStore;
|
|
5018
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5019
|
-
this.fMediator = fMediator;
|
|
5020
|
-
}
|
|
4974
|
+
_fMediator = inject(FMediator);
|
|
4975
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
4976
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
5021
4977
|
handle(request) {
|
|
5022
|
-
const itemsToDrag = this.
|
|
4978
|
+
const itemsToDrag = this._getNodesWithRestrictions(this._getSelectedNodes(request.nodeWithDisabledSelection));
|
|
5023
4979
|
return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(itemsToDrag), this.getAllOutputIds(itemsToDrag), this.getAllInputIds(itemsToDrag));
|
|
5024
4980
|
}
|
|
5025
|
-
|
|
5026
|
-
const result = this.
|
|
5027
|
-
.map((x) => this._findNode(x.hostElement))
|
|
5028
|
-
.filter((x) => !!x);
|
|
4981
|
+
_getSelectedNodes(nodeWithDisabledSelection) {
|
|
4982
|
+
const result = this._getNodesFromSelection();
|
|
5029
4983
|
if (nodeWithDisabledSelection) {
|
|
5030
4984
|
result.push(nodeWithDisabledSelection);
|
|
5031
4985
|
}
|
|
5032
4986
|
return result;
|
|
5033
4987
|
}
|
|
4988
|
+
_getNodesFromSelection() {
|
|
4989
|
+
return this._fDraggableDataContext.selectedItems
|
|
4990
|
+
.map((x) => this._findNode(x.hostElement))
|
|
4991
|
+
.filter((x) => !!x);
|
|
4992
|
+
}
|
|
5034
4993
|
_findNode(hostElement) {
|
|
5035
|
-
return this.
|
|
4994
|
+
return this._fComponentsStore.fNodes.find(n => n.isContains(hostElement));
|
|
5036
4995
|
}
|
|
5037
|
-
|
|
4996
|
+
_getNodesWithRestrictions(nodesToDrag) {
|
|
5038
4997
|
const result = [];
|
|
5039
|
-
|
|
5040
|
-
const hasParentNodeInSelected = this.
|
|
5041
|
-
const restrictions = this.
|
|
5042
|
-
const parentNodes = this.
|
|
4998
|
+
nodesToDrag.forEach((x) => {
|
|
4999
|
+
const hasParentNodeInSelected = this._fMediator.send(new IsArrayHasParentNodeRequest(x, nodesToDrag));
|
|
5000
|
+
const restrictions = this._fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
|
|
5001
|
+
const parentNodes = this._fMediator.send(new GetParentNodesRequest(x));
|
|
5043
5002
|
result.push({ node: x, parentNodes, ...restrictions }, ...this.getChildrenItemsToDrag(x, restrictions));
|
|
5044
5003
|
});
|
|
5045
5004
|
return result;
|
|
@@ -5048,36 +5007,36 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
|
|
|
5048
5007
|
return this.getChildrenNodes(node.fId).map((x) => ({ node: x, ...restrictions }));
|
|
5049
5008
|
}
|
|
5050
5009
|
getChildrenNodes(fId) {
|
|
5051
|
-
return this.
|
|
5010
|
+
return this._fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
|
|
5052
5011
|
}
|
|
5053
5012
|
getAllOutputIds(items) {
|
|
5054
5013
|
return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.fId));
|
|
5055
5014
|
}
|
|
5056
5015
|
getOutputsForNode(node) {
|
|
5057
|
-
return this.
|
|
5016
|
+
return this._fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
|
|
5058
5017
|
}
|
|
5059
5018
|
getAllInputIds(items) {
|
|
5060
5019
|
return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.fId));
|
|
5061
5020
|
}
|
|
5062
5021
|
getInputsForNode(node) {
|
|
5063
|
-
return this.
|
|
5022
|
+
return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
|
|
5064
5023
|
}
|
|
5065
5024
|
getDragHandlersFromNodes(items) {
|
|
5066
5025
|
let result = [];
|
|
5067
5026
|
items.forEach((node) => {
|
|
5068
|
-
result.push(new NodeDragHandler(this.
|
|
5027
|
+
result.push(new NodeDragHandler(this._fDraggableDataContext, this._fComponentsStore, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
|
|
5069
5028
|
});
|
|
5070
5029
|
return result;
|
|
5071
5030
|
}
|
|
5072
5031
|
getDragHandlersWithConnections(handlers, outputIds, inputIds) {
|
|
5073
5032
|
let result = handlers;
|
|
5074
5033
|
handlers.filter((x) => x instanceof NodeDragHandler).forEach((dragHandler) => {
|
|
5075
|
-
this.
|
|
5076
|
-
this.
|
|
5034
|
+
this._fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
|
|
5035
|
+
this._fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
|
|
5077
5036
|
});
|
|
5078
5037
|
return result;
|
|
5079
5038
|
}
|
|
5080
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [
|
|
5039
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5081
5040
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution });
|
|
5082
5041
|
};
|
|
5083
5042
|
CreateMoveNodesDragModelFromSelectionExecution = __decorate([
|
|
@@ -5085,7 +5044,7 @@ CreateMoveNodesDragModelFromSelectionExecution = __decorate([
|
|
|
5085
5044
|
], CreateMoveNodesDragModelFromSelectionExecution);
|
|
5086
5045
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
|
|
5087
5046
|
type: Injectable
|
|
5088
|
-
}]
|
|
5047
|
+
}] });
|
|
5089
5048
|
|
|
5090
5049
|
const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
|
|
5091
5050
|
GetNodeMoveRestrictionsExecution,
|
|
@@ -5105,40 +5064,55 @@ class NodeDragToParentDragHandler {
|
|
|
5105
5064
|
fComponentsStore;
|
|
5106
5065
|
fDraggableDataContext;
|
|
5107
5066
|
notDraggedNodesRects;
|
|
5108
|
-
|
|
5067
|
+
DEBOUNCE_TIME = 15;
|
|
5068
|
+
get _transform() {
|
|
5109
5069
|
return this.fComponentsStore.fCanvas.transform;
|
|
5110
5070
|
}
|
|
5111
|
-
|
|
5071
|
+
_onPointerDownPosition = PointExtensions.initialize();
|
|
5072
|
+
_debounceTimer = null;
|
|
5112
5073
|
fNodeWithRect = null;
|
|
5113
5074
|
constructor(fComponentsStore, fDraggableDataContext, notDraggedNodesRects) {
|
|
5114
5075
|
this.fComponentsStore = fComponentsStore;
|
|
5115
5076
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
5116
5077
|
this.notDraggedNodesRects = notDraggedNodesRects;
|
|
5117
|
-
this.
|
|
5078
|
+
this._onPointerDownPosition = this.fDraggableDataContext.onPointerDownPosition;
|
|
5118
5079
|
}
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
this.markIncludeNode(this.notDraggedNodesRects[isInclude]);
|
|
5080
|
+
_toggleParentNode(difference) {
|
|
5081
|
+
const isInclude = this._isNodeInsideAnotherNode(this._getNewPosition(difference));
|
|
5082
|
+
if (isInclude) {
|
|
5083
|
+
this._markIncludeNode(isInclude);
|
|
5124
5084
|
}
|
|
5125
5085
|
else {
|
|
5126
|
-
this.
|
|
5086
|
+
this._unmarkIncludeNode();
|
|
5127
5087
|
}
|
|
5128
5088
|
}
|
|
5129
|
-
|
|
5130
|
-
this.
|
|
5089
|
+
_getNewPosition(difference) {
|
|
5090
|
+
return Point.fromPoint(this._onPointerDownPosition).add(difference).mult(this._transform.scale);
|
|
5091
|
+
}
|
|
5092
|
+
_isNodeInsideAnotherNode(point) {
|
|
5093
|
+
return this.notDraggedNodesRects.find((x) => RectExtensions.isIncludePoint(x.rect, point));
|
|
5094
|
+
}
|
|
5095
|
+
onPointerMove(difference) {
|
|
5096
|
+
if (this._debounceTimer) {
|
|
5097
|
+
clearTimeout(this._debounceTimer);
|
|
5098
|
+
}
|
|
5099
|
+
this._debounceTimer = setTimeout(() => this._toggleParentNode(difference), this.DEBOUNCE_TIME);
|
|
5100
|
+
}
|
|
5101
|
+
_markIncludeNode(nodeWithRect) {
|
|
5102
|
+
this._unmarkIncludeNode();
|
|
5131
5103
|
this.fNodeWithRect = nodeWithRect;
|
|
5132
5104
|
nodeWithRect.node.setClass('f-parent-for-drop');
|
|
5133
5105
|
}
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
this.fNodeWithRect.node.removeClass('f-parent-for-drop');
|
|
5137
|
-
}
|
|
5106
|
+
_unmarkIncludeNode() {
|
|
5107
|
+
this.fNodeWithRect?.node.removeClass('f-parent-for-drop');
|
|
5138
5108
|
this.fNodeWithRect = null;
|
|
5139
5109
|
}
|
|
5140
5110
|
onPointerUp() {
|
|
5141
|
-
this.
|
|
5111
|
+
this._unmarkIncludeNode();
|
|
5112
|
+
if (this._debounceTimer) {
|
|
5113
|
+
clearTimeout(this._debounceTimer);
|
|
5114
|
+
this._debounceTimer = null;
|
|
5115
|
+
}
|
|
5142
5116
|
}
|
|
5143
5117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentDragHandler, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
5144
5118
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NodeDragToParentDragHandler, ngImport: i0 });
|
|
@@ -5256,23 +5230,30 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
|
|
|
5256
5230
|
if (!fNode) {
|
|
5257
5231
|
throw new Error('Node not found');
|
|
5258
5232
|
}
|
|
5259
|
-
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this.
|
|
5233
|
+
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this._getNotDraggedNodesRects()));
|
|
5260
5234
|
}
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5235
|
+
_getNotDraggedNodesRects() {
|
|
5236
|
+
const draggedNodes = this._addParentNodes(this._getNodesBeingDragged());
|
|
5237
|
+
return this._getNotDraggedNodes(draggedNodes).map((x) => {
|
|
5238
|
+
const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
5264
5239
|
return {
|
|
5265
5240
|
node: x,
|
|
5266
5241
|
rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
|
|
5267
5242
|
};
|
|
5268
5243
|
});
|
|
5269
5244
|
}
|
|
5270
|
-
|
|
5245
|
+
_getNodesBeingDragged() {
|
|
5271
5246
|
return this.fDraggableDataContext.draggableItems
|
|
5272
5247
|
.filter((x) => x instanceof NodeDragHandler)
|
|
5273
5248
|
.map((x) => x.fNode);
|
|
5274
5249
|
}
|
|
5275
|
-
|
|
5250
|
+
_addParentNodes(fNodes) {
|
|
5251
|
+
return fNodes.reduce((result, x) => {
|
|
5252
|
+
result.push(x, ...this.fMediator.send(new GetParentNodesRequest(x)));
|
|
5253
|
+
return result;
|
|
5254
|
+
}, []);
|
|
5255
|
+
}
|
|
5256
|
+
_getNotDraggedNodes(draggedNodes) {
|
|
5276
5257
|
return this.fNodes.filter((x) => !draggedNodes.includes(x));
|
|
5277
5258
|
}
|
|
5278
5259
|
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 });
|
|
@@ -5316,56 +5297,55 @@ class NodeMovePreparationRequest {
|
|
|
5316
5297
|
}
|
|
5317
5298
|
|
|
5318
5299
|
let NodeMovePreparationExecution = class NodeMovePreparationExecution {
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
get
|
|
5323
|
-
return this.
|
|
5324
|
-
}
|
|
5325
|
-
get flowHost() {
|
|
5326
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
5300
|
+
_fMediator = inject(FMediator);
|
|
5301
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
5302
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
5303
|
+
get _transform() {
|
|
5304
|
+
return this._fComponentsStore.fCanvas.transform;
|
|
5327
5305
|
}
|
|
5328
|
-
|
|
5329
|
-
this.
|
|
5330
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5331
|
-
this.fMediator = fMediator;
|
|
5306
|
+
get _fHost() {
|
|
5307
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
5332
5308
|
}
|
|
5333
5309
|
handle(request) {
|
|
5334
|
-
const
|
|
5335
|
-
|
|
5310
|
+
const itemsToDrag = this._calculateDraggableItems(this._getNode(request.event.targetElement));
|
|
5311
|
+
this._initializeLineAlignment(itemsToDrag);
|
|
5312
|
+
this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
|
|
5313
|
+
this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
|
|
5314
|
+
.elementTransform(this._fHost).div(this._transform.scale);
|
|
5315
|
+
this._fDraggableDataContext.draggableItems = itemsToDrag;
|
|
5316
|
+
}
|
|
5317
|
+
_getNode(targetElement) {
|
|
5318
|
+
const result = this._fComponentsStore.fNodes.find(n => n.isContains(targetElement));
|
|
5319
|
+
if (!result) {
|
|
5336
5320
|
throw new Error('Node not found');
|
|
5337
5321
|
}
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5322
|
+
return result;
|
|
5323
|
+
}
|
|
5324
|
+
//We drag nodes from selection model
|
|
5325
|
+
_calculateDraggableItems(fNode) {
|
|
5326
|
+
let result = [];
|
|
5327
|
+
if (!fNode.fSelectionDisabled) {
|
|
5328
|
+
// Need to select node before drag
|
|
5329
|
+
this._fMediator.send(new SelectAndUpdateNodeLayerRequest(fNode));
|
|
5330
|
+
result = this._dragModelFromSelection();
|
|
5342
5331
|
}
|
|
5343
5332
|
else {
|
|
5344
|
-
|
|
5333
|
+
// User can drag node that can't be selected
|
|
5334
|
+
result = this._dragModelFromSelection(fNode);
|
|
5345
5335
|
}
|
|
5346
|
-
|
|
5347
|
-
this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
|
|
5348
|
-
this.fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
|
|
5349
|
-
.elementTransform(this.flowHost).div(this.transform.scale);
|
|
5350
|
-
this.fDraggableDataContext.draggableItems = itemsToDrag;
|
|
5351
|
-
}
|
|
5352
|
-
selectAndUpdateNodeLayer(node) {
|
|
5353
|
-
this.fMediator.send(new SelectAndUpdateNodeLayerRequest(node));
|
|
5354
|
-
}
|
|
5355
|
-
getNode(targetElement) {
|
|
5356
|
-
return this.fComponentsStore.fNodes.find(n => n.isContains(targetElement));
|
|
5336
|
+
return result;
|
|
5357
5337
|
}
|
|
5358
|
-
|
|
5359
|
-
return this.
|
|
5338
|
+
_dragModelFromSelection(nodeWithDisabledSelection) {
|
|
5339
|
+
return this._fMediator.send(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
|
|
5360
5340
|
}
|
|
5361
|
-
|
|
5362
|
-
this.
|
|
5341
|
+
_initializeLineAlignment(itemsToDrag) {
|
|
5342
|
+
this._fDraggableDataContext.fLineAlignment?.initialize(this._fComponentsStore.fNodes, this._filterNodesFromDraggableItems(itemsToDrag));
|
|
5363
5343
|
}
|
|
5364
|
-
|
|
5344
|
+
_filterNodesFromDraggableItems(items) {
|
|
5365
5345
|
return items.filter((x) => x instanceof NodeDragHandler)
|
|
5366
5346
|
.map(x => x.fNode);
|
|
5367
5347
|
}
|
|
5368
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, deps: [
|
|
5348
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5369
5349
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution });
|
|
5370
5350
|
};
|
|
5371
5351
|
NodeMovePreparationExecution = __decorate([
|
|
@@ -5373,33 +5353,29 @@ NodeMovePreparationExecution = __decorate([
|
|
|
5373
5353
|
], NodeMovePreparationExecution);
|
|
5374
5354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, decorators: [{
|
|
5375
5355
|
type: Injectable
|
|
5376
|
-
}]
|
|
5356
|
+
}] });
|
|
5377
5357
|
|
|
5378
5358
|
let NodeMovePreparationValidator = class NodeMovePreparationValidator {
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
constructor(fComponentsStore, fDraggableDataContext) {
|
|
5382
|
-
this.fComponentsStore = fComponentsStore;
|
|
5383
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5384
|
-
}
|
|
5359
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
5360
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
5385
5361
|
handle(request) {
|
|
5386
|
-
return this.
|
|
5387
|
-
&& this.
|
|
5388
|
-
&& this.
|
|
5362
|
+
return this._isDragHandlesEmpty()
|
|
5363
|
+
&& this._isDragHandleElement(request.event.targetElement)
|
|
5364
|
+
&& this._isNodeCanBeDragged(this._getNode(request.event.targetElement));
|
|
5389
5365
|
}
|
|
5390
|
-
|
|
5391
|
-
return !this.
|
|
5366
|
+
_isDragHandlesEmpty() {
|
|
5367
|
+
return !this._fDraggableDataContext.draggableItems.length;
|
|
5392
5368
|
}
|
|
5393
|
-
|
|
5394
|
-
return
|
|
5369
|
+
_isDragHandleElement(element) {
|
|
5370
|
+
return isClosestElementHasClass(element, '.f-drag-handle');
|
|
5395
5371
|
}
|
|
5396
|
-
|
|
5397
|
-
return !!
|
|
5372
|
+
_isNodeCanBeDragged(fNode) {
|
|
5373
|
+
return !!fNode && !fNode.fDraggingDisabled;
|
|
5398
5374
|
}
|
|
5399
|
-
|
|
5400
|
-
return
|
|
5375
|
+
_getNode(element) {
|
|
5376
|
+
return this._fComponentsStore.fNodes.find(x => x.isContains(element));
|
|
5401
5377
|
}
|
|
5402
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, deps: [
|
|
5378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5403
5379
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator });
|
|
5404
5380
|
};
|
|
5405
5381
|
NodeMovePreparationValidator = __decorate([
|
|
@@ -5407,7 +5383,7 @@ NodeMovePreparationValidator = __decorate([
|
|
|
5407
5383
|
], NodeMovePreparationValidator);
|
|
5408
5384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, decorators: [{
|
|
5409
5385
|
type: Injectable
|
|
5410
|
-
}]
|
|
5386
|
+
}] });
|
|
5411
5387
|
|
|
5412
5388
|
const NODE_MOVE_PREPARATION_PROVIDERS = [
|
|
5413
5389
|
NodeMovePreparationExecution,
|
|
@@ -5422,44 +5398,50 @@ class NodeMoveFinalizeRequest {
|
|
|
5422
5398
|
}
|
|
5423
5399
|
|
|
5424
5400
|
let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
get
|
|
5429
|
-
return this.
|
|
5430
|
-
}
|
|
5431
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
5432
|
-
this.fComponentsStore = fComponentsStore;
|
|
5433
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
5434
|
-
this.fMediator = fMediator;
|
|
5401
|
+
_fMediator = inject(FMediator);
|
|
5402
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
5403
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
5404
|
+
get _fHost() {
|
|
5405
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
5435
5406
|
}
|
|
5436
5407
|
handle(request) {
|
|
5437
|
-
const difference = this.
|
|
5438
|
-
this.
|
|
5408
|
+
const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
|
|
5409
|
+
const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
|
|
5410
|
+
.find((x) => x instanceof NodeDragHandler);
|
|
5411
|
+
const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
|
|
5412
|
+
this._finalizeMove(differenceWithCellSize);
|
|
5413
|
+
this._fMediator.send(new IsConnectionUnderNodeRequest());
|
|
5414
|
+
this._fDraggableDataContext.fLineAlignment?.complete();
|
|
5415
|
+
}
|
|
5416
|
+
_finalizeMove(difference) {
|
|
5417
|
+
this._getItems().forEach((x) => {
|
|
5439
5418
|
x.onPointerMove({ ...difference });
|
|
5440
5419
|
x.onPointerUp?.();
|
|
5441
5420
|
});
|
|
5442
|
-
this.fMediator.send(new IsConnectionUnderNodeRequest());
|
|
5443
|
-
this.fDraggableDataContext.fLineAlignment?.complete();
|
|
5444
5421
|
}
|
|
5445
|
-
|
|
5446
|
-
return this.
|
|
5422
|
+
_getItems() {
|
|
5423
|
+
return this._fDraggableDataContext.draggableItems
|
|
5447
5424
|
.filter((x) => !(x instanceof NodeDragToParentDragHandler));
|
|
5448
5425
|
}
|
|
5449
|
-
|
|
5450
|
-
return Point.fromPoint(position).elementTransform(this.
|
|
5451
|
-
.div(this.
|
|
5452
|
-
.sub(this.
|
|
5426
|
+
_getDifferenceBetweenPreparationAndFinalize(position) {
|
|
5427
|
+
return Point.fromPoint(position).elementTransform(this._fHost)
|
|
5428
|
+
.div(this._fDraggableDataContext.onPointerDownScale)
|
|
5429
|
+
.sub(this._fDraggableDataContext.onPointerDownPosition);
|
|
5430
|
+
}
|
|
5431
|
+
_getDifferenceWithLineAlignment(difference) {
|
|
5432
|
+
return this._applyLineAlignmentDifference(difference, this._getLineAlignmentDifference(difference));
|
|
5453
5433
|
}
|
|
5454
|
-
|
|
5455
|
-
|
|
5434
|
+
_getLineAlignmentDifference(difference) {
|
|
5435
|
+
return this._fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
|
|
5436
|
+
}
|
|
5437
|
+
_applyLineAlignmentDifference(difference, intersection) {
|
|
5456
5438
|
if (intersection) {
|
|
5457
5439
|
difference.x = intersection.xResult.value ? (difference.x - intersection.xResult.distance) : difference.x;
|
|
5458
5440
|
difference.y = intersection.yResult.value ? (difference.y - intersection.yResult.distance) : difference.y;
|
|
5459
5441
|
}
|
|
5460
5442
|
return difference;
|
|
5461
5443
|
}
|
|
5462
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [
|
|
5444
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5463
5445
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
|
|
5464
5446
|
};
|
|
5465
5447
|
NodeMoveFinalizeExecution = __decorate([
|
|
@@ -5467,7 +5449,7 @@ NodeMoveFinalizeExecution = __decorate([
|
|
|
5467
5449
|
], NodeMoveFinalizeExecution);
|
|
5468
5450
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, decorators: [{
|
|
5469
5451
|
type: Injectable
|
|
5470
|
-
}]
|
|
5452
|
+
}] });
|
|
5471
5453
|
|
|
5472
5454
|
let NodeMoveFinalizeValidator = class NodeMoveFinalizeValidator {
|
|
5473
5455
|
fDraggableDataContext;
|
|
@@ -5700,8 +5682,8 @@ let GetNormalizedChildrenNodesRectExecution = class GetNormalizedChildrenNodesRe
|
|
|
5700
5682
|
getChildrenNodes(fId) {
|
|
5701
5683
|
return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
|
|
5702
5684
|
}
|
|
5703
|
-
normalizeRect(
|
|
5704
|
-
return this.fMediator.send(new
|
|
5685
|
+
normalizeRect(fNode) {
|
|
5686
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
5705
5687
|
}
|
|
5706
5688
|
concatRectWithParentPadding(rect, padding) {
|
|
5707
5689
|
return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
|
|
@@ -5794,7 +5776,7 @@ class NodeResizeDragHandler {
|
|
|
5794
5776
|
this.fResizeHandleType = fResizeHandleType;
|
|
5795
5777
|
}
|
|
5796
5778
|
prepareDragSequence() {
|
|
5797
|
-
this.originalRect = this.fMediator.send(new
|
|
5779
|
+
this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement, false));
|
|
5798
5780
|
this.restrictions = this.fMediator.send(new GetNodeResizeRestrictionsRequest(this.fNode, this.originalRect));
|
|
5799
5781
|
if (this.restrictions.childRect) {
|
|
5800
5782
|
this.childRestrictions = (rect, restrictionsRect) => {
|
|
@@ -6135,7 +6117,7 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
|
|
|
6135
6117
|
return elements.length ? this.flowHost.contains(elements[0]) : false;
|
|
6136
6118
|
}
|
|
6137
6119
|
getRectInCanvas() {
|
|
6138
|
-
return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder));
|
|
6120
|
+
return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
|
|
6139
6121
|
}
|
|
6140
6122
|
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 });
|
|
6141
6123
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
|
|
@@ -6432,6 +6414,8 @@ class FDraggableDirective extends FDraggableBase {
|
|
|
6432
6414
|
fReassignConnection = new EventEmitter();
|
|
6433
6415
|
fCreateConnection = new EventEmitter();
|
|
6434
6416
|
fDropToGroup = new EventEmitter();
|
|
6417
|
+
vCellSize = 1;
|
|
6418
|
+
hCellSize = 1;
|
|
6435
6419
|
plugins;
|
|
6436
6420
|
constructor(ngZone, _fBrowser) {
|
|
6437
6421
|
super(ngZone);
|
|
@@ -6490,7 +6474,7 @@ class FDraggableDirective extends FDraggableBase {
|
|
|
6490
6474
|
super.unsubscribe();
|
|
6491
6475
|
}
|
|
6492
6476
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6493
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
|
|
6477
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
|
|
6494
6478
|
}
|
|
6495
6479
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
|
|
6496
6480
|
type: Directive,
|
|
@@ -6518,6 +6502,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
6518
6502
|
type: Output
|
|
6519
6503
|
}], fDropToGroup: [{
|
|
6520
6504
|
type: Output
|
|
6505
|
+
}], vCellSize: [{
|
|
6506
|
+
type: Input
|
|
6507
|
+
}], hCellSize: [{
|
|
6508
|
+
type: Input
|
|
6521
6509
|
}], plugins: [{
|
|
6522
6510
|
type: ContentChildren,
|
|
6523
6511
|
args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
|
|
@@ -7207,7 +7195,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
|
|
|
7207
7195
|
return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
7208
7196
|
return {
|
|
7209
7197
|
element: x,
|
|
7210
|
-
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale)
|
|
7198
|
+
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false)), this.transform.scale)
|
|
7211
7199
|
};
|
|
7212
7200
|
});
|
|
7213
7201
|
}
|
|
@@ -7215,7 +7203,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
|
|
|
7215
7203
|
return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
|
|
7216
7204
|
return {
|
|
7217
7205
|
element: x,
|
|
7218
|
-
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale)
|
|
7206
|
+
rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement, false)), this.transform.scale)
|
|
7219
7207
|
};
|
|
7220
7208
|
});
|
|
7221
7209
|
}
|
|
@@ -8079,6 +8067,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
8079
8067
|
type: Injectable
|
|
8080
8068
|
}] });
|
|
8081
8069
|
|
|
8070
|
+
class GetNodePaddingRequest {
|
|
8071
|
+
fNode;
|
|
8072
|
+
rect;
|
|
8073
|
+
constructor(fNode, rect) {
|
|
8074
|
+
this.fNode = fNode;
|
|
8075
|
+
this.rect = rect;
|
|
8076
|
+
}
|
|
8077
|
+
}
|
|
8078
|
+
|
|
8079
|
+
let GetNodePaddingExecution = class GetNodePaddingExecution {
|
|
8080
|
+
fBrowser;
|
|
8081
|
+
constructor(fBrowser) {
|
|
8082
|
+
this.fBrowser = fBrowser;
|
|
8083
|
+
}
|
|
8084
|
+
handle(request) {
|
|
8085
|
+
return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
|
|
8086
|
+
}
|
|
8087
|
+
getPaddingData(node, rect) {
|
|
8088
|
+
const style = this.fBrowser.window.getComputedStyle(node.hostElement);
|
|
8089
|
+
return [
|
|
8090
|
+
this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
|
|
8091
|
+
this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
|
|
8092
|
+
this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
|
|
8093
|
+
this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
|
|
8094
|
+
];
|
|
8095
|
+
}
|
|
8096
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8097
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
|
|
8098
|
+
};
|
|
8099
|
+
GetNodePaddingExecution = __decorate([
|
|
8100
|
+
FExecutionRegister(GetNodePaddingRequest)
|
|
8101
|
+
], GetNodePaddingExecution);
|
|
8102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
|
|
8103
|
+
type: Injectable
|
|
8104
|
+
}], ctorParameters: () => [{ type: i1.BrowserService }] });
|
|
8105
|
+
|
|
8082
8106
|
class GetNodesRequest {
|
|
8083
8107
|
}
|
|
8084
8108
|
|
|
@@ -8156,7 +8180,9 @@ const F_NODE_FEATURES = [
|
|
|
8156
8180
|
AddNodeToStoreExecution,
|
|
8157
8181
|
CalculateNodesBoundingBoxExecution,
|
|
8158
8182
|
CalculateNodesBoundingBoxNormalizedPositionExecution,
|
|
8183
|
+
GetNodePaddingExecution,
|
|
8159
8184
|
GetNodesExecution,
|
|
8185
|
+
GetParentNodesExecution,
|
|
8160
8186
|
UpdateNodeWhenStateOrSizeChangedExecution,
|
|
8161
8187
|
RemoveNodeFromStoreExecution
|
|
8162
8188
|
];
|
|
@@ -8774,110 +8800,6 @@ class LineService {
|
|
|
8774
8800
|
}
|
|
8775
8801
|
}
|
|
8776
8802
|
|
|
8777
|
-
/**
|
|
8778
|
-
* A class to find the nearest coordinate.
|
|
8779
|
-
*/
|
|
8780
|
-
class NearestCoordinateFinder {
|
|
8781
|
-
alignThreshold;
|
|
8782
|
-
elements;
|
|
8783
|
-
target;
|
|
8784
|
-
/**
|
|
8785
|
-
* Constructor to initialize the NearestCoordinateFinder.
|
|
8786
|
-
* @param elements - The array of IRect elements.
|
|
8787
|
-
* @param target - The target IRect element.
|
|
8788
|
-
* @param alignThreshold - The threshold to align the elements.
|
|
8789
|
-
*/
|
|
8790
|
-
constructor(elements, target, alignThreshold = 10) {
|
|
8791
|
-
this.alignThreshold = alignThreshold;
|
|
8792
|
-
this.elements = elements;
|
|
8793
|
-
this.target = target;
|
|
8794
|
-
}
|
|
8795
|
-
/**
|
|
8796
|
-
* Finds the nearest coordinate on a specified axis.
|
|
8797
|
-
* @returns The nearest coordinate and its distance.
|
|
8798
|
-
*/
|
|
8799
|
-
findNearestCoordinateByX() {
|
|
8800
|
-
let nearest;
|
|
8801
|
-
let minDistance;
|
|
8802
|
-
for (const element of this.elements) {
|
|
8803
|
-
const distanceLeftLeft = this.target.x - element.x;
|
|
8804
|
-
const distanceLeftRight = this.target.x - (element.x + element.width);
|
|
8805
|
-
const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
|
|
8806
|
-
const distanceRightLeft = (this.target.x + this.target.width) - element.x;
|
|
8807
|
-
const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
|
|
8808
|
-
if (Math.abs(distanceLeftLeft) <= this.alignThreshold ||
|
|
8809
|
-
Math.abs(distanceLeftRight) <= this.alignThreshold ||
|
|
8810
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
8811
|
-
Math.abs(distanceRightLeft) <= this.alignThreshold ||
|
|
8812
|
-
Math.abs(distanceRightRight) <= this.alignThreshold) {
|
|
8813
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
8814
|
-
minDistance = distanceCenterCenter;
|
|
8815
|
-
nearest = element.gravityCenter.x;
|
|
8816
|
-
}
|
|
8817
|
-
if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
|
|
8818
|
-
minDistance = distanceLeftLeft;
|
|
8819
|
-
nearest = element.x;
|
|
8820
|
-
}
|
|
8821
|
-
if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
|
|
8822
|
-
minDistance = distanceRightRight;
|
|
8823
|
-
nearest = element.x + element.width;
|
|
8824
|
-
}
|
|
8825
|
-
if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
|
|
8826
|
-
minDistance = distanceLeftRight;
|
|
8827
|
-
nearest = element.x + element.width;
|
|
8828
|
-
}
|
|
8829
|
-
if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
|
|
8830
|
-
minDistance = distanceRightLeft;
|
|
8831
|
-
nearest = element.x;
|
|
8832
|
-
}
|
|
8833
|
-
}
|
|
8834
|
-
}
|
|
8835
|
-
return { value: nearest, distance: minDistance };
|
|
8836
|
-
}
|
|
8837
|
-
/**
|
|
8838
|
-
* Finds the nearest coordinate on a specified axis.
|
|
8839
|
-
* @returns The nearest coordinate and its distance.
|
|
8840
|
-
*/
|
|
8841
|
-
findNearestCoordinateByY() {
|
|
8842
|
-
let nearest;
|
|
8843
|
-
let minDistance;
|
|
8844
|
-
for (const element of this.elements) {
|
|
8845
|
-
const distanceTopTop = this.target.y - element.y;
|
|
8846
|
-
const distanceTopBottom = this.target.y - (element.y + element.height);
|
|
8847
|
-
const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
|
|
8848
|
-
const distanceBottomTop = (this.target.y + this.target.height) - element.y;
|
|
8849
|
-
const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
|
|
8850
|
-
if (Math.abs(distanceTopTop) <= this.alignThreshold ||
|
|
8851
|
-
Math.abs(distanceTopBottom) <= this.alignThreshold ||
|
|
8852
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
8853
|
-
Math.abs(distanceBottomTop) <= this.alignThreshold ||
|
|
8854
|
-
Math.abs(distanceBottomBottom) <= this.alignThreshold) {
|
|
8855
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
8856
|
-
minDistance = distanceCenterCenter;
|
|
8857
|
-
nearest = element.gravityCenter.y;
|
|
8858
|
-
}
|
|
8859
|
-
if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
|
|
8860
|
-
minDistance = distanceTopTop;
|
|
8861
|
-
nearest = element.y;
|
|
8862
|
-
}
|
|
8863
|
-
if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
|
|
8864
|
-
minDistance = distanceBottomBottom;
|
|
8865
|
-
nearest = element.y + element.height;
|
|
8866
|
-
}
|
|
8867
|
-
if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
|
|
8868
|
-
minDistance = distanceTopBottom;
|
|
8869
|
-
nearest = element.y + element.height;
|
|
8870
|
-
}
|
|
8871
|
-
if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
|
|
8872
|
-
minDistance = distanceBottomTop;
|
|
8873
|
-
nearest = element.y;
|
|
8874
|
-
}
|
|
8875
|
-
}
|
|
8876
|
-
}
|
|
8877
|
-
return { value: nearest, distance: minDistance };
|
|
8878
|
-
}
|
|
8879
|
-
}
|
|
8880
|
-
|
|
8881
8803
|
const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
|
|
8882
8804
|
class FLineAlignmentBase {
|
|
8883
8805
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -8890,6 +8812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
8890
8812
|
class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
8891
8813
|
elementReference;
|
|
8892
8814
|
fDraggableDataContext;
|
|
8815
|
+
DEBOUNCE_TIME = 10;
|
|
8893
8816
|
fAlignThreshold = 10;
|
|
8894
8817
|
get hostElement() {
|
|
8895
8818
|
return this.elementReference.nativeElement;
|
|
@@ -8900,12 +8823,10 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8900
8823
|
rects = [];
|
|
8901
8824
|
_fMediator = inject(FMediator);
|
|
8902
8825
|
_fCanvas;
|
|
8826
|
+
_debounceTimer = null;
|
|
8903
8827
|
get _transform() {
|
|
8904
8828
|
return this._fCanvas.transform;
|
|
8905
8829
|
}
|
|
8906
|
-
get _fFlowHostElement() {
|
|
8907
|
-
return this._fMediator.send(new GetFlowHostElementRequest());
|
|
8908
|
-
}
|
|
8909
8830
|
constructor(elementReference, fDraggableDataContext, fBrowser) {
|
|
8910
8831
|
super();
|
|
8911
8832
|
this.elementReference = elementReference;
|
|
@@ -8917,21 +8838,24 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8917
8838
|
this.fDraggableDataContext.fLineAlignment = this;
|
|
8918
8839
|
}
|
|
8919
8840
|
initialize(allNodes, currentNodes) {
|
|
8920
|
-
this.size = this.
|
|
8841
|
+
this.size = this._fMediator.send(new GetFlowHostElementRequest()).getBoundingClientRect();
|
|
8921
8842
|
this.rects = [];
|
|
8922
8843
|
const draggedNodeRects = currentNodes.map((x) => {
|
|
8923
|
-
return this._fMediator.
|
|
8844
|
+
return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
8924
8845
|
});
|
|
8925
8846
|
this.draggedNodeRect = RectExtensions.union(draggedNodeRects) || RectExtensions.initialize();
|
|
8926
8847
|
const allNodesExcludeCurrents = allNodes.filter((x) => {
|
|
8927
8848
|
return !currentNodes.includes(x);
|
|
8928
8849
|
});
|
|
8929
8850
|
this.rects = allNodesExcludeCurrents.map((x) => {
|
|
8930
|
-
return this._fMediator.
|
|
8851
|
+
return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
8931
8852
|
});
|
|
8932
8853
|
}
|
|
8933
8854
|
handle(difference) {
|
|
8934
|
-
this.
|
|
8855
|
+
if (this._debounceTimer) {
|
|
8856
|
+
clearTimeout(this._debounceTimer);
|
|
8857
|
+
}
|
|
8858
|
+
this._debounceTimer = setTimeout(() => this.drawIntersectingLines(difference), this.DEBOUNCE_TIME);
|
|
8935
8859
|
}
|
|
8936
8860
|
drawIntersectingLines(difference) {
|
|
8937
8861
|
const intersect = this.findNearestCoordinate(difference);
|
|
@@ -8950,12 +8874,15 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
|
8950
8874
|
}
|
|
8951
8875
|
findNearestCoordinate(difference) {
|
|
8952
8876
|
const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
|
|
8953
|
-
|
|
8954
|
-
return { xResult: finder.findNearestCoordinateByX(), yResult: finder.findNearestCoordinateByY() };
|
|
8877
|
+
return findClosestAlignment(this.rects, rect, this.fAlignThreshold);
|
|
8955
8878
|
}
|
|
8956
8879
|
complete() {
|
|
8957
8880
|
this.lineService.hideVerticalLine();
|
|
8958
8881
|
this.lineService.hideHorizontalLine();
|
|
8882
|
+
if (this._debounceTimer) {
|
|
8883
|
+
clearTimeout(this._debounceTimer);
|
|
8884
|
+
this._debounceTimer = null;
|
|
8885
|
+
}
|
|
8959
8886
|
}
|
|
8960
8887
|
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 });
|
|
8961
8888
|
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: [
|
|
@@ -9429,5 +9356,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
9429
9356
|
* Generated bundle index. Do not edit.
|
|
9430
9357
|
*/
|
|
9431
9358
|
|
|
9432
|
-
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, GetNormalizedNodeRectExecution, GetNormalizedNodeRectRequest, 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 };
|
|
9359
|
+
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, 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, 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, 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 };
|
|
9433
9360
|
//# sourceMappingURL=foblex-flow.mjs.map
|