@foblex/flow 17.5.8 → 17.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/css-cls.d.ts +1 -1
- package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +2 -2
- package/domain/f-connection/create-connection-markers/create-connection-markers.execution.d.ts +2 -5
- package/domain/f-connectors/find-closest-connector/find-closest-connector.execution.d.ts +11 -0
- package/domain/f-connectors/find-closest-connector/find-closest-connector.request.d.ts +8 -0
- package/domain/f-connectors/find-closest-connector/index.d.ts +2 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.d.ts +25 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.d.ts +8 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.d.ts +2 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +13 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.d.ts +6 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +2 -0
- package/domain/f-connectors/{i-closest-input.d.ts → i-closest-connector.d.ts} +1 -1
- package/domain/f-connectors/index.d.ts +6 -5
- package/domain/f-connectors/mark-connectable-connectors/index.d.ts +2 -0
- package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.d.ts +10 -0
- package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.d.ts +6 -0
- package/domain/f-connectors/providers.d.ts +6 -5
- package/domain/f-connectors/unmark-connectable-connectors/index.d.ts +2 -0
- package/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.d.ts +10 -0
- package/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.d.ts +6 -0
- package/domain/f-draggable/providers.d.ts +1 -1
- package/domain/f-selection/select/select.execution.d.ts +2 -2
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/css-cls.mjs +2 -2
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +3 -3
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +17 -18
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs +42 -0
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +10 -0
- package/esm2022/domain/f-connectors/{find-input-at-position → find-closest-connector}/index.mjs +3 -3
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +93 -0
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.mjs +10 -0
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.mjs +3 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +38 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +8 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +3 -0
- package/esm2022/domain/f-connectors/i-closest-connector.mjs +2 -0
- package/esm2022/domain/f-connectors/index.mjs +7 -6
- package/esm2022/domain/f-connectors/mark-connectable-connectors/index.mjs +3 -0
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +8 -0
- package/esm2022/domain/f-connectors/providers.mjs +11 -9
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/index.mjs +3 -0
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.mjs +8 -0
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +2 -2
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +2 -2
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +5 -5
- package/esm2022/domain/f-selection/select/select.execution.mjs +3 -3
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +2 -2
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
- package/esm2022/f-canvas/f-canvas.component.mjs +2 -2
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +7 -2
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -2
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
- package/esm2022/f-connection/common/f-connection-base.mjs +16 -12
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +2 -2
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -2
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +4 -4
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +8 -8
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
- package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +23 -52
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +21 -48
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +21 -48
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +3 -3
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +6 -6
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +41 -73
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +18 -12
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +83 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +82 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +8 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +5 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +27 -21
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +8 -11
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.mjs +2 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +17 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +4 -4
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +2 -2
- package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-flow/f-flow.component.mjs +9 -5
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +1 -1
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +3 -4
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +7 -9
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +3 -3
- package/esm2022/f-minimap/f-minimap.component.mjs +19 -30
- package/esm2022/f-node/f-group.directive.mjs +6 -9
- package/esm2022/f-node/f-node-base.mjs +1 -1
- package/esm2022/f-node/f-node.directive.mjs +6 -9
- package/esm2022/mixins/change-selection/change-selection.mjs +3 -2
- package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
- package/f-connection/common/f-connection-base.d.ts +15 -12
- package/f-connection/common/i-has-connection-color.d.ts +3 -2
- package/f-connection/common/i-has-connection-from-to.d.ts +2 -1
- package/f-connection/f-connection/f-connection.component.d.ts +17 -15
- package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +16 -15
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +16 -15
- package/f-connection/providers.d.ts +1 -1
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +11 -17
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.d.ts +9 -6
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +27 -0
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +28 -0
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +4 -2
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.d.ts +12 -0
- package/f-draggable/f-connection/f-reassign-connection/index.d.ts +4 -0
- package/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.d.ts +6 -6
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +0 -1
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.d.ts +1 -0
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +5 -0
- package/f-draggable/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/providers.d.ts +1 -1
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-minimap/f-minimap-canvas.directive.d.ts +1 -1
- package/f-minimap/f-minimap-flow.directive.d.ts +4 -4
- package/f-minimap/f-minimap-view.directive.d.ts +1 -1
- package/f-minimap/f-minimap.component.d.ts +8 -8
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/f-group.directive.d.ts +2 -2
- package/f-node/f-node-base.d.ts +2 -2
- package/f-node/f-node.directive.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 +599 -493
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/mixins/change-selection/i-selectable.d.ts +2 -1
- package/package.json +1 -1
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.d.ts +0 -11
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.d.ts +0 -8
- package/domain/f-connectors/calculate-closest-input/index.d.ts +0 -2
- package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +0 -25
- package/domain/f-connectors/find-input-at-position/find-input-at-position.request.d.ts +0 -9
- package/domain/f-connectors/find-input-at-position/index.d.ts +0 -2
- package/domain/f-connectors/mark-all-can-be-connected-inputs/index.d.ts +0 -2
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.d.ts +0 -10
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.d.ts +0 -6
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/index.d.ts +0 -2
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.d.ts +0 -10
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.d.ts +0 -6
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.mjs +0 -42
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.mjs +0 -10
- package/esm2022/domain/f-connectors/calculate-closest-input/index.mjs +0 -3
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +0 -92
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.request.mjs +0 -12
- package/esm2022/domain/f-connectors/i-closest-input.mjs +0 -2
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/index.mjs +0 -3
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.mjs +0 -27
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.mjs +0 -8
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/index.mjs +0 -3
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.mjs +0 -27
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.mjs +0 -8
package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { CalculateConnectionLineByBehaviorRequest, FindClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest } from "../../../domain";
|
|
2
|
+
import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint } from "./i-f-reassign-handler";
|
|
3
|
+
export class FReassignTargetDragHandler {
|
|
4
|
+
_mediator;
|
|
5
|
+
_connection;
|
|
6
|
+
_sourceConnectorAndRect;
|
|
7
|
+
_targetConnectorAndRect;
|
|
8
|
+
_connectableConnectors = [];
|
|
9
|
+
get _sourceConnector() {
|
|
10
|
+
return this._sourceConnectorAndRect.fConnector;
|
|
11
|
+
}
|
|
12
|
+
get _sourceConnectorRect() {
|
|
13
|
+
return this._sourceConnectorAndRect.fRect;
|
|
14
|
+
}
|
|
15
|
+
get _targetConnector() {
|
|
16
|
+
return this._targetConnectorAndRect.fConnector;
|
|
17
|
+
}
|
|
18
|
+
_connectorRect;
|
|
19
|
+
_snapConnection;
|
|
20
|
+
constructor(_mediator, _connection, _sourceConnectorAndRect, _targetConnectorAndRect) {
|
|
21
|
+
this._mediator = _mediator;
|
|
22
|
+
this._connection = _connection;
|
|
23
|
+
this._sourceConnectorAndRect = _sourceConnectorAndRect;
|
|
24
|
+
this._targetConnectorAndRect = _targetConnectorAndRect;
|
|
25
|
+
this._connectorRect = roundedRectFromPoint(this._connection.line.point2);
|
|
26
|
+
}
|
|
27
|
+
getConnectableConnectors() {
|
|
28
|
+
return this._connectableConnectors;
|
|
29
|
+
}
|
|
30
|
+
markConnectableConnector() {
|
|
31
|
+
this._connectableConnectors = this._mediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._sourceConnector));
|
|
32
|
+
this._mediator.execute(new MarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
|
|
33
|
+
}
|
|
34
|
+
initializeSnapConnection(snapConnection) {
|
|
35
|
+
this._snapConnection = snapConnection;
|
|
36
|
+
if (!snapConnection) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
snapConnection.fOutputId = this._connection.fOutputId;
|
|
40
|
+
snapConnection.initialize();
|
|
41
|
+
}
|
|
42
|
+
onPointerMove(difference) {
|
|
43
|
+
const newPoint = this._connectorRect.addPoint(difference);
|
|
44
|
+
const fClosestConnector = this._findClosestConnector(newPoint, this._connectableConnectors);
|
|
45
|
+
this._drawConnection(newPoint, fClosestConnector?.fConnector.fConnectableSide || this._targetConnector.fConnectableSide);
|
|
46
|
+
if (this._snapConnection) {
|
|
47
|
+
this._drawSnapConnection(isClosestConnectorInsideSnapThreshold(fClosestConnector, this._snapConnection));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
_findClosestConnector(point, connectors) {
|
|
51
|
+
return this._mediator.execute(new FindClosestConnectorRequest(point, connectors));
|
|
52
|
+
}
|
|
53
|
+
_drawConnection(newPoint, fSide) {
|
|
54
|
+
const line = this._calculateNewLine(newPoint, fSide);
|
|
55
|
+
this._connection.setLine(line, this._sourceConnectorAndRect.fConnector.fConnectableSide, fSide);
|
|
56
|
+
this._connection.redraw();
|
|
57
|
+
}
|
|
58
|
+
_calculateNewLine(targetPoint, fSide) {
|
|
59
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, roundedRectFromPoint(targetPoint), this._connection.fBehavior, this._sourceConnector.fConnectableSide, fSide));
|
|
60
|
+
}
|
|
61
|
+
_drawSnapConnection(fClosestConnector) {
|
|
62
|
+
const snapConnection = this._snapConnection;
|
|
63
|
+
if (fClosestConnector) {
|
|
64
|
+
const line = this._getLineToClosestTargetConnector(fClosestConnector, snapConnection);
|
|
65
|
+
snapConnection.show();
|
|
66
|
+
snapConnection.setLine(line, this._sourceConnector.fConnectableSide, fClosestConnector.fConnector.fConnectableSide);
|
|
67
|
+
snapConnection.redraw();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
snapConnection.hide();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
_getLineToClosestTargetConnector(fClosestInput, snapConnection) {
|
|
74
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, fClosestInput.fRect, snapConnection.fBehavior, this._sourceConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
75
|
+
}
|
|
76
|
+
onPointerUp() {
|
|
77
|
+
this._drawConnection(this._connectorRect, this._targetConnectorAndRect.fConnector.fConnectableSide);
|
|
78
|
+
this._snapConnection?.hide();
|
|
79
|
+
this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUFFLHlDQUF5QyxFQUV0RSxnQ0FBZ0MsRUFBRSxrQ0FBa0MsRUFDckUsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQW9CLHFDQUFxQyxFQUFFLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFdEgsTUFBTSxPQUFPLDBCQUEwQjtJQXFCbEI7SUFDQTtJQUNBO0lBQ0E7SUF0Qlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVnQixjQUFjLENBQWU7SUFFdEMsZUFBZSxDQUF1QztJQUU5RCxZQUNtQixTQUFvQixFQUNwQixXQUE0QixFQUM1Qix1QkFBMEMsRUFDMUMsdUJBQTBDO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUUzRCxJQUFJLENBQUMsY0FBYyxH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QUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3RGLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QixjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEgsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0NBQWdDLENBQUMsYUFBZ0MsRUFBRSxjQUF3QztRQUNqSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksd0NBQXdDLENBQy9FLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsYUFBYSxDQUFDLEtBQUssRUFDbkIsY0FBYyxDQUFDLFNBQVMsRUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUN0QyxhQUFhLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZNZWRpYXRvcn0gZnJvbSBcIkBmb2JsZXgvbWVkaWF0b3JcIjtcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIEZpbmRDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCwgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QsIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3Rcbn0gZnJvbSBcIi4uLy4uLy4uL2RvbWFpblwiO1xuaW1wb3J0IHtFRkNvbm5lY3RhYmxlU2lkZSwgRk5vZGVJbnB1dERpcmVjdGl2ZSwgRk5vZGVPdXRwdXREaXJlY3RpdmV9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3RvcnNcIjtcbmltcG9ydCB7RkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3Rpb25cIjtcbmltcG9ydCB7SUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0LCBSb3VuZGVkUmVjdH0gZnJvbSBcIkBmb2JsZXgvMmRcIjtcbmltcG9ydCB7SUZSZWFzc2lnbkhhbmRsZXIsIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQsIHJvdW5kZWRSZWN0RnJvbVBvaW50fSBmcm9tIFwiLi9pLWYtcmVhc3NpZ24taGFuZGxlclwiO1xuXG5leHBvcnQgY2xhc3MgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRlJlYXNzaWduSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3JSZWN0KCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZlJlY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yKCk6IEZOb2RlSW5wdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVJbnB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3RvclJlY3QhOiBSb3VuZGVkUmVjdDtcblxuICBwcml2YXRlIF9zbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldENvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICApIHtcbiAgICB0aGlzLl9jb25uZWN0b3JSZWN0ID0gcm91bmRlZFJlY3RGcm9tUG9pbnQodGhpcy5fY29ubmVjdGlvbi5saW5lLnBvaW50Mik7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnM7XG4gIH1cblxuICBwdWJsaWMgbWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fc291cmNlQ29ubmVjdG9yKVxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLl9jb25uZWN0aW9uLmZPdXRwdXRJZDtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbihpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkKGZDbG9zZXN0Q29ubmVjdG9yLCB0aGlzLl9zbmFwQ29ubmVjdGlvbikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKHBvaW50OiBJUG9pbnQsIGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10pOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KG5ldyBGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QocG9pbnQsIGNvbm5lY3RvcnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKG5ld1BvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9jYWxjdWxhdGVOZXdMaW5lKG5ld1BvaW50LCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUsIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld0xpbmUodGFyZ2V0UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yUmVjdCxcbiAgICAgICAgcm91bmRlZFJlY3RGcm9tUG9pbnQodGFyZ2V0UG9pbnQpLFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgc25hcENvbm5lY3Rpb24gPSB0aGlzLl9zbmFwQ29ubmVjdGlvbiE7XG4gICAgaWYgKGZDbG9zZXN0Q29ubmVjdG9yKSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihmQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb24pO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2hvdygpO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9zb3VyY2VDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgZkNsb3Nlc3RDb25uZWN0b3IuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JSZWN0LFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mUmVjdCxcbiAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24odGhpcy5fY29ubmVjdG9yUmVjdCwgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vaS1mLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGUmVhc3NpZ25Db25uZWN0aW9uRHJhZ1Jlc3VsdCB7XG5cbiAgaXNUYXJnZXREcmFnSGFuZGxlOiBib29sZWFuO1xuXG4gIHNvdXJjZUNvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0O1xuXG4gIHRhcmdldENvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0O1xuXG4gIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2U7XG5cbiAgY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdO1xufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RectExtensions, RoundedRect } from "@foblex/2d";
|
|
2
|
+
export function isClosestConnectorInsideSnapThreshold(fClosestConnector, snapConnection) {
|
|
3
|
+
return fClosestConnector && fClosestConnector.distance < snapConnection.fSnapThreshold ? fClosestConnector : undefined;
|
|
4
|
+
}
|
|
5
|
+
export function roundedRectFromPoint(point) {
|
|
6
|
+
return RoundedRect.fromRect(RectExtensions.initialize(point.x, point.y));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXJlYXNzaWduLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vaS1mLXJlYXNzaWduLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFpQi9ELE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxpQkFBZ0QsRUFBRSxjQUF3QztJQUM5SSxPQUFPLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pILENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYTtJQUNoRCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0fSBmcm9tIFwiQGZvYmxleC8yZFwiO1xuaW1wb3J0IHtJQ2xvc2VzdENvbm5lY3RvciwgSUNvbm5lY3RvckFuZFJlY3R9IGZyb20gXCIuLi8uLi8uLi9kb21haW5cIjtcbmltcG9ydCB7RlNuYXBDb25uZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vZi1jb25uZWN0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZSZWFzc2lnbkhhbmRsZXIge1xuXG4gIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdO1xuXG4gIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkO1xuXG4gIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZDtcblxuICBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgb25Qb2ludGVyVXAoKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkLCBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50KTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICByZXR1cm4gZkNsb3Nlc3RDb25uZWN0b3IgJiYgZkNsb3Nlc3RDb25uZWN0b3IuZGlzdGFuY2UgPCBzbmFwQ29ubmVjdGlvbi5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0Q29ubmVjdG9yIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRlZFJlY3RGcm9tUG9pbnQocG9pbnQ6IElQb2ludCkge1xuICByZXR1cm4gUm91bmRlZFJlY3QuZnJvbVJlY3QoUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludC54LCBwb2ludC55KSlcbn1cbiJdfQ==
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export * from './reassign-finalize';
|
|
2
2
|
export * from './reassign-preparation';
|
|
3
3
|
export * from './f-reassign-connection.drag-handler';
|
|
4
|
+
export * from './f-reassign-source.drag-handler';
|
|
5
|
+
export * from './f-reassign-source.drag-handler';
|
|
6
|
+
export * from './f-reassign-target.drag-handler';
|
|
4
7
|
export * from './f-reassign-connection.event';
|
|
5
8
|
export * from './i-f-reassign-connection-drag-result';
|
|
6
|
-
|
|
9
|
+
export * from './i-f-reassign-handler';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlYXNzaWduLWZpbmFsaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZWFzc2lnbi1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZWFzc2lnbi1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXJlYXNzaWduLXNvdXJjZS5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWYtcmVhc3NpZ24tY29ubmVjdGlvbi1kcmFnLXJlc3VsdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLXJlYXNzaWduLWhhbmRsZXInO1xuIl19
|
|
@@ -6,19 +6,19 @@ import { FDraggableDataContext } from '../../../f-draggable-data-context';
|
|
|
6
6
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
7
7
|
import { FReassignConnectionDragHandler } from '../f-reassign-connection.drag-handler';
|
|
8
8
|
import { FReassignConnectionEvent } from '../f-reassign-connection.event';
|
|
9
|
-
import {
|
|
9
|
+
import { FindConnectableConnectorUsingPriorityAndPositionRequest, } from '../../../../domain';
|
|
10
10
|
import { FDragHandlerResult } from '../../../f-drag-handler';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
let FReassignConnectionFinalizeExecution = class FReassignConnectionFinalizeExecution {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
_dragResult = inject(FDragHandlerResult);
|
|
14
|
+
_mediator = inject(FMediator);
|
|
15
|
+
_store = inject(FComponentsStore);
|
|
16
|
+
_draggableContext = inject(FDraggableDataContext);
|
|
17
17
|
get _fDraggable() {
|
|
18
|
-
return this.
|
|
18
|
+
return this._store.fDraggable;
|
|
19
19
|
}
|
|
20
20
|
get _fDragHandler() {
|
|
21
|
-
return this.
|
|
21
|
+
return this._draggableContext.draggableItems[0];
|
|
22
22
|
}
|
|
23
23
|
handle(request) {
|
|
24
24
|
if (!this._isDroppedConnectionReassignEvent()) {
|
|
@@ -28,27 +28,33 @@ let FReassignConnectionFinalizeExecution = class FReassignConnectionFinalizeExec
|
|
|
28
28
|
this._fDragHandler.onPointerUp();
|
|
29
29
|
}
|
|
30
30
|
_isDroppedConnectionReassignEvent() {
|
|
31
|
-
return this.
|
|
31
|
+
return this._draggableContext.draggableItems.some((x) => x instanceof FReassignConnectionDragHandler);
|
|
32
32
|
}
|
|
33
33
|
_applyReassignEvent(event) {
|
|
34
|
-
const
|
|
35
|
-
if (!!
|
|
34
|
+
const fConnector = this._findConnectableConnectorUsingPriorityAndPosition(event);
|
|
35
|
+
if (!!fConnector && !this._isReassignToDifferentConnector(fConnector)) {
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
|
-
this._emitReassignConnectionEvent(event,
|
|
38
|
+
this._emitReassignConnectionEvent(event, fConnector);
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
return this.
|
|
40
|
+
_findConnectableConnectorUsingPriorityAndPosition(event) {
|
|
41
|
+
return this._mediator.execute(new FindConnectableConnectorUsingPriorityAndPositionRequest(event.getPosition(), this._dragResult.getData().connectableConnectors));
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
_isReassignToDifferentConnector(fConnector) {
|
|
44
|
+
if (!this._dragResult.getData().isTargetDragHandle) {
|
|
45
|
+
return this._dragResult.getData().fConnection.fInputId !== fConnector.fId;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return this._dragResult.getData().fConnection.fOutputId !== fConnector.fId;
|
|
49
|
+
}
|
|
45
50
|
}
|
|
46
|
-
_emitReassignConnectionEvent(event,
|
|
47
|
-
this._fDraggable.fReassignConnection.emit(this._getEventData(event,
|
|
51
|
+
_emitReassignConnectionEvent(event, fConnector) {
|
|
52
|
+
this._fDraggable.fReassignConnection.emit(this._getEventData(event, fConnector));
|
|
48
53
|
}
|
|
49
|
-
_getEventData(event,
|
|
50
|
-
const fConnection = this.
|
|
51
|
-
|
|
54
|
+
_getEventData(event, fConnector) {
|
|
55
|
+
const fConnection = this._dragResult.getData().fConnection;
|
|
56
|
+
const isTargetDragHandle = this._dragResult.getData().isTargetDragHandle;
|
|
57
|
+
return new FReassignConnectionEvent(fConnection.fId(), !isTargetDragHandle, isTargetDragHandle, fConnection.fOutputId, !isTargetDragHandle ? fConnector?.fId : undefined, fConnection.fInputId, isTargetDragHandle ? fConnector?.fId : undefined, event.getPosition());
|
|
52
58
|
}
|
|
53
59
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FReassignConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
60
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FReassignConnectionFinalizeExecution });
|
|
@@ -60,4 +66,4 @@ export { FReassignConnectionFinalizeExecution };
|
|
|
60
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FReassignConnectionFinalizeExecution, decorators: [{
|
|
61
67
|
type: Injectable
|
|
62
68
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1maW5hbGl6ZS9mLXJlYXNzaWduLWNvbm5lY3Rpb24tZmluYWxpemUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUUsT0FBTyxFQUNMLHVEQUF1RCxHQUN4RCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU10RCxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQUU5QixXQUFXLEdBQXVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTdGLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFD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QztJQUNKLENBQUM7d0dBN0VVLG9DQUFvQzs0R0FBcEMsb0NBQW9DOztBQUFwQyxvQ0FBb0M7SUFEaEQsa0JBQWtCLENBQUMsa0NBQWtDLENBQUM7R0FDMUMsb0NBQW9DLENBOEVoRDs7NEZBOUVZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vZi1yZWFzc2lnbi1jb25uZWN0aW9uLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZS1iYXNlJztcbmltcG9ydCB7IEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCB9IGZyb20gJy4uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudCc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0LFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkRyYWdIYW5kbGVyUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSUZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnUmVzdWx0IH0gZnJvbSAnLi4vaS1mLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQnO1xuaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vZHJhZy10b29sa2l0XCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnUmVzdWx0OiBGRHJhZ0hhbmRsZXJSZXN1bHQ8SUZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnUmVzdWx0PiA9IGluamVjdChGRHJhZ0hhbmRsZXJSZXN1bHQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnZ2FibGVDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZEcmFnZ2FibGUoKTogRkRyYWdnYWJsZUJhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mRHJhZ2dhYmxlITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mRHJhZ0hhbmRsZXIoKTogRlJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICByZXR1cm4gdGhpcy5fZHJhZ2dhYmxlQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIEZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNEcm9wcGVkQ29ubmVjdGlvblJlYXNzaWduRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgIHRoaXMuX2FwcGx5UmVhc3NpZ25FdmVudChyZXF1ZXN0LmV2ZW50KTtcbiAgIHRoaXMuX2ZEcmFnSGFuZGxlci5vblBvaW50ZXJVcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNEcm9wcGVkQ29ubmVjdGlvblJlYXNzaWduRXZlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWdnYWJsZUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZShcbiAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgRlJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5UmVhc3NpZ25FdmVudChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZDb25uZWN0b3IgPSB0aGlzLl9maW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb24oZXZlbnQpO1xuICAgIGlmIChcbiAgICAgICEhZkNvbm5lY3RvciAmJiAhdGhpcy5faXNSZWFzc2lnblRvRGlmZmVyZW50Q29ubmVjdG9yKGZDb25uZWN0b3IpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50KGV2ZW50LCBmQ29ubmVjdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvbihldmVudDogSVBvaW50ZXJFdmVudCk6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgRmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uUmVxdWVzdChcbiAgICAgICAgZXZlbnQuZ2V0UG9zaXRpb24oKSxcbiAgICAgICAgdGhpcy5fZHJhZ1Jlc3VsdC5nZXREYXRhKCkuY29ubmVjdGFibGVDb25uZWN0b3JzXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzUmVhc3NpZ25Ub0RpZmZlcmVudENvbm5lY3RvcihmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IGJvb2xlYW4ge1xuICAgIGlmKCF0aGlzLl9kcmFnUmVzdWx0LmdldERhdGEoKS5pc1RhcmdldERyYWdIYW5kbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kcmFnUmVzdWx0LmdldERhdGEoKS5mQ29ubmVjdGlvbi5mSW5wdXRJZCAhPT0gZkNvbm5lY3Rvci5mSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9kcmFnUmVzdWx0LmdldERhdGEoKS5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgIT09IGZDb25uZWN0b3IuZklkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRSZWFzc2lnbkNvbm5lY3Rpb25FdmVudChldmVudDogSVBvaW50ZXJFdmVudCwgZkNvbm5lY3Rvcj86IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5fZkRyYWdnYWJsZS5mUmVhc3NpZ25Db25uZWN0aW9uLmVtaXQodGhpcy5fZ2V0RXZlbnREYXRhKGV2ZW50LCBmQ29ubmVjdG9yKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFdmVudERhdGEoZXZlbnQ6IElQb2ludGVyRXZlbnQsIGZDb25uZWN0b3I/OiBGQ29ubmVjdG9yQmFzZSk6IEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCB7XG4gICAgY29uc3QgZkNvbm5lY3Rpb24gPSB0aGlzLl9kcmFnUmVzdWx0LmdldERhdGEoKS5mQ29ubmVjdGlvbjtcblxuICAgIGNvbnN0IGlzVGFyZ2V0RHJhZ0hhbmRsZSA9IHRoaXMuX2RyYWdSZXN1bHQuZ2V0RGF0YSgpLmlzVGFyZ2V0RHJhZ0hhbmRsZTtcblxuICAgIHJldHVybiBuZXcgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50KFxuICAgICAgZkNvbm5lY3Rpb24uZklkKCksXG4gICAgICAhaXNUYXJnZXREcmFnSGFuZGxlLFxuICAgICAgaXNUYXJnZXREcmFnSGFuZGxlLFxuICAgICAgZkNvbm5lY3Rpb24uZk91dHB1dElkLFxuICAgICAgIWlzVGFyZ2V0RHJhZ0hhbmRsZSA/IGZDb25uZWN0b3I/LmZJZCA6IHVuZGVmaW5lZCxcbiAgICAgIGZDb25uZWN0aW9uLmZJbnB1dElkLFxuICAgICAgaXNUYXJnZXREcmFnSGFuZGxlID8gZkNvbm5lY3Rvcj8uZklkIDogdW5kZWZpbmVkLFxuICAgICAgZXZlbnQuZ2V0UG9zaXRpb24oKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,6 +7,7 @@ import { FDraggableDataContext } from '../../../f-draggable-data-context';
|
|
|
7
7
|
import { isValidEventTrigger, UpdateItemAndChildrenLayersRequest } from '../../../../domain';
|
|
8
8
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
9
9
|
import { FReassignConnectionDragHandler } from '../f-reassign-connection.drag-handler';
|
|
10
|
+
import { isDragHandleEnd, isPointerInsideStartOrEndDragHandles } from "./is-pointer-inside-start-or-end-drag-handles";
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
let FReassignConnectionPreparationExecution = class FReassignConnectionPreparationExecution {
|
|
12
13
|
_fMediator = inject(FMediator);
|
|
@@ -24,19 +25,20 @@ let FReassignConnectionPreparationExecution = class FReassignConnectionPreparati
|
|
|
24
25
|
return this._fComponentsStore.fConnections;
|
|
25
26
|
}
|
|
26
27
|
handle(request) {
|
|
27
|
-
|
|
28
|
+
const position = this._getPointInFlow(request);
|
|
29
|
+
if (!this._isValid(position) || !this._isValidTrigger(request)) {
|
|
28
30
|
return;
|
|
29
31
|
}
|
|
30
32
|
this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
|
|
31
33
|
this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
|
|
32
34
|
.elementTransform(this._fHost).div(this._transform.scale);
|
|
33
35
|
this._fDraggableDataContext.draggableItems = [
|
|
34
|
-
new FReassignConnectionDragHandler(this._injector, this._fConnection)
|
|
36
|
+
new FReassignConnectionDragHandler(this._injector, this._fConnection, isDragHandleEnd(this._fConnection, position))
|
|
35
37
|
];
|
|
36
38
|
setTimeout(() => this._updateConnectionLayer());
|
|
37
39
|
}
|
|
38
|
-
_isValid(
|
|
39
|
-
this._fConnection = this._getConnectionToReassign(
|
|
40
|
+
_isValid(position) {
|
|
41
|
+
this._fConnection = this._getConnectionToReassign(position);
|
|
40
42
|
return !!this._fConnection && !this._fDraggableDataContext.draggableItems.length;
|
|
41
43
|
}
|
|
42
44
|
_isValidTrigger(request) {
|
|
@@ -53,12 +55,7 @@ let FReassignConnectionPreparationExecution = class FReassignConnectionPreparati
|
|
|
53
55
|
return connections.length ? connections[0] : undefined;
|
|
54
56
|
}
|
|
55
57
|
_getConnectionsFromPoint(position) {
|
|
56
|
-
return this._fConnections.filter((x) =>
|
|
57
|
-
return x.fDragHandle?.point && this._isPointInsideCircle(position, x.fDragHandle.point) && !x.fDraggingDisabled;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
_isPointInsideCircle(point, circleCenter) {
|
|
61
|
-
return (point.x - circleCenter.x) ** 2 + (point.y - circleCenter.y) ** 2 <= 8 ** 2;
|
|
58
|
+
return this._fConnections.filter((x) => isPointerInsideStartOrEndDragHandles(x, position));
|
|
62
59
|
}
|
|
63
60
|
_updateConnectionLayer() {
|
|
64
61
|
this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(this._fConnection, this._fComponentsStore.fCanvas.fConnectionsContainer().nativeElement));
|
|
@@ -73,4 +70,4 @@ export { FReassignConnectionPreparationExecution };
|
|
|
73
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FReassignConnectionPreparationExecution, decorators: [{
|
|
74
71
|
type: Injectable
|
|
75
72
|
}] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1wcmVwYXJhdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUEwQixLQUFLLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0YsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBRTNFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0NBQW9DLEVBQ3JDLE1BQU0sK0NBQStDLENBQUM7O0FBSWhELElBQU0sdUNBQXVDLEdBQTdDLE1BQU0sdUNBQXVDO0lBRWpDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0Msc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFD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QUFvQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3JCLElBQUksa0NBQWtDLENBQ3BDLElBQUksQ0FBQyxZQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGFBQWEsQ0FDMUYsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F2RVUsdUNBQXVDOzRHQUF2Qyx1Q0FBdUM7O0FBQXZDLHVDQUF1QztJQURuRCxrQkFBa0IsQ0FBQyxxQ0FBcUMsQ0FBQztHQUM3Qyx1Q0FBdUMsQ0F3RW5EOzs0RkF4RVksdUNBQXVDO2tCQUZuRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdH0gZnJvbSAnLi9mLXJlYXNzaWduLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQge0lQb2ludCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0ZEcmFnZ2FibGVEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7aXNWYWxpZEV2ZW50VHJpZ2dlciwgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7RkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtGQ29ubmVjdGlvbkJhc2V9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQge0ZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlcn0gZnJvbSAnLi4vZi1yZWFzc2lnbi1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQge1xuICBpc0RyYWdIYW5kbGVFbmQsXG4gIGlzUG9pbnRlckluc2lkZVN0YXJ0T3JFbmREcmFnSGFuZGxlc1xufSBmcm9tIFwiLi9pcy1wb2ludGVyLWluc2lkZS1zdGFydC1vci1lbmQtZHJhZy1oYW5kbGVzXCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIF9mQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mQ29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fZ2V0UG9pbnRJbkZsb3cocmVxdWVzdCk7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHBvc2l0aW9uKSB8fCAhdGhpcy5faXNWYWxpZFRyaWdnZXIocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24gPSBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5ldmVudC5nZXRQb3NpdGlvbigpKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpLmRpdih0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW1xuICAgICAgbmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlcihcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsIHRoaXMuX2ZDb25uZWN0aW9uISwgaXNEcmFnSGFuZGxlRW5kKHRoaXMuX2ZDb25uZWN0aW9uISwgcG9zaXRpb24pXG4gICAgICApXG4gICAgXTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdXBkYXRlQ29ubmVjdGlvbkxheWVyKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChwb3NpdGlvbjogSVBvaW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5fZkNvbm5lY3Rpb24gPSB0aGlzLl9nZXRDb25uZWN0aW9uVG9SZWFzc2lnbihwb3NpdGlvbik7XG4gICAgcmV0dXJuICEhdGhpcy5fZkNvbm5lY3Rpb24gJiYgIXRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0OiBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFdmVudFRyaWdnZXIocmVxdWVzdC5ldmVudC5vcmlnaW5hbEV2ZW50LCByZXF1ZXN0LmZUcmlnZ2VyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBvaW50SW5GbG93KHJlcXVlc3Q6IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5ldmVudC5nZXRQb3NpdGlvbigpKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuc3ViKHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuc3ViKHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbilcbiAgICAgIC5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbm5lY3Rpb25Ub1JlYXNzaWduKHBvc2l0aW9uOiBJUG9pbnQpOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbm5lY3Rpb25zID0gdGhpcy5fZ2V0Q29ubmVjdGlvbnNGcm9tUG9pbnQocG9zaXRpb24pO1xuICAgIHJldHVybiBjb25uZWN0aW9ucy5sZW5ndGggPyBjb25uZWN0aW9uc1swXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbm5lY3Rpb25zRnJvbVBvaW50KHBvc2l0aW9uOiBJUG9pbnQpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlzUG9pbnRlckluc2lkZVN0YXJ0T3JFbmREcmFnSGFuZGxlcyh4LCBwb3NpdGlvbikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29ubmVjdGlvbkxheWVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QoXG4gICAgICAgIHRoaXMuX2ZDb25uZWN0aW9uISwgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5mQ29ubmVjdGlvbnNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50XG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './f-reassign-connection-preparation.execution';
|
|
2
2
|
export * from './f-reassign-connection-preparation.request';
|
|
3
|
-
|
|
3
|
+
export * from './is-pointer-inside-start-or-end-drag-handles';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tcHJlcGFyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtcmVhc3NpZ24tY29ubmVjdGlvbi1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtcmVhc3NpZ24tY29ubmVjdGlvbi1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1wb2ludGVyLWluc2lkZS1zdGFydC1vci1lbmQtZHJhZy1oYW5kbGVzJztcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function isPointerInsideStartOrEndDragHandles(connection, position) {
|
|
2
|
+
return isDragHandleEnd(connection, position) || isDragHandleStart(connection, position);
|
|
3
|
+
}
|
|
4
|
+
export function isDragHandleEnd(connection, position) {
|
|
5
|
+
return connection.fDragHandleEnd()?.point
|
|
6
|
+
&& _isPointInsideCircle(position, connection.fDragHandleEnd().point)
|
|
7
|
+
&& !connection.fDraggingDisabled;
|
|
8
|
+
}
|
|
9
|
+
export function isDragHandleStart(connection, position) {
|
|
10
|
+
return !!connection.fDragHandleStart()?.point
|
|
11
|
+
&& _isPointInsideCircle(position, connection.fDragHandleStart().point)
|
|
12
|
+
&& !connection.fDraggingDisabled && connection.fReassignableStart();
|
|
13
|
+
}
|
|
14
|
+
function _isPointInsideCircle(point, circleCenter) {
|
|
15
|
+
return (point.x - circleCenter.x) ** 2 + (point.y - circleCenter.y) ** 2 <= 8 ** 2;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcG9pbnRlci1pbnNpZGUtc3RhcnQtb3ItZW5kLWRyYWctaGFuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1wcmVwYXJhdGlvbi9pcy1wb2ludGVyLWluc2lkZS1zdGFydC1vci1lbmQtZHJhZy1oYW5kbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxvQ0FBb0MsQ0FBQyxVQUEyQixFQUFFLFFBQWdCO0lBQ2hHLE9BQU8sZUFBZSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUYsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsVUFBMkIsRUFBRSxRQUFnQjtJQUMzRSxPQUFPLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxLQUFLO1dBQ3BDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDO1dBQ2pFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBMkIsRUFBRSxRQUFnQjtJQUM3RSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLO1dBQ3hDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUcsQ0FBQyxLQUFLLENBQUM7V0FDcEUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBYSxFQUFFLFlBQW9CO0lBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUG9pbnR9IGZyb20gXCJAZm9ibGV4LzJkXCI7XG5pbXBvcnQge0ZDb25uZWN0aW9uQmFzZX0gZnJvbSBcIi4uLy4uLy4uLy4uL2YtY29ubmVjdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQb2ludGVySW5zaWRlU3RhcnRPckVuZERyYWdIYW5kbGVzKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgcG9zaXRpb246IElQb2ludCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNEcmFnSGFuZGxlRW5kKGNvbm5lY3Rpb24sIHBvc2l0aW9uKSB8fCBpc0RyYWdIYW5kbGVTdGFydChjb25uZWN0aW9uLCBwb3NpdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RyYWdIYW5kbGVFbmQoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBwb3NpdGlvbjogSVBvaW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBjb25uZWN0aW9uLmZEcmFnSGFuZGxlRW5kKCk/LnBvaW50XG4gICAgJiYgX2lzUG9pbnRJbnNpZGVDaXJjbGUocG9zaXRpb24sIGNvbm5lY3Rpb24uZkRyYWdIYW5kbGVFbmQoKS5wb2ludClcbiAgICAmJiAhY29ubmVjdGlvbi5mRHJhZ2dpbmdEaXNhYmxlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRHJhZ0hhbmRsZVN0YXJ0KGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgcG9zaXRpb246IElQb2ludCk6IGJvb2xlYW4ge1xuICByZXR1cm4gISFjb25uZWN0aW9uLmZEcmFnSGFuZGxlU3RhcnQoKT8ucG9pbnRcbiAgICAmJiBfaXNQb2ludEluc2lkZUNpcmNsZShwb3NpdGlvbiwgY29ubmVjdGlvbi5mRHJhZ0hhbmRsZVN0YXJ0KCkhLnBvaW50KVxuICAgICYmICFjb25uZWN0aW9uLmZEcmFnZ2luZ0Rpc2FibGVkICYmIGNvbm5lY3Rpb24uZlJlYXNzaWduYWJsZVN0YXJ0KCk7XG59XG5cbmZ1bmN0aW9uIF9pc1BvaW50SW5zaWRlQ2lyY2xlKHBvaW50OiBJUG9pbnQsIGNpcmNsZUNlbnRlcjogSVBvaW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAocG9pbnQueCAtIGNpcmNsZUNlbnRlci54KSAqKiAyICsgKHBvaW50LnkgLSBjaXJjbGVDZW50ZXIueSkgKiogMiA8PSA4ICoqIDI7XG59XG4iXX0=
|
|
@@ -17,7 +17,7 @@ let FNodeDropToGroupFinalizeExecution = class FNodeDropToGroupFinalizeExecution
|
|
|
17
17
|
}
|
|
18
18
|
const item = this._getDragHandleItem();
|
|
19
19
|
if (item.fNodeWithRect) {
|
|
20
|
-
this._emitDroppedChildrenEvent(item.fNodeWithRect.node.fId, request.event);
|
|
20
|
+
this._emitDroppedChildrenEvent(item.fNodeWithRect.node.fId(), request.event);
|
|
21
21
|
}
|
|
22
22
|
item.onPointerUp?.();
|
|
23
23
|
}
|
|
@@ -42,7 +42,7 @@ let FNodeDropToGroupFinalizeExecution = class FNodeDropToGroupFinalizeExecution
|
|
|
42
42
|
_getDraggedNodeIds() {
|
|
43
43
|
return this._fDraggableDataContext.draggableItems
|
|
44
44
|
.find((x) => x instanceof FSummaryNodeMoveDragHandler)?.fHandlers
|
|
45
|
-
.map((x) => x.fNode.fId) || [];
|
|
45
|
+
.map((x) => x.fNode.fId()) || [];
|
|
46
46
|
}
|
|
47
47
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeDropToGroupFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
48
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeDropToGroupFinalizeExecution });
|
|
@@ -54,4 +54,4 @@ export { FNodeDropToGroupFinalizeExecution };
|
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeDropToGroupFinalizeExecution, decorators: [{
|
|
55
55
|
type: Injectable
|
|
56
56
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWRyb3AtdG8tZ3JvdXAtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyb3AtdG8tZ3JvdXAvZHJvcC10by1ncm91cC1maW5hbGl6ZS9mLW5vZGUtZHJvcC10by1ncm91cC1maW5hbGl6ZS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUt0RCxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUczQixzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN2RCxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RCxNQUFNLENBQUMsT0FBd0M7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkMsSUFBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjO2FBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUEyQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFNBQWlCLEVBQUUsS0FBb0I7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUNsRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDakYsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsSUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWM7YUFDOUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksMkJBQTJCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWM7YUFDOUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksMkJBQTJCLENBQUMsRUFBRSxTQUFTO2FBQ2hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dHQTdDVSxpQ0FBaUM7NEdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQThDN0M7OzRGQTlDWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlRHJvcFRvR3JvdXBGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1kcm9wLXRvLWdyb3VwLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1ub2RlLW1vdmUnO1xuaW1wb3J0IHsgRkRyb3BUb0dyb3VwRXZlbnQgfSBmcm9tICcuLi9mLWRyb3AtdG8tZ3JvdXAuZXZlbnQnO1xuaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vZHJhZy10b29sa2l0XCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRk5vZGVEcm9wVG9Hcm91cEZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZURyb3BUb0dyb3VwRmluYWxpemVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEZOb2RlRHJvcFRvR3JvdXBGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZOb2RlRHJvcFRvR3JvdXBGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpdGVtID0gdGhpcy5fZ2V0RHJhZ0hhbmRsZUl0ZW0oKTtcbiAgICBpZihpdGVtLmZOb2RlV2l0aFJlY3QpIHtcbiAgICAgIHRoaXMuX2VtaXREcm9wcGVkQ2hpbGRyZW5FdmVudChpdGVtLmZOb2RlV2l0aFJlY3Qubm9kZS5mSWQoKSwgcmVxdWVzdC5ldmVudCk7XG4gICAgfVxuICAgIGl0ZW0ub25Qb2ludGVyVXA/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuc29tZSgoeCkgPT4geCBpbnN0YW5jZW9mIEZOb2RlRHJvcFRvR3JvdXBEcmFnSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0RHJvcHBlZENoaWxkcmVuRXZlbnQoZlRhcmdldElkOiBzdHJpbmcsIGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mRHJvcFRvR3JvdXAuZW1pdChcbiAgICAgIG5ldyBGRHJvcFRvR3JvdXBFdmVudChmVGFyZ2V0SWQsIHRoaXMuX2dldERyYWdnZWROb2RlSWRzKCksIGV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERyYWdIYW5kbGVJdGVtKCk6IEZOb2RlRHJvcFRvR3JvdXBEcmFnSGFuZGxlciB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZmluZERyYWdIYW5kbGVJdGVtKCk7XG4gICAgaWYoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgbm90IGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9maW5kRHJhZ0hhbmRsZUl0ZW0oKTogRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIEZOb2RlRHJvcFRvR3JvdXBEcmFnSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZUlkcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpPy5mSGFuZGxlcnNcbiAgICAgIC5tYXAoKHgpID0+IHguZk5vZGUuZklkKCkpIHx8IFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -47,7 +47,7 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
|
|
|
47
47
|
_getNodesToDragWithCommonLimits(fDraggedNodes) {
|
|
48
48
|
return fDraggedNodes.reduce((result, x) => {
|
|
49
49
|
result.push(x);
|
|
50
|
-
return result.concat(this._getChildrenNodes(x.fId));
|
|
50
|
+
return result.concat(this._getChildrenNodes(x.fId()));
|
|
51
51
|
}, []);
|
|
52
52
|
}
|
|
53
53
|
_getNodesMoveLimits(fNodes, fParentNodes, fDraggedNodes) {
|
|
@@ -72,14 +72,14 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
|
|
|
72
72
|
return flatMap(fNodes, (fNode) => this._getNodeOutputIds(fNode));
|
|
73
73
|
}
|
|
74
74
|
_getNodeOutputIds(fNode) {
|
|
75
|
-
return this._fComponentsStore.fOutputs.filter((x) => fNode.fId === x.fNodeId)
|
|
75
|
+
return this._fComponentsStore.fOutputs.filter((x) => fNode.fId() === x.fNodeId)
|
|
76
76
|
.map((x) => x.fId);
|
|
77
77
|
}
|
|
78
78
|
_getAllInputIds(fNodes) {
|
|
79
79
|
return flatMap(fNodes, (fNode) => this._getNodeInputIds(fNode));
|
|
80
80
|
}
|
|
81
81
|
_getNodeInputIds(fNode) {
|
|
82
|
-
return this._fComponentsStore.fInputs.filter((x) => fNode.fId === x.fNodeId)
|
|
82
|
+
return this._fComponentsStore.fInputs.filter((x) => fNode.fId() === x.fNodeId)
|
|
83
83
|
.map((x) => x.fId);
|
|
84
84
|
}
|
|
85
85
|
_mapToNodeDragHandlers(items) {
|
|
@@ -107,4 +107,4 @@ export { CreateMoveNodesDragModelFromSelectionExecution };
|
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
|
|
108
108
|
type: Injectable
|
|
109
109
|
}] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQixxQkFBcUIsRUFDdEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxv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QVUsQ0FBQyxPQUFPLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxNQUFtQjtRQUN0RCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQVEsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dHQXBIVSw4Q0FBOEM7NEdBQTlDLDhDQUE4Qzs7QUFBOUMsOENBQThDO0lBRDFELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELDhDQUE4QyxDQXFIMUQ7OzRGQXJIWSw4Q0FBOEM7a0JBRjFELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBGTm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uL2Ytbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZU1vdmVMaW1pdHNSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LFxuICBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0LFxuICBHZXRQYXJlbnROb2Rlc1JlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IGZsYXRNYXAgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLWxpbWl0cyc7XG5pbXBvcnQgeyBJTWluTWF4UG9pbnQsIElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbiB9IGZyb20gJy4vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbic7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcj4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIGNvbnN0IGZEcmFnZ2VkTm9kZXMgPSB0aGlzLl9nZXREcmFnZ2VkTm9kZXMocmVxdWVzdC5ub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKTtcblxuICAgIGNvbnN0IGZOb2Rlc1RvRHJhZyA9IHRoaXMuX2dldE5vZGVzVG9EcmFnV2l0aENvbW1vbkxpbWl0cyhmRHJhZ2dlZE5vZGVzKTtcblxuICAgIGNvbnN0IGZEcmFnSGFuZGxlcnMgPSB0aGlzLl9tYXBUb05vZGVEcmFnSGFuZGxlcnMoZk5vZGVzVG9EcmFnKTtcblxuICAgIHRoaXMuX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKGZEcmFnSGFuZGxlcnMsIHRoaXMuX2dldEFsbE91dHB1dElkcyhmTm9kZXNUb0RyYWcpLCB0aGlzLl9nZXRBbGxJbnB1dElkcyhmTm9kZXNUb0RyYWcpKTtcblxuICAgIGNvbnN0IGNvbW1vbkxpbWl0cyA9IHRoaXMuX2NhbGN1bGF0ZUNvbW1vbkxpbWl0cyhcbiAgICAgIHRoaXMuX2dldE5vZGVzTW92ZUxpbWl0cyhmTm9kZXNUb0RyYWcsIFtdLCBmRHJhZ2dlZE5vZGVzKVxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcihcbiAgICAgIHRoaXMuX2luamVjdG9yLFxuICAgICAgY29tbW9uTGltaXRzLCBmRHJhZ0hhbmRsZXJzLCB0aGlzLl9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoZk5vZGVzVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZXMobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbj86IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTtcbiAgICBpZiAobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQobiA9PiBuLmlzQ29udGFpbnMoaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVzVG9EcmFnV2l0aENvbW1vbkxpbWl0cyhmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gZkRyYWdnZWROb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goeCk7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdCh0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHguZklkKSk7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNNb3ZlTGltaXRzKGZOb2RlczogRk5vZGVCYXNlW10sIGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb25bXSB7XG4gICAgcmV0dXJuIGZEcmFnZ2VkTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCBmUGFyZW50Tm9kZXMgPSB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXR1cm4geyBwb3NpdGlvbjogeC5wb3NpdGlvbiwgLi4udGhpcy5fZ2V0Tm9kZU1vdmVMaW1pdHMoeCwgZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU1vdmVMaW1pdHMoZk5vZGU6IEZOb2RlQmFzZSwgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZU1vdmVMaW1pdHMge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzUmVxdWVzdChmTm9kZSwgdGhpcy5faXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1BhcmVudE5vZGVJbkFycmF5KGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ29tbW9uTGltaXRzKGxpbWl0czogSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb25bXSk6IElNaW5NYXhQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElNaW5NYXhQb2ludD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KGxpbWl0cylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsT3V0cHV0SWRzKGZOb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoZk5vZGVzLCAoZk5vZGUpID0+IHRoaXMuX2dldE5vZGVPdXRwdXRJZHMoZk5vZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVPdXRwdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCA9PT0geC5mTm9kZUlkKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsSW5wdXRJZHMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChmTm9kZXMsIChmTm9kZSkgPT4gdGhpcy5fZ2V0Tm9kZUlucHV0SWRzKGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gZk5vZGUuZklkID09PSB4LmZOb2RlSWQpXG4gICAgICAubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9tYXBUb05vZGVEcmFnSGFuZGxlcnMoaXRlbXM6IEZOb2RlQmFzZVtdKTogRk5vZGVNb3ZlRHJhZ0hhbmRsZXJbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoeCkgPT4gbmV3IEZOb2RlTW92ZURyYWdIYW5kbGVyKHgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKFxuICAgIGhhbmRsZXJzOiBGTm9kZU1vdmVEcmFnSGFuZGxlcltdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZkNvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdID0gW107XG4gICAgaGFuZGxlcnMuZm9yRWFjaCgoZk5vZGVIYW5kbGVyKSA9PiB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBpbnB1dElkcywgZkNvbm5lY3Rpb25IYW5kbGVycykpO1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBvdXRwdXRJZHMsIGZDb25uZWN0aW9uSGFuZGxlcnMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERyYWdnZWROb2Rlc0JvdW5kaW5nUmVjdChmTm9kZXM6IEZOb2RlQmFzZVtdKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy51bmlvbihmTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQpKTtcbiAgICB9KSkgfHwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICB9XG59XG4iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQixxQkFBcUIsRUFDdEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxv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cEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxNQUFtQjtRQUN0RCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQVEsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dHQXBIVSw4Q0FBOEM7NEdBQTlDLDhDQUE4Qzs7QUFBOUMsOENBQThDO0lBRDFELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELDhDQUE4QyxDQXFIMUQ7OzRGQXJIWSw4Q0FBOEM7a0JBRjFELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBGTm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uL2Ytbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZU1vdmVMaW1pdHNSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LFxuICBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0LFxuICBHZXRQYXJlbnROb2Rlc1JlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IGZsYXRNYXAgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLWxpbWl0cyc7XG5pbXBvcnQgeyBJTWluTWF4UG9pbnQsIElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbiB9IGZyb20gJy4vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbic7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcj4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIGNvbnN0IGZEcmFnZ2VkTm9kZXMgPSB0aGlzLl9nZXREcmFnZ2VkTm9kZXMocmVxdWVzdC5ub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKTtcblxuICAgIGNvbnN0IGZOb2Rlc1RvRHJhZyA9IHRoaXMuX2dldE5vZGVzVG9EcmFnV2l0aENvbW1vbkxpbWl0cyhmRHJhZ2dlZE5vZGVzKTtcblxuICAgIGNvbnN0IGZEcmFnSGFuZGxlcnMgPSB0aGlzLl9tYXBUb05vZGVEcmFnSGFuZGxlcnMoZk5vZGVzVG9EcmFnKTtcblxuICAgIHRoaXMuX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKGZEcmFnSGFuZGxlcnMsIHRoaXMuX2dldEFsbE91dHB1dElkcyhmTm9kZXNUb0RyYWcpLCB0aGlzLl9nZXRBbGxJbnB1dElkcyhmTm9kZXNUb0RyYWcpKTtcblxuICAgIGNvbnN0IGNvbW1vbkxpbWl0cyA9IHRoaXMuX2NhbGN1bGF0ZUNvbW1vbkxpbWl0cyhcbiAgICAgIHRoaXMuX2dldE5vZGVzTW92ZUxpbWl0cyhmTm9kZXNUb0RyYWcsIFtdLCBmRHJhZ2dlZE5vZGVzKVxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcihcbiAgICAgIHRoaXMuX2luamVjdG9yLFxuICAgICAgY29tbW9uTGltaXRzLCBmRHJhZ0hhbmRsZXJzLCB0aGlzLl9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoZk5vZGVzVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZXMobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbj86IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTtcbiAgICBpZiAobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQobiA9PiBuLmlzQ29udGFpbnMoaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVzVG9EcmFnV2l0aENvbW1vbkxpbWl0cyhmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gZkRyYWdnZWROb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goeCk7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdCh0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHguZklkKCkpKTtcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc01vdmVMaW1pdHMoZk5vZGVzOiBGTm9kZUJhc2VbXSwgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbltdIHtcbiAgICByZXR1cm4gZkRyYWdnZWROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIGNvbnN0IGZQYXJlbnROb2RlcyA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KHgpKTtcbiAgICAgIHJldHVybiB7IHBvc2l0aW9uOiB4LnBvc2l0aW9uLCAuLi50aGlzLl9nZXROb2RlTW92ZUxpbWl0cyh4LCBmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlTW92ZUxpbWl0cyhmTm9kZTogRk5vZGVCYXNlLCBmUGFyZW50Tm9kZXM6IEZOb2RlQmFzZVtdLCBmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IElOb2RlTW92ZUxpbWl0cyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElNaW5NYXhQb2ludD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KGZOb2RlLCB0aGlzLl9pc1BhcmVudE5vZGVJbkFycmF5KGZQYXJlbnROb2RlcywgZkRyYWdnZWROb2RlcykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzUGFyZW50Tm9kZUluQXJyYXkoZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Ym9vbGVhbj4obmV3IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdChmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpKVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZyk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVDb21tb25MaW1pdHMobGltaXRzOiBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbltdKTogSU1pbk1heFBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SU1pbk1heFBvaW50PihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c1JlcXVlc3QobGltaXRzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbGxPdXRwdXRJZHMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChmTm9kZXMsIChmTm9kZSkgPT4gdGhpcy5fZ2V0Tm9kZU91dHB1dElkcyhmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU91dHB1dElkcyhmTm9kZTogRk5vZGVCYXNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gZk5vZGUuZklkKCkgPT09IHguZk5vZGVJZClcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFsbElucHV0SWRzKGZOb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoZk5vZGVzLCAoZk5vZGUpID0+IHRoaXMuX2dldE5vZGVJbnB1dElkcyhmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZUlucHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCgpID09PSB4LmZOb2RlSWQpXG4gICAgICAubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9tYXBUb05vZGVEcmFnSGFuZGxlcnMoaXRlbXM6IEZOb2RlQmFzZVtdKTogRk5vZGVNb3ZlRHJhZ0hhbmRsZXJbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoeCkgPT4gbmV3IEZOb2RlTW92ZURyYWdIYW5kbGVyKHgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKFxuICAgIGhhbmRsZXJzOiBGTm9kZU1vdmVEcmFnSGFuZGxlcltdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZkNvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdID0gW107XG4gICAgaGFuZGxlcnMuZm9yRWFjaCgoZk5vZGVIYW5kbGVyKSA9PiB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBpbnB1dElkcywgZkNvbm5lY3Rpb25IYW5kbGVycykpO1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBvdXRwdXRJZHMsIGZDb25uZWN0aW9uSGFuZGxlcnMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERyYWdnZWROb2Rlc0JvdW5kaW5nUmVjdChmTm9kZXM6IEZOb2RlQmFzZVtdKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy51bmlvbihmTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQpKTtcbiAgICB9KSkgfHwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -35,7 +35,7 @@ let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandler
|
|
|
35
35
|
request.fDragHandler.fTargetHandlers.push(fHandler);
|
|
36
36
|
}
|
|
37
37
|
_getExistingConnectionHandler(fHandlers, fConnection) {
|
|
38
|
-
return fHandlers.find((x) => x.fConnection.fId === fConnection.fId);
|
|
38
|
+
return fHandlers.find((x) => x.fConnection.fId() === fConnection.fId());
|
|
39
39
|
}
|
|
40
40
|
_createConnectionHandler(outputIds, fConnection) {
|
|
41
41
|
let result;
|
|
@@ -57,4 +57,4 @@ export { PutInputConnectionHandlersToArrayExecution };
|
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, decorators: [{
|
|
58
58
|
type: Injectable
|
|
59
59
|
}] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUlsRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7QUFJeEcsSUFBTSwwQ0FBMEMsR0FBaEQsTUFBTSwwQ0FBMEM7SUFHcEMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBaUQ7UUFDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFnQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO2FBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFdBQTRCLEVBQUUsT0FBaUQ7UUFDMUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFNBQXNDLEVBQUUsV0FBNEI7UUFDeEcsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxTQUFtQixFQUFFLFdBQTRCO1FBQ2hGLElBQUksTUFBNkMsQ0FBQztRQUNsRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxHQUFHLElBQUksaUNBQWlDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBaERVLDBDQUEwQzs0R0FBMUMsMENBQTBDOztBQUExQywwQ0FBMEM7SUFEdEQsa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsMENBQTBDLENBaUR0RDs7NEZBakRZLDBDQUEwQztrQkFGdEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9zb3VyY2UtdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy90YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9mQ29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5mRHJhZ0hhbmRsZXIuZk5vZGUpLmZvckVhY2goKGZDb25uZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLl9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihmQ29ubmVjdGlvbiwgcmVxdWVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dENvbm5lY3Rpb25zKGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldCh0aGlzLl9nZXROb2RlSW5wdXRJZHMoZk5vZGUpKTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaWRzLmhhcyh4LmZJbnB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiBmTm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgcmVxdWVzdDogUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCk6IHZvaWQge1xuICAgIGxldCBmSGFuZGxlciA9IHRoaXMuX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5yZXN1bHQsIGZDb25uZWN0aW9uKTtcbiAgICBpZiAoIWZIYW5kbGVyKSB7XG4gICAgICBmSGFuZGxlciA9IHRoaXMuX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3Qub3V0cHV0SWRzLCBmQ29ubmVjdGlvbik7XG4gICAgICByZXF1ZXN0LnJlc3VsdC5wdXNoKGZIYW5kbGVyKTtcbiAgICB9XG4gICAgcmVxdWVzdC5mRHJhZ0hhbmRsZXIuZlRhcmdldEhhbmRsZXJzLnB1c2goZkhhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihmSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmSGFuZGxlcnMuZmluZCgoeCkgPT4geC5mQ29ubmVjdGlvbi5mSWQoKSA9PT0gZkNvbm5lY3Rpb24uZklkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29ubmVjdGlvbkhhbmRsZXIob3V0cHV0SWRzOiBzdHJpbmdbXSwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQ7XG4gICAgaWYgKG91dHB1dElkcy5pbmNsdWRlcyhmQ29ubmVjdGlvbi5mT3V0cHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGZDb25uZWN0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4iXX0=
|