@foblex/flow 17.8.3 → 17.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.d.ts +8 -0
- package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.d.ts +21 -0
- package/domain/f-connectors/calculate-source-connectors-to-connect/index.d.ts +2 -0
- package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.d.ts +8 -0
- package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.d.ts +20 -0
- package/domain/f-connectors/calculate-target-connectors-to-connect/index.d.ts +2 -0
- package/domain/f-connectors/index.d.ts +2 -2
- package/domain/f-connectors/providers.d.ts +3 -3
- package/domain/f-event-trigger.d.ts +1 -1
- package/domain/f-flow/providers.d.ts +1 -1
- package/domain/f-line-alignment/providers.d.ts +1 -1
- package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +2 -2
- package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +3 -1
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +22 -0
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +52 -0
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.d.ts +6 -0
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.d.ts +22 -0
- package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +6 -0
- package/domain/f-node/calculate-connectors-connectable-sides/constants/index.d.ts +1 -0
- package/domain/f-node/calculate-connectors-connectable-sides/index.d.ts +7 -0
- package/domain/f-node/calculate-connectors-connectable-sides/models/index.d.ts +1 -0
- package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +2 -0
- package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +10 -0
- package/domain/f-node/calculate-connectors-connectable-sides/utils/index.d.ts +2 -0
- package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +7 -0
- package/domain/f-node/calculate-input-connections/calculate-input-connections-request.d.ts +2 -2
- package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +3 -3
- package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.d.ts +2 -3
- package/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts +2 -2
- package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +3 -3
- package/domain/f-node/index.d.ts +1 -2
- package/domain/f-node/providers.d.ts +2 -3
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +2 -2
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +2 -2
- package/domain/f-zoom/providers.d.ts +1 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/css-cls.mjs +2 -1
- package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.mjs +10 -0
- package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +59 -0
- package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/index.mjs +3 -0
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.mjs +10 -0
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +64 -0
- package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/index.mjs +3 -0
- package/esm2022/domain/f-connectors/index.mjs +3 -3
- package/esm2022/domain/f-connectors/providers.mjs +5 -5
- package/esm2022/domain/f-event-trigger.mjs +2 -2
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +4 -4
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +2 -2
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +10 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +59 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +3 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +8 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +132 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +3 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.mjs +8 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +73 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +12 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/index.mjs +2 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/index.mjs +8 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/index.mjs +2 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +2 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +124 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/index.mjs +3 -0
- package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +12 -0
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +4 -4
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +20 -7
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +5 -8
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +4 -4
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +20 -7
- package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
- package/esm2022/domain/f-node/index.mjs +2 -3
- package/esm2022/domain/f-node/providers.mjs +3 -5
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +3 -3
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +4 -4
- package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs +1 -1
- package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +2 -2
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -14
- package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +4 -1
- package/esm2022/domain/index.mjs +1 -1
- package/esm2022/domain/is-mobile.mjs +5 -3
- package/esm2022/f-connectors/e-f-connectable-side.mjs +3 -1
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +58 -0
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +47 -0
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -8
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +7 -7
- package/esm2022/f-draggable/f-connection/providers.mjs +4 -4
- package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +11 -13
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +14 -12
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
- package/esm2022/f-node/f-group.directive.mjs +3 -3
- package/esm2022/f-node/f-node.directive.mjs +3 -3
- package/esm2022/f-storage/f-connectors-store.mjs +11 -0
- package/esm2022/f-storage/index.mjs +2 -1
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/e-f-connectable-side.d.ts +2 -0
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.d.ts +8 -0
- package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.d.ts +16 -0
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.d.ts +8 -0
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +14 -0
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +2 -2
- package/f-draggable/f-connection/providers.d.ts +2 -2
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.d.ts +2 -2
- package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
- package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +1 -1
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.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-minimap/domain/providers.d.ts +1 -1
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/providers.d.ts +2 -2
- package/f-selection-area/domain/providers.d.ts +1 -1
- package/f-storage/f-connectors-store.d.ts +6 -0
- package/f-storage/index.d.ts +1 -0
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +1281 -1075
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +0 -17
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +0 -6
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +0 -2
- 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 +0 -18
- 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 +0 -6
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +0 -2
- package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +0 -45
- package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +0 -20
- package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.d.ts +0 -6
- package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.d.ts +0 -59
- package/domain/f-node/calculate-node-connectors-connectable-sides/index.d.ts +0 -4
- package/domain/f-node/get-nodes/get-nodes-request.d.ts +0 -3
- package/domain/f-node/get-nodes/get-nodes.d.ts +0 -13
- package/domain/f-node/get-nodes/index.d.ts +0 -2
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +0 -48
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +0 -8
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +0 -3
- 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 +0 -43
- 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 +0 -8
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +0 -3
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +0 -8
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +0 -92
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +0 -3
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +0 -8
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +0 -55
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +0 -3
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.mjs +0 -8
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.mjs +0 -99
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/index.mjs +0 -5
- package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +0 -4
- package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +0 -25
- package/esm2022/domain/f-node/get-nodes/index.mjs +0 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +0 -52
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +0 -49
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +0 -10
- package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +0 -16
- package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +0 -8
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +0 -14
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +0 -8
- /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/index.d.ts +0 -0
- /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.d.ts +0 -0
- /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/index.d.ts +0 -0
package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC1jYWxjdWxhdGUtbW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS9jYWxjdWxhdGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcy9tb2RlbHMvdC1jYWxjdWxhdGUtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgdHlwZSBUQ2FsY3VsYXRlTW9kZSA9XG4gIHwgRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFXG4gIHwgRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFX0hPUklaT05UQUxcbiAgfCBFRkNvbm5lY3RhYmxlU2lkZS5DQUxDVUxBVEVfVkVSVElDQUw7XG4iXX0=
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts allowed sides array to a compact bit mask.
|
|
3
|
+
* If not provided or empty -> all sides allowed.
|
|
4
|
+
*/
|
|
5
|
+
import { EFConnectableSide } from '../../../../f-connectors';
|
|
6
|
+
const SNAP_EPS = 2;
|
|
7
|
+
var SideMask;
|
|
8
|
+
(function (SideMask) {
|
|
9
|
+
SideMask[SideMask["NONE"] = 0] = "NONE";
|
|
10
|
+
SideMask[SideMask["LEFT"] = 1] = "LEFT";
|
|
11
|
+
SideMask[SideMask["RIGHT"] = 2] = "RIGHT";
|
|
12
|
+
SideMask[SideMask["TOP"] = 4] = "TOP";
|
|
13
|
+
SideMask[SideMask["BOTTOM"] = 8] = "BOTTOM";
|
|
14
|
+
SideMask[SideMask["ALL"] = 15] = "ALL";
|
|
15
|
+
})(SideMask || (SideMask = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Determines final side using ideal side first; if disallowed, picks best fallback.
|
|
18
|
+
* Inputs are numbers to avoid object wrappers on hot path.
|
|
19
|
+
*/
|
|
20
|
+
export function determineSide(selfX, selfY, avgX, avgY, allowed) {
|
|
21
|
+
const allowedMask = _toSideMask(allowed);
|
|
22
|
+
const dx = avgX - selfX;
|
|
23
|
+
const dy = avgY - selfY;
|
|
24
|
+
const ideal = _pickIdealSide(dx, dy);
|
|
25
|
+
if (_isAllowed(ideal, allowedMask)) {
|
|
26
|
+
return ideal;
|
|
27
|
+
}
|
|
28
|
+
return _pickFallbackSide(dx, dy, allowedMask, ideal);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Converts allowed sides array to a compact bit mask.
|
|
32
|
+
* If not provided or empty -> all sides allowed.
|
|
33
|
+
*/
|
|
34
|
+
function _toSideMask(allowed) {
|
|
35
|
+
if (!allowed || allowed.length === 0)
|
|
36
|
+
return SideMask.ALL;
|
|
37
|
+
let mask = SideMask.NONE;
|
|
38
|
+
for (let i = 0; i < allowed.length; i++) {
|
|
39
|
+
switch (allowed[i]) {
|
|
40
|
+
case EFConnectableSide.LEFT:
|
|
41
|
+
mask |= SideMask.LEFT;
|
|
42
|
+
break;
|
|
43
|
+
case EFConnectableSide.RIGHT:
|
|
44
|
+
mask |= SideMask.RIGHT;
|
|
45
|
+
break;
|
|
46
|
+
case EFConnectableSide.TOP:
|
|
47
|
+
mask |= SideMask.TOP;
|
|
48
|
+
break;
|
|
49
|
+
case EFConnectableSide.BOTTOM:
|
|
50
|
+
mask |= SideMask.BOTTOM;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return mask || SideMask.ALL;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Picks the "ideal" side based on vector (dx, dy) with hysteresis.
|
|
58
|
+
*/
|
|
59
|
+
function _pickIdealSide(dx, dy) {
|
|
60
|
+
const ax = dx < 0 ? -dx : dx;
|
|
61
|
+
const ay = dy < 0 ? -dy : dy;
|
|
62
|
+
if (ax - ay > SNAP_EPS) {
|
|
63
|
+
return dx < 0 ? EFConnectableSide.LEFT : EFConnectableSide.RIGHT;
|
|
64
|
+
}
|
|
65
|
+
if (ay - ax > SNAP_EPS) {
|
|
66
|
+
return dy < 0 ? EFConnectableSide.TOP : EFConnectableSide.BOTTOM;
|
|
67
|
+
}
|
|
68
|
+
return dy < 0 ? EFConnectableSide.TOP : EFConnectableSide.BOTTOM;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Quick membership check via bit mask.
|
|
72
|
+
*/
|
|
73
|
+
function _isAllowed(side, mask) {
|
|
74
|
+
switch (side) {
|
|
75
|
+
case EFConnectableSide.LEFT:
|
|
76
|
+
return (mask & SideMask.LEFT) !== 0;
|
|
77
|
+
case EFConnectableSide.RIGHT:
|
|
78
|
+
return (mask & SideMask.RIGHT) !== 0;
|
|
79
|
+
case EFConnectableSide.TOP:
|
|
80
|
+
return (mask & SideMask.TOP) !== 0;
|
|
81
|
+
case EFConnectableSide.BOTTOM:
|
|
82
|
+
return (mask & SideMask.BOTTOM) !== 0;
|
|
83
|
+
default:
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Picks the best available side from allowed mask by maximizing directional score.
|
|
89
|
+
* No intermediate objects, constant-time operations.
|
|
90
|
+
*/
|
|
91
|
+
function _pickFallbackSide(dx, dy, allowedMask, ideal) {
|
|
92
|
+
let bestSide = ideal;
|
|
93
|
+
let bestScore = -Infinity;
|
|
94
|
+
if (allowedMask & SideMask.RIGHT) {
|
|
95
|
+
const s = dx;
|
|
96
|
+
if (s > bestScore) {
|
|
97
|
+
bestScore = s;
|
|
98
|
+
bestSide = EFConnectableSide.RIGHT;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (allowedMask & SideMask.LEFT) {
|
|
102
|
+
const s = -dx;
|
|
103
|
+
if (s > bestScore) {
|
|
104
|
+
bestScore = s;
|
|
105
|
+
bestSide = EFConnectableSide.LEFT;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (allowedMask & SideMask.BOTTOM) {
|
|
109
|
+
const s = dy;
|
|
110
|
+
if (s > bestScore) {
|
|
111
|
+
bestScore = s;
|
|
112
|
+
bestSide = EFConnectableSide.BOTTOM;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (allowedMask & SideMask.TOP) {
|
|
116
|
+
const s = -dy;
|
|
117
|
+
if (s > bestScore) {
|
|
118
|
+
bestScore = s;
|
|
119
|
+
bestSide = EFConnectableSide.TOP;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return bestSide;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZXJtaW5lLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMvdXRpbHMvZGV0ZXJtaW5lLXNpZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRW5CLElBQUssUUFPSjtBQVBELFdBQUssUUFBUTtJQUNYLHVDQUFRLENBQUE7SUFDUix1Q0FBYSxDQUFBO0lBQ2IseUNBQWMsQ0FBQTtJQUNkLHFDQUFZLENBQUE7SUFDWiwyQ0FBZSxDQUFBO0lBQ2Ysc0NBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQVBJLFFBQVEsS0FBUixRQUFRLFFBT1o7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUMzQixLQUFhLEVBQ2IsS0FBYSxFQUNiLElBQVksRUFDWixJQUFZLEVBQ1osT0FBNkI7SUFFN0IsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7SUFDeEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUV4QixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXJDLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7R0FH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LENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYWxsb3dlZCBzaWRlcyBhcnJheSB0byBhIGNvbXBhY3QgYml0IG1hc2suXG4gKiBJZiBub3QgcHJvdmlkZWQgb3IgZW1wdHkgLT4gYWxsIHNpZGVzIGFsbG93ZWQuXG4gKi9cbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuY29uc3QgU05BUF9FUFMgPSAyO1xuXG5lbnVtIFNpZGVNYXNrIHtcbiAgTk9ORSA9IDAsXG4gIExFRlQgPSAxIDw8IDAsXG4gIFJJR0hUID0gMSA8PCAxLFxuICBUT1AgPSAxIDw8IDIsXG4gIEJPVFRPTSA9IDEgPDwgMyxcbiAgQUxMID0gKDEgPDwgNCkgLSAxLFxufVxuXG4vKipcbiAqIERldGVybWluZXMgZmluYWwgc2lkZSB1c2luZyBpZGVhbCBzaWRlIGZpcnN0OyBpZiBkaXNhbGxvd2VkLCBwaWNrcyBiZXN0IGZhbGxiYWNrLlxuICogSW5wdXRzIGFyZSBudW1iZXJzIHRvIGF2b2lkIG9iamVjdCB3cmFwcGVycyBvbiBob3QgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVybWluZVNpZGUoXG4gIHNlbGZYOiBudW1iZXIsXG4gIHNlbGZZOiBudW1iZXIsXG4gIGF2Z1g6IG51bWJlcixcbiAgYXZnWTogbnVtYmVyLFxuICBhbGxvd2VkPzogRUZDb25uZWN0YWJsZVNpZGVbXSxcbik6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgY29uc3QgYWxsb3dlZE1hc2sgPSBfdG9TaWRlTWFzayhhbGxvd2VkKTtcblxuICBjb25zdCBkeCA9IGF2Z1ggLSBzZWxmWDtcbiAgY29uc3QgZHkgPSBhdmdZIC0gc2VsZlk7XG5cbiAgY29uc3QgaWRlYWwgPSBfcGlja0lkZWFsU2lkZShkeCwgZHkpO1xuXG4gIGlmIChfaXNBbGxvd2VkKGlkZWFsLCBhbGxvd2VkTWFzaykpIHtcbiAgICByZXR1cm4gaWRlYWw7XG4gIH1cblxuICByZXR1cm4gX3BpY2tGYWxsYmFja1NpZGUoZHgsIGR5LCBhbGxvd2VkTWFzaywgaWRlYWwpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFsbG93ZWQgc2lkZXMgYXJyYXkgdG8gYSBjb21wYWN0IGJpdCBtYXNrLlxuICogSWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5IC0+IGFsbCBzaWRlcyBhbGxvd2VkLlxuICovXG5mdW5jdGlvbiBfdG9TaWRlTWFzayhhbGxvd2VkPzogRUZDb25uZWN0YWJsZVNpZGVbXSk6IFNpZGVNYXNrIHtcbiAgaWYgKCFhbGxvd2VkIHx8IGFsbG93ZWQubGVuZ3RoID09PSAwKSByZXR1cm4gU2lkZU1hc2suQUxMO1xuXG4gIGxldCBtYXNrID0gU2lkZU1hc2suTk9ORTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbGxvd2VkLmxlbmd0aDsgaSsrKSB7XG4gICAgc3dpdGNoIChhbGxvd2VkW2ldKSB7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ6XG4gICAgICAgIG1hc2sgfD0gU2lkZU1hc2suTEVGVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICBtYXNrIHw9IFNpZGVNYXNrLlJJR0hUO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICBtYXNrIHw9IFNpZGVNYXNrLlRPUDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTpcbiAgICAgICAgbWFzayB8PSBTaWRlTWFzay5CT1RUT007XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtYXNrIHx8IFNpZGVNYXNrLkFMTDtcbn1cblxuLyoqXG4gKiBQaWNrcyB0aGUgXCJpZGVhbFwiIHNpZGUgYmFzZWQgb24gdmVjdG9yIChkeCwgZHkpIHdpdGggaHlzdGVyZXNpcy5cbiAqL1xuZnVuY3Rpb24gX3BpY2tJZGVhbFNpZGUoZHg6IG51bWJlciwgZHk6IG51bWJlcik6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgY29uc3QgYXggPSBkeCA8IDAgPyAtZHggOiBkeDtcbiAgY29uc3QgYXkgPSBkeSA8IDAgPyAtZHkgOiBkeTtcblxuICBpZiAoYXggLSBheSA+IFNOQVBfRVBTKSB7XG4gICAgcmV0dXJuIGR4IDwgMCA/IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQgOiBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVDtcbiAgfVxuICBpZiAoYXkgLSBheCA+IFNOQVBfRVBTKSB7XG4gICAgcmV0dXJuIGR5IDwgMCA/IEVGQ29ubmVjdGFibGVTaWRlLlRPUCA6IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTtcbiAgfVxuXG4gIHJldHVybiBkeSA8IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5UT1AgOiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG59XG5cbi8qKlxuICogUXVpY2sgbWVtYmVyc2hpcCBjaGVjayB2aWEgYml0IG1hc2suXG4gKi9cbmZ1bmN0aW9uIF9pc0FsbG93ZWQoc2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIG1hc2s6IFNpZGVNYXNrKTogYm9vbGVhbiB7XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgIHJldHVybiAobWFzayAmIFNpZGVNYXNrLkxFRlQpICE9PSAwO1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICByZXR1cm4gKG1hc2sgJiBTaWRlTWFzay5SSUdIVCkgIT09IDA7XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICByZXR1cm4gKG1hc2sgJiBTaWRlTWFzay5UT1ApICE9PSAwO1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgcmV0dXJuIChtYXNrICYgU2lkZU1hc2suQk9UVE9NKSAhPT0gMDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuLyoqXG4gKiBQaWNrcyB0aGUgYmVzdCBhdmFpbGFibGUgc2lkZSBmcm9tIGFsbG93ZWQgbWFzayBieSBtYXhpbWl6aW5nIGRpcmVjdGlvbmFsIHNjb3JlLlxuICogTm8gaW50ZXJtZWRpYXRlIG9iamVjdHMsIGNvbnN0YW50LXRpbWUgb3BlcmF0aW9ucy5cbiAqL1xuZnVuY3Rpb24gX3BpY2tGYWxsYmFja1NpZGUoXG4gIGR4OiBudW1iZXIsXG4gIGR5OiBudW1iZXIsXG4gIGFsbG93ZWRNYXNrOiBTaWRlTWFzayxcbiAgaWRlYWw6IEVGQ29ubmVjdGFibGVTaWRlLFxuKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICBsZXQgYmVzdFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gaWRlYWw7XG4gIGxldCBiZXN0U2NvcmUgPSAtSW5maW5pdHk7XG5cbiAgaWYgKGFsbG93ZWRNYXNrICYgU2lkZU1hc2suUklHSFQpIHtcbiAgICBjb25zdCBzID0gZHg7XG4gICAgaWYgKHMgPiBiZXN0U2NvcmUpIHtcbiAgICAgIGJlc3RTY29yZSA9IHM7XG4gICAgICBiZXN0U2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUO1xuICAgIH1cbiAgfVxuICBpZiAoYWxsb3dlZE1hc2sgJiBTaWRlTWFzay5MRUZUKSB7XG4gICAgY29uc3QgcyA9IC1keDtcbiAgICBpZiAocyA+IGJlc3RTY29yZSkge1xuICAgICAgYmVzdFNjb3JlID0gcztcbiAgICAgIGJlc3RTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICB9XG4gIH1cbiAgaWYgKGFsbG93ZWRNYXNrICYgU2lkZU1hc2suQk9UVE9NKSB7XG4gICAgY29uc3QgcyA9IGR5O1xuICAgIGlmIChzID4gYmVzdFNjb3JlKSB7XG4gICAgICBiZXN0U2NvcmUgPSBzO1xuICAgICAgYmVzdFNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgfVxuICB9XG4gIGlmIChhbGxvd2VkTWFzayAmIFNpZGVNYXNrLlRPUCkge1xuICAgIGNvbnN0IHMgPSAtZHk7XG4gICAgaWYgKHMgPiBiZXN0U2NvcmUpIHtcbiAgICAgIGJlc3RTY29yZSA9IHM7XG4gICAgICBiZXN0U2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLlRPUDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYmVzdFNpZGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './determine-side';
|
|
2
|
+
export * from './is-calculate-mode';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZXRlcm1pbmUtc2lkZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWNhbGN1bGF0ZS1tb2RlJztcbiJdfQ==
|
package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EFConnectableSide } from '../../../../f-connectors';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the given side is one of the calculate modes.
|
|
4
|
+
* @param side The connectable side to check.
|
|
5
|
+
* @returns True if the side is a calculate mode, false otherwise.
|
|
6
|
+
*/
|
|
7
|
+
export function isCalculateMode(side) {
|
|
8
|
+
return (side === EFConnectableSide.CALCULATE ||
|
|
9
|
+
side === EFConnectableSide.CALCULATE_HORIZONTAL ||
|
|
10
|
+
side === EFConnectableSide.CALCULATE_VERTICAL);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2FsY3VsYXRlLW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMvdXRpbHMvaXMtY2FsY3VsYXRlLW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBdUI7SUFDckQsT0FBTyxDQUNMLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxTQUFTO1FBQ3BDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxvQkFBb0I7UUFDL0MsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGtCQUFrQixDQUM5QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIHNpZGUgaXMgb25lIG9mIHRoZSBjYWxjdWxhdGUgbW9kZXMuXG4gKiBAcGFyYW0gc2lkZSBUaGUgY29ubmVjdGFibGUgc2lkZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNpZGUgaXMgYSBjYWxjdWxhdGUgbW9kZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYWxjdWxhdGVNb2RlKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFIHx8XG4gICAgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFX0hPUklaT05UQUwgfHxcbiAgICBzaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5DQUxDVUxBVEVfVkVSVElDQUxcbiAgKTtcbn1cbiJdfQ==
|
package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class CalculateInputConnectionsRequest {
|
|
2
|
-
|
|
2
|
+
nodeOrGroup;
|
|
3
3
|
static fToken = Symbol('CalculateInputConnectionsRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(nodeOrGroup) {
|
|
5
|
+
this.nodeOrGroup = nodeOrGroup;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zL2NhbGN1bGF0ZS1pbnB1dC1jb25uZWN0aW9ucy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQ0FBZ0M7SUFFZjtJQUQ1QixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3BFLFlBQTRCLFdBQXNCO1FBQXRCLGdCQUFXLEdBQVgsV0FBVyxDQUFXO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUlucHV0Q29ubmVjdGlvbnNSZXF1ZXN0Jyk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBub2RlT3JHcm91cDogRk5vZGVCYXNlKSB7fVxufVxuIl19
|
|
@@ -9,14 +9,27 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
*/
|
|
10
10
|
let CalculateInputConnections = class CalculateInputConnections {
|
|
11
11
|
_store = inject(FComponentsStore);
|
|
12
|
-
handle(
|
|
13
|
-
|
|
12
|
+
handle({ nodeOrGroup }) {
|
|
13
|
+
const ids = this._collectInputIds(nodeOrGroup);
|
|
14
|
+
return this._collectConnections(ids);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
_collectInputIds(nodeOrGroup) {
|
|
17
|
+
const ids = new Set();
|
|
18
|
+
for (const connector of this._store.fInputs) {
|
|
19
|
+
if (nodeOrGroup.isContains(connector.hostElement)) {
|
|
20
|
+
ids.add(connector.fId());
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ids;
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
_collectConnections(ids) {
|
|
26
|
+
const result = [];
|
|
27
|
+
for (const conn of this._store.fConnections) {
|
|
28
|
+
if (ids.has(conn.fInputId())) {
|
|
29
|
+
result.push(conn);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
20
33
|
}
|
|
21
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateInputConnections, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
35
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateInputConnections });
|
|
@@ -28,4 +41,4 @@ export { CalculateInputConnections };
|
|
|
28
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateInputConnections, decorators: [{
|
|
29
42
|
type: Injectable
|
|
30
43
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL2NhbGN1bGF0ZS1pbnB1dC1jb25uZWN0aW9ucy9jYWxjdWxhdGUtaW5wdXQtY29ubmVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUl0RDs7R0FFRztBQUdJLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBR25CLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQW9DO1FBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBc0I7UUFDN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUM5QixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBZ0I7UUFDMUMsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQS9CVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7QUFBekIseUJBQXlCO0lBRHJDLGtCQUFrQixDQUFDLGdDQUFnQyxDQUFDO0dBQ3hDLHlCQUF5QixDQWdDckM7OzRGQWhDWSx5QkFBeUI7a0JBRnJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ2FsY3VsYXRlSW5wdXRDb25uZWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1pbnB1dC1jb25uZWN0aW9ucy1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgY2FsY3VsYXRlcyBpbnB1dCBjb25uZWN0aW9ucyBmb3IgYSBnaXZlbiBGTm9kZS5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zUmVxdWVzdCwgRkNvbm5lY3Rpb25CYXNlW10+XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUoeyBub2RlT3JHcm91cCB9OiBDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zUmVxdWVzdCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBpZHMgPSB0aGlzLl9jb2xsZWN0SW5wdXRJZHMobm9kZU9yR3JvdXApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3RDb25uZWN0aW9ucyhpZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29sbGVjdElucHV0SWRzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBjb25uZWN0b3Igb2YgdGhpcy5fc3RvcmUuZklucHV0cykge1xuICAgICAgaWYgKG5vZGVPckdyb3VwLmlzQ29udGFpbnMoY29ubmVjdG9yLmhvc3RFbGVtZW50KSkge1xuICAgICAgICBpZHMuYWRkKGNvbm5lY3Rvci5mSWQoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIHByaXZhdGUgX2NvbGxlY3RDb25uZWN0aW9ucyhpZHM6IFNldDxzdHJpbmc+KTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IHJlc3VsdDogRkNvbm5lY3Rpb25CYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNvbm4gb2YgdGhpcy5fc3RvcmUuZkNvbm5lY3Rpb25zKSB7XG4gICAgICBpZiAoaWRzLmhhcyhjb25uLmZJbnB1dElkKCkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvbm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,14 +11,11 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
*/
|
|
12
12
|
let CalculateNodesBoundingBox = class CalculateNodesBoundingBox {
|
|
13
13
|
_store = inject(FComponentsStore);
|
|
14
|
-
handle(
|
|
15
|
-
return RectExtensions.union(this.
|
|
14
|
+
handle(_request) {
|
|
15
|
+
return RectExtensions.union(this._nodesRects());
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
return this._store.fNodes.map((x) =>
|
|
19
|
-
}
|
|
20
|
-
_getElementRect(element) {
|
|
21
|
-
return RectExtensions.fromElement(element);
|
|
17
|
+
_nodesRects() {
|
|
18
|
+
return this._store.fNodes.map((x) => RectExtensions.fromElement(x.hostElement));
|
|
22
19
|
}
|
|
23
20
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBox, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
21
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBox });
|
|
@@ -30,4 +27,4 @@ export { CalculateNodesBoundingBox };
|
|
|
30
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBox, decorators: [{
|
|
31
28
|
type: Injectable
|
|
32
29
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94L2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFOzs7R0FHRztBQUdJLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBR25CLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsUUFBMEM7UUFDdEQsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7d0dBWFUseUJBQXlCOzRHQUF6Qix5QkFBeUI7O0FBQXpCLHlCQUF5QjtJQURyQyxrQkFBa0IsQ0FBQyxnQ0FBZ0MsQ0FBQztHQUN4Qyx5QkFBeUIsQ0FZckM7OzRGQVpZLHlCQUF5QjtrQkFGckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveFJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgY2FsY3VsYXRlcyB0aGUgYm91bmRpbmcgYm94IG9mIGFsbCBub2RlcyBpbiB0aGUgRkNvbXBvbmVudHNTdG9yZS5cbiAqIEl0IHJldHJpZXZlcyB0aGUgcmVjdGFuZ2xlcyBvZiBlYWNoIG5vZGUncyBob3N0IGVsZW1lbnQgYW5kIGNvbXB1dGVzIHRoZWlyIHVuaW9uLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hSZXF1ZXN0LCBJUmVjdCB8IG51bGw+XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUoX3JlcXVlc3Q6IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hSZXF1ZXN0KTogSVJlY3QgfCBudWxsIHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24odGhpcy5fbm9kZXNSZWN0cygpKTtcbiAgfVxuXG4gIHByaXZhdGUgX25vZGVzUmVjdHMoKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZOb2Rlcy5tYXAoKHgpID0+IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHguaG9zdEVsZW1lbnQpKTtcbiAgfVxufVxuIl19
|
package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class CalculateOutputConnectionsRequest {
|
|
2
|
-
|
|
2
|
+
nodeOrGroup;
|
|
3
3
|
static fToken = Symbol('CalculateOutputConnectionsRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(nodeOrGroup) {
|
|
5
|
+
this.nodeOrGroup = nodeOrGroup;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL2NhbGN1bGF0ZS1vdXRwdXQtY29ubmVjdGlvbnMvY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQ0FBaUM7SUFFaEI7SUFENUIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUNyRSxZQUE0QixXQUFzQjtRQUF0QixnQkFBVyxHQUFYLFdBQVcsQ0FBVztJQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnNSZXF1ZXN0Jyk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBub2RlT3JHcm91cDogRk5vZGVCYXNlKSB7fVxufVxuIl19
|
|
@@ -9,14 +9,27 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
*/
|
|
10
10
|
let CalculateOutputConnections = class CalculateOutputConnections {
|
|
11
11
|
_store = inject(FComponentsStore);
|
|
12
|
-
handle(
|
|
13
|
-
|
|
12
|
+
handle({ nodeOrGroup }) {
|
|
13
|
+
const ids = this._collectOutputIds(nodeOrGroup);
|
|
14
|
+
return this._collectConnections(ids);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
_collectOutputIds(nodeOrGroup) {
|
|
17
|
+
const ids = new Set();
|
|
18
|
+
for (const connector of this._store.fOutputs) {
|
|
19
|
+
if (nodeOrGroup.isContains(connector.hostElement)) {
|
|
20
|
+
ids.add(connector.fId());
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ids;
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
_collectConnections(ids) {
|
|
26
|
+
const result = [];
|
|
27
|
+
for (const conn of this._store.fConnections) {
|
|
28
|
+
if (ids.has(conn.fOutputId())) {
|
|
29
|
+
result.push(conn);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
20
33
|
}
|
|
21
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnections, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
35
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnections });
|
|
@@ -28,4 +41,4 @@ export { CalculateOutputConnections };
|
|
|
28
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnections, decorators: [{
|
|
29
42
|
type: Injectable
|
|
30
43
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS9jYWxjdWxhdGUtb3V0cHV0LWNvbm5lY3Rpb25zL2NhbGN1bGF0ZS1vdXRwdXQtY29ubmVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUl0RDs7R0FFRztBQUdJLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBR3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQXFDO1FBQzlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8saUJBQWlCLENBQUMsV0FBc0I7UUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUM5QixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBZ0I7UUFDMUMsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQS9CVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7QUFBMUIsMEJBQTBCO0lBRHRDLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDO0dBQ3pDLDBCQUEwQixDQWdDdEM7OzRGQWhDWSwwQkFBMEI7a0JBRnRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtb3V0cHV0LWNvbm5lY3Rpb25zLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBjYWxjdWxhdGVzIG91dHB1dCBjb25uZWN0aW9ucyBmb3IgYSBnaXZlbiBGTm9kZS5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnNcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zUmVxdWVzdCwgRkNvbm5lY3Rpb25CYXNlW10+XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUoeyBub2RlT3JHcm91cCB9OiBDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9uc1JlcXVlc3QpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gdGhpcy5fY29sbGVjdE91dHB1dElkcyhub2RlT3JHcm91cCk7XG5cbiAgICByZXR1cm4gdGhpcy5fY29sbGVjdENvbm5lY3Rpb25zKGlkcyk7XG4gIH1cblxuICBwcml2YXRlIF9jb2xsZWN0T3V0cHV0SWRzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBjb25uZWN0b3Igb2YgdGhpcy5fc3RvcmUuZk91dHB1dHMpIHtcbiAgICAgIGlmIChub2RlT3JHcm91cC5pc0NvbnRhaW5zKGNvbm5lY3Rvci5ob3N0RWxlbWVudCkpIHtcbiAgICAgICAgaWRzLmFkZChjb25uZWN0b3IuZklkKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpZHM7XG4gIH1cblxuICBwcml2YXRlIF9jb2xsZWN0Q29ubmVjdGlvbnMoaWRzOiBTZXQ8c3RyaW5nPik6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQ6IEZDb25uZWN0aW9uQmFzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBjb25uIG9mIHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucykge1xuICAgICAgaWYgKGlkcy5oYXMoY29ubi5mT3V0cHV0SWQoKSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goY29ubik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -5,4 +5,4 @@ export class GetChildNodeIdsRequest {
|
|
|
5
5
|
this.id = id;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNoaWxkLW5vZGUtaWRzLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvZ2V0LWNoaWxkLW5vZGUtaWRzL2dldC1jaGlsZC1ub2RlLWlkcy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxzQkFBc0I7SUFFZDtJQURuQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzFELFlBQW1CLEVBQWtCO1FBQWxCLE9BQUUsR0FBRixFQUFFLENBQWdCO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXRDaGlsZE5vZGVJZHNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnR2V0Q2hpbGROb2RlSWRzUmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ/OiBzdHJpbmcgfCBudWxsKSB7fVxufVxuIl19
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
export * from './add-node-to-store';
|
|
2
2
|
export * from './calculate-input-connections';
|
|
3
|
-
export * from './calculate-
|
|
3
|
+
export * from './calculate-connectors-connectable-sides';
|
|
4
4
|
export * from './calculate-nodes-bounding-box';
|
|
5
5
|
export * from './calculate-nodes-bounding-box-normalized-position';
|
|
6
6
|
export * from './calculate-output-connections';
|
|
7
7
|
export * from './fit-to-child-nodes-and-groups';
|
|
8
8
|
export * from './get-child-node-ids';
|
|
9
9
|
export * from './get-node-padding';
|
|
10
|
-
export * from './get-nodes';
|
|
11
10
|
export * from './get-parent-nodes';
|
|
12
11
|
export * from './update-node-when-state-or-size-changed';
|
|
13
12
|
export * from './remove-node-from-store';
|
|
14
13
|
export * from './providers';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1ub2RlLXRvLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtaW5wdXQtY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0b3JzLWNvbm5lY3RhYmxlLXNpZGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94JztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1vdXRwdXQtY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpdC10by1jaGlsZC1ub2Rlcy1hbmQtZ3JvdXBzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2hpbGQtbm9kZS1pZHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmUtbm9kZS1mcm9tLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AddNodeToStore } from './add-node-to-store';
|
|
2
2
|
import { RemoveNodeFromStore } from './remove-node-from-store';
|
|
3
3
|
import { UpdateNodeWhenStateOrSizeChanged } from './update-node-when-state-or-size-changed';
|
|
4
|
-
import { GetNodes } from './get-nodes';
|
|
5
4
|
import { CalculateNodesBoundingBox } from './calculate-nodes-bounding-box';
|
|
6
5
|
import { CalculateNodesBoundingBoxNormalizedPosition } from './calculate-nodes-bounding-box-normalized-position';
|
|
7
6
|
import { GetNodePadding } from './get-node-padding';
|
|
@@ -10,7 +9,7 @@ import { CalculateInputConnections } from './calculate-input-connections';
|
|
|
10
9
|
import { CalculateOutputConnections } from './calculate-output-connections';
|
|
11
10
|
import { GetChildNodeIds } from './get-child-node-ids';
|
|
12
11
|
import { FitToChildNodesAndGroups } from './fit-to-child-nodes-and-groups';
|
|
13
|
-
import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByInternalPosition,
|
|
12
|
+
import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByInternalPosition, CalculateConnectorsConnectableSides, } from './calculate-connectors-connectable-sides';
|
|
14
13
|
/**
|
|
15
14
|
* This file exports all the node-related executions that can be used in the F-Flow domain.
|
|
16
15
|
*/
|
|
@@ -19,16 +18,15 @@ export const F_NODE_FEATURES = [
|
|
|
19
18
|
CalculateConnectableSideByConnectedPositions,
|
|
20
19
|
CalculateConnectableSideByInternalPosition,
|
|
21
20
|
CalculateInputConnections,
|
|
22
|
-
|
|
21
|
+
CalculateConnectorsConnectableSides,
|
|
23
22
|
CalculateNodesBoundingBox,
|
|
24
23
|
CalculateNodesBoundingBoxNormalizedPosition,
|
|
25
24
|
CalculateOutputConnections,
|
|
26
25
|
FitToChildNodesAndGroups,
|
|
27
26
|
GetChildNodeIds,
|
|
28
27
|
GetNodePadding,
|
|
29
|
-
GetNodes,
|
|
30
28
|
GetParentNodes,
|
|
31
29
|
UpdateNodeWhenStateOrSizeChanged,
|
|
32
30
|
RemoveNodeFromStore,
|
|
33
31
|
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDakgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUNMLDRDQUE0QyxFQUM1QywwQ0FBMEMsRUFDMUMsbUNBQW1DLEdBQ3BDLE1BQU0sMENBQTBDLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsY0FBYztJQUVkLDRDQUE0QztJQUU1QywwQ0FBMEM7SUFFMUMseUJBQXlCO0lBRXpCLG1DQUFtQztJQUVuQyx5QkFBeUI7SUFFekIsMkNBQTJDO0lBRTNDLDBCQUEwQjtJQUUxQix3QkFBd0I7SUFFeEIsZUFBZTtJQUVmLGNBQWM7SUFFZCxjQUFjO0lBRWQsZ0NBQWdDO0lBRWhDLG1CQUFtQjtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTm9kZVRvU3RvcmUgfSBmcm9tICcuL2FkZC1ub2RlLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZU5vZGVGcm9tU3RvcmUgfSBmcm9tICcuL3JlbW92ZS1ub2RlLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWQgfSBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3ggfSBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveE5vcm1hbGl6ZWRQb3NpdGlvbiB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uJztcbmltcG9ydCB7IEdldE5vZGVQYWRkaW5nIH0gZnJvbSAnLi9nZXQtbm9kZS1wYWRkaW5nJztcbmltcG9ydCB7IEdldFBhcmVudE5vZGVzIH0gZnJvbSAnLi9nZXQtcGFyZW50LW5vZGVzJztcbmltcG9ydCB7IENhbGN1bGF0ZUlucHV0Q29ubmVjdGlvbnMgfSBmcm9tICcuL2NhbGN1bGF0ZS1pbnB1dC1jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9ucyB9IGZyb20gJy4vY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBHZXRDaGlsZE5vZGVJZHMgfSBmcm9tICcuL2dldC1jaGlsZC1ub2RlLWlkcyc7XG5pbXBvcnQgeyBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHMgfSBmcm9tICcuL2ZpdC10by1jaGlsZC1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3RhYmxlU2lkZUJ5Q29ubmVjdGVkUG9zaXRpb25zLFxuICBDYWxjdWxhdGVDb25uZWN0YWJsZVNpZGVCeUludGVybmFsUG9zaXRpb24sXG4gIENhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzLFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0b3JzLWNvbm5lY3RhYmxlLXNpZGVzJztcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIG5vZGUtcmVsYXRlZCBleGVjdXRpb25zIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX05PREVfRkVBVFVSRVMgPSBbXG4gIEFkZE5vZGVUb1N0b3JlLFxuXG4gIENhbGN1bGF0ZUNvbm5lY3RhYmxlU2lkZUJ5Q29ubmVjdGVkUG9zaXRpb25zLFxuXG4gIENhbGN1bGF0ZUNvbm5lY3RhYmxlU2lkZUJ5SW50ZXJuYWxQb3NpdGlvbixcblxuICBDYWxjdWxhdGVJbnB1dENvbm5lY3Rpb25zLFxuXG4gIENhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzLFxuXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3gsXG5cbiAgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveE5vcm1hbGl6ZWRQb3NpdGlvbixcblxuICBDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9ucyxcblxuICBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHMsXG5cbiAgR2V0Q2hpbGROb2RlSWRzLFxuXG4gIEdldE5vZGVQYWRkaW5nLFxuXG4gIEdldFBhcmVudE5vZGVzLFxuXG4gIFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkLFxuXG4gIFJlbW92ZU5vZGVGcm9tU3RvcmUsXG5dO1xuIl19
|
|
@@ -7,7 +7,7 @@ import { debounceTime, FChannelHub, notifyOnStart } from '../../../reactivity';
|
|
|
7
7
|
import { FResizeChannel } from '../../../reactivity';
|
|
8
8
|
import { FitToChildNodesAndGroupsRequest } from '../fit-to-child-nodes-and-groups';
|
|
9
9
|
import { IsDragStartedRequest } from '../../f-draggable';
|
|
10
|
-
import {
|
|
10
|
+
import { CalculateConnectorsConnectableSidesRequest } from '../calculate-connectors-connectable-sides';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
/**
|
|
13
13
|
* Execution that updates a node's connectors when its state or size changes.
|
|
@@ -26,7 +26,7 @@ let UpdateNodeWhenStateOrSizeChanged = class UpdateNodeWhenStateOrSizeChanged {
|
|
|
26
26
|
.listen(destroyRef, () => {
|
|
27
27
|
this._mediator.execute(new NotifyDataChangedRequest());
|
|
28
28
|
if (!this._isDragging()) {
|
|
29
|
-
this._mediator.execute(new
|
|
29
|
+
this._mediator.execute(new CalculateConnectorsConnectableSidesRequest(nodeOrGroup));
|
|
30
30
|
this._mediator.execute(new FitToChildNodesAndGroupsRequest(nodeOrGroup));
|
|
31
31
|
}
|
|
32
32
|
});
|
|
@@ -44,4 +44,4 @@ export { UpdateNodeWhenStateOrSizeChanged };
|
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateNodeWhenStateOrSizeChanged, decorators: [{
|
|
45
45
|
type: Injectable
|
|
46
46
|
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRXZHOztHQUVHO0FBR0ksSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFHMUIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBMkM7UUFDaEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFbEQsSUFBSSxXQUFXLENBQUMsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxDQUFDO2FBQzNELElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdkMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBTyxJQUFJLDBDQUEwQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBRTFGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFPLElBQUksK0JBQStCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBNUJVLGdDQUFnQzs0R0FBaEMsZ0NBQWdDOztBQUFoQyxnQ0FBZ0M7SUFENUMsa0JBQWtCLENBQUMsdUNBQXVDLENBQUM7R0FDL0MsZ0NBQWdDLENBNkI1Qzs7NEZBN0JZLGdDQUFnQztrQkFGNUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4vdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQtcmVxdWVzdCc7XG5pbXBvcnQgeyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBGQ2hhbm5lbEh1Yiwgbm90aWZ5T25TdGFydCB9IGZyb20gJy4uLy4uLy4uL3JlYWN0aXZpdHknO1xuaW1wb3J0IHsgRlJlc2l6ZUNoYW5uZWwgfSBmcm9tICcuLi8uLi8uLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IEZpdFRvQ2hpbGROb2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi9maXQtdG8tY2hpbGQtbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBJc0RyYWdTdGFydGVkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCB9IGZyb20gJy4uL2NhbGN1bGF0ZS1jb25uZWN0b3JzLWNvbm5lY3RhYmxlLXNpZGVzJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCB1cGRhdGVzIGEgbm9kZSdzIGNvbm5lY3RvcnMgd2hlbiBpdHMgc3RhdGUgb3Igc2l6ZSBjaGFuZ2VzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248VXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0LCB2b2lkPlxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSByZXF1ZXN0IHRvIHVwZGF0ZSB0aGUgbm9kZSdzIGNvbm5lY3RvcnMgYmFzZWQgb24gc3RhdGUgb3Igc2l6ZSBjaGFuZ2VzLlxuICAgKiBJdCBsaXN0ZW5zIGZvciByZXNpemUgZXZlbnRzIGFuZCByZWNhbGN1bGF0ZXMgdGhlIGNvbm5lY3RhYmxlIHNpZGVzIG9mIHRoZSBjb25uZWN0b3JzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFxuICAgKi9cbiAgcHVibGljIGhhbmRsZSh7IG5vZGVPckdyb3VwLCBkZXN0cm95UmVmIH06IFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IHsgaG9zdEVsZW1lbnQsIHN0YXRlQ2hhbmdlcyB9ID0gbm9kZU9yR3JvdXA7XG5cbiAgICBuZXcgRkNoYW5uZWxIdWIobmV3IEZSZXNpemVDaGFubmVsKGhvc3RFbGVtZW50KSwgc3RhdGVDaGFuZ2VzKVxuICAgICAgLnBpcGUobm90aWZ5T25TdGFydCgpLCBkZWJvdW5jZVRpbWUoMTApKVxuICAgICAgLmxpc3RlbihkZXN0cm95UmVmLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCgpKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2lzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdChub2RlT3JHcm91cCkpO1xuXG4gICAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRml0VG9DaGlsZE5vZGVzQW5kR3JvdXBzUmVxdWVzdChub2RlT3JHcm91cCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElzRHJhZ1N0YXJ0ZWRSZXF1ZXN0KCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -13,11 +13,11 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
let SelectAndUpdateNodeLayerExecution = class SelectAndUpdateNodeLayerExecution {
|
|
14
14
|
_dragContext = inject(FDraggableDataContext);
|
|
15
15
|
_mediator = inject(FMediator);
|
|
16
|
-
handle(
|
|
17
|
-
this.
|
|
18
|
-
this._mediator.execute(new UpdateItemAndChildrenLayersRequest(
|
|
16
|
+
handle({ nodeOrGroup }) {
|
|
17
|
+
this._selectNodeIfNotSelected(nodeOrGroup);
|
|
18
|
+
this._mediator.execute(new UpdateItemAndChildrenLayersRequest(nodeOrGroup, nodeOrGroup.hostElement.parentElement));
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
_selectNodeIfNotSelected(fNode) {
|
|
21
21
|
if (!this._dragContext.selectedItems.includes(fNode) && !fNode.fSelectionDisabled()) {
|
|
22
22
|
this._dragContext.selectedItems.push(fNode);
|
|
23
23
|
fNode.markAsSelected();
|
|
@@ -34,4 +34,4 @@ export { SelectAndUpdateNodeLayerExecution };
|
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, decorators: [{
|
|
35
35
|
type: Injectable
|
|
36
36
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRzNGOzs7O0dBSUc7QUFHSSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUczQixZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQW1DO1FBQzVELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQ0FBa0MsQ0FDcEMsV0FBVyxFQUNYLFdBQVcsQ0FBQyxXQUFXLENBQUMsYUFBNEIsQ0FDckQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHdCQUF3QixDQUFDLEtBQWdCO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO1lBQ3BGLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7d0dBdkJVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBd0I3Qzs7NEZBeEJZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0IH0gZnJvbSAnLi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4uLy4uL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBzZWxlY3RzIGEgbm9kZSBhbmQgdXBkYXRlcyBpdHMgbGF5ZXIgYWxvbmcgd2l0aCBpdHMgY2hpbGRyZW4uXG4gKiBJdCBjaGVja3MgaWYgdGhlIG5vZGUgaXMgYWxyZWFkeSBzZWxlY3RlZCwgYW5kIGlmIG5vdCwgaXQgbWFya3MgaXQgYXMgc2VsZWN0ZWRcbiAqIGFuZCB1cGRhdGVzIHRoZSBsYXllcnMgb2YgdGhlIG5vZGUgYW5kIGl0cyBjaGlsZHJlbi5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllckV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElIYW5kbGVyPFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QsIHZvaWQ+XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZSh7IG5vZGVPckdyb3VwIH06IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3ROb2RlSWZOb3RTZWxlY3RlZChub2RlT3JHcm91cCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QoXG4gICAgICAgIG5vZGVPckdyb3VwLFxuICAgICAgICBub2RlT3JHcm91cC5ob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VsZWN0Tm9kZUlmTm90U2VsZWN0ZWQoZk5vZGU6IEZOb2RlQmFzZSkge1xuICAgIGlmICghdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhmTm9kZSkgJiYgIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLl9kcmFnQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goZk5vZGUpO1xuICAgICAgZk5vZGUubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuX2RyYWdDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class SelectAndUpdateNodeLayerRequest {
|
|
2
|
-
|
|
2
|
+
nodeOrGroup;
|
|
3
3
|
static fToken = Symbol('SelectAndUpdateNodeLayerRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(nodeOrGroup) {
|
|
5
|
+
this.nodeOrGroup = nodeOrGroup;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1zZWxlY3Rpb24vc2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLCtCQUErQjtJQUVkO0lBRDVCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDbkUsWUFBNEIsV0FBc0I7UUFBdEIsZ0JBQVcsR0FBWCxXQUFXLENBQVc7SUFBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0Jyk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBub2RlT3JHcm91cDogRk5vZGVCYXNlKSB7fVxufVxuIl19
|
package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs
CHANGED
|
@@ -5,4 +5,4 @@ export class GetNormalizedConnectorRectRequest {
|
|
|
5
5
|
this.element = element;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtY29ubmVjdG9yLXJlY3QtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1ub3JtYWxpemVkLWNvbm5lY3Rvci1yZWN0L2dldC1ub3JtYWxpemVkLWNvbm5lY3Rvci1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGlDQUFpQztJQUd6QjtJQUZuQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBRXJFLFlBQW1CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkQ29ubmVjdG9yUmVjdFJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdHZXROb3JtYWxpemVkQ29ubmVjdG9yUmVjdFJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KSB7fVxufVxuIl19
|
package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
|
5
5
|
import { FComponentsStore } from '../../f-storage';
|
|
6
6
|
import { RoundedRect, SizeExtensions, } from '@foblex/2d';
|
|
7
7
|
import { GetElementRoundedRectRequest } from '../get-element-rounded-rect';
|
|
8
|
-
import { GetNormalizedPointRequest } from
|
|
8
|
+
import { GetNormalizedPointRequest } from '../get-normalized-point';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* Execution that retrieves the normalized rectangle of a connector.
|
|
@@ -51,4 +51,4 @@ export { GetNormalizedConnectorRectExecution };
|
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedConnectorRectExecution, decorators: [{
|
|
52
52
|
type: Injectable
|
|
53
53
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtY29ubmVjdG9yLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtY29ubmVjdG9yLXJlY3QvZ2V0LW5vcm1hbGl6ZWQtY29ubmVjdG9yLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVMLFdBQVcsRUFHWCxjQUFjLEdBRWYsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXBFOzs7O0dBSUc7QUFHSSxJQUFNLG1DQUFtQyxHQUF6QyxNQUFNLG1DQUFtQztJQUc3QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQyxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEwQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFL0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXRFLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQTBDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWUsSUFBSSw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBa0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFrQjtRQUNyQyxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxJQUFXLEVBQUUsSUFBa0I7UUFDeEUsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsUUFBUSxDQUFDLENBQUMsRUFDVixRQUFRLENBQUMsQ0FBQyxFQUNWLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWlDLEVBQUUsSUFBVztRQUNuRSxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDM0QsQ0FBQzt3R0FuRFUsbUNBQW1DOzRHQUFuQyxtQ0FBbUM7O0FBQW5DLG1DQUFtQztJQUQvQyxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQztHQUN6QyxtQ0FBbUMsQ0FvRC9DOzs0RkFwRFksbUNBQW1DO2tCQUYvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkQ29ubmVjdG9yUmVjdFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLWNvbm5lY3Rvci1yZWN0LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgSVJvdW5kZWRSZWN0LFxuICBSb3VuZGVkUmVjdCxcbiAgSVBvaW50LFxuICBJU2l6ZSxcbiAgU2l6ZUV4dGVuc2lvbnMsXG4gIElUcmFuc2Zvcm1Nb2RlbCxcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBHZXRFbGVtZW50Um91bmRlZFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QgfSBmcm9tICcuLi9nZXQtbm9ybWFsaXplZC1wb2ludCc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmV0cmlldmVzIHRoZSBub3JtYWxpemVkIHJlY3RhbmdsZSBvZiBhIGNvbm5lY3Rvci5cbiAqIEl0IGNhbGN1bGF0ZXMgdGhlIHJlY3RhbmdsZSBiYXNlZCBvbiB0aGUgZWxlbWVudCdzIHBvc2l0aW9uIGFuZCBzaXplLFxuICogYWRqdXN0aW5nIGZvciB0aGUgY2FudmFzIHRyYW5zZm9ybWF0aW9uIGFuZCBlbGVtZW50IG9mZnNldHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZENvbm5lY3RvclJlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRDb25uZWN0b3JSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkQ29ubmVjdG9yUmVjdFJlcXVlc3QsIElSb3VuZGVkUmVjdD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRDb25uZWN0b3JSZWN0UmVxdWVzdCk6IElSb3VuZGVkUmVjdCB7XG4gICAgY29uc3Qgc3lzdGVtUmVjdCA9IHRoaXMuX2dldEVsZW1lbnRSb3VuZGVkUmVjdChyZXF1ZXN0KTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuX25vcm1hbGl6ZVBvc2l0aW9uKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkU2l6ZSA9IHRoaXMuX3Vuc2NhbGVTaXplKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkUmVjdCA9IHRoaXMuX2dldFVuc2NhbGVkUmVjdChwb3NpdGlvbiwgdW5zY2FsZWRTaXplLCBzeXN0ZW1SZWN0KTtcblxuICAgIGNvbnN0IG9mZnNldFNpemUgPSB0aGlzLl9nZXRPZmZzZXRTaXplKHJlcXVlc3QuZWxlbWVudCwgdW5zY2FsZWRTaXplKTtcblxuICAgIHJldHVybiBSb3VuZGVkUmVjdC5mcm9tQ2VudGVyKHVuc2NhbGVkUmVjdCwgb2Zmc2V0U2l6ZS53aWR0aCwgb2Zmc2V0U2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudFJvdW5kZWRSZWN0KHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRDb25uZWN0b3JSZWN0UmVxdWVzdCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJvdW5kZWRSZWN0PihuZXcgR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdChyZXF1ZXN0LmVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX25vcm1hbGl6ZVBvc2l0aW9uKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QocmVjdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zY2FsZVNpemUocmVjdDogSVJvdW5kZWRSZWN0KTogSVNpemUge1xuICAgIHJldHVybiBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC53aWR0aCAvIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSxcbiAgICAgIHJlY3QuaGVpZ2h0IC8gdGhpcy5fdHJhbnNmb3JtLnNjYWxlLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRVbnNjYWxlZFJlY3QocG9zaXRpb246IElQb2ludCwgc2l6ZTogSVNpemUsIHJlY3Q6IElSb3VuZGVkUmVjdCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChcbiAgICAgIHBvc2l0aW9uLngsXG4gICAgICBwb3NpdGlvbi55LFxuICAgICAgc2l6ZS53aWR0aCxcbiAgICAgIHNpemUuaGVpZ2h0LFxuICAgICAgcmVjdC5yYWRpdXMxLFxuICAgICAgcmVjdC5yYWRpdXMyLFxuICAgICAgcmVjdC5yYWRpdXMzLFxuICAgICAgcmVjdC5yYWRpdXM0LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPZmZzZXRTaXplKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgc2l6ZTogSVNpemUpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIFNpemVFeHRlbnNpb25zLm9mZnNldEZyb21FbGVtZW50KGVsZW1lbnQpIHx8IHNpemU7XG4gIH1cbn1cbiJdfQ==
|