@foblex/flow 17.8.4 → 17.8.6
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/drag-rect-cache.d.ts +8 -0
- package/domain/f-background/providers.d.ts +1 -1
- package/domain/f-canvas/providers.d.ts +1 -1
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +7 -7
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +37 -3
- package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +4 -3
- package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +8 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-center-behavior.d.ts → utils/fixed-center-behavior.d.ts} +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-outbound-behavior.d.ts → utils/fixed-outbound-behavior.d.ts} +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/{floating-behavior.d.ts → utils/floating-behavior.d.ts} +2 -2
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/f-connection/redraw-connections/index.d.ts +1 -1
- package/domain/f-connection/redraw-connections/{redraw-connections.execution.d.ts → redraw-connections.d.ts} +3 -3
- 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-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
- package/domain/f-event-trigger.d.ts +1 -1
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +2 -2
- package/domain/f-line-alignment/add-line-alignment-to-store/{add-line-alignment-to-store.execution.d.ts → add-line-alignment-to-store.d.ts} +4 -4
- package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +1 -1
- package/domain/f-line-alignment/providers.d.ts +3 -3
- package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +1 -1
- package/domain/f-line-alignment/remove-line-alignment-from-store/{remove-line-alignment-from-store.execution.d.ts → remove-line-alignment-from-store.d.ts} +4 -4
- package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +2 -2
- package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +8 -0
- 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.d.ts +2 -28
- 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/get-parent-nodes/get-parent-nodes.d.ts +1 -1
- package/domain/f-node/get-parent-nodes/get-parent-nodes.request.d.ts +2 -2
- package/domain/f-node/index.d.ts +1 -2
- package/domain/f-node/providers.d.ts +2 -3
- package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +2 -2
- package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -1
- 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/index.d.ts +1 -0
- package/domain/providers.d.ts +4 -3
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -2
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.request.d.ts → move-front-elements-before-target-element-request.d.ts} +4 -4
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.execution.d.ts → move-front-elements-before-target-element.d.ts} +4 -4
- package/esm2022/domain/css-cls.mjs +2 -1
- package/esm2022/domain/drag-rect-cache.mjs +19 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +4 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +126 -13
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +5 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +2 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +12 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +31 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +22 -0
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/index.mjs +2 -2
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +75 -0
- 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-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +1 -1
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
- package/esm2022/domain/f-event-trigger.mjs +2 -2
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +4 -4
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +25 -0
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +2 -2
- package/esm2022/domain/f-line-alignment/providers.mjs +4 -7
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +2 -2
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +25 -0
- 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-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +1 -1
- 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/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
- package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +8 -8
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +4 -4
- package/esm2022/domain/f-node/index.mjs +2 -3
- package/esm2022/domain/f-node/providers.mjs +3 -5
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +4 -4
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -3
- 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 +2 -1
- package/esm2022/domain/is-mobile.mjs +5 -3
- package/esm2022/domain/providers.mjs +5 -5
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -3
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element-request.mjs +15 -0
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.mjs +34 -0
- package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +201 -0
- package/esm2022/f-connection/common/domain/index.mjs +2 -1
- package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +12 -0
- package/esm2022/f-connection/common/e-f-connection-type.mjs +2 -1
- package/esm2022/f-connection/common/f-connection-base.mjs +28 -5
- package/esm2022/f-connection/common/index.mjs +2 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -3
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -17
- package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +10 -4
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +4 -5
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +3 -2
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +14 -4
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +14 -4
- 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 +12 -12
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +7 -7
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +10 -10
- package/esm2022/f-draggable/f-connection/providers.mjs +4 -4
- package/esm2022/f-draggable/f-draggable.directive.mjs +5 -4
- 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/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
- 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-flow/f-flow.component.mjs +2 -2
- 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-backgroud/providers.d.ts +1 -1
- package/f-connection/common/domain/adaptive-curve-builder.d.ts +102 -0
- package/f-connection/common/domain/index.d.ts +1 -0
- package/f-connection/common/e-f-connection-connectable-side.d.ts +10 -0
- package/f-connection/common/e-f-connection-type.d.ts +2 -1
- package/f-connection/common/f-connection-base.d.ts +14 -2
- package/f-connection/common/index.d.ts +1 -0
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-connection/f-connection-builder/f-connection-factory.d.ts +2 -4
- package/f-connection/f-connection-content/f-connection-content.d.ts +2 -2
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -2
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -2
- package/f-connection/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-node/providers.d.ts +1 -1
- 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 +1741 -1235
- 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-request.d.ts +0 -9
- 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 -28
- 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-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +0 -12
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +0 -31
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +0 -22
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +0 -73
- 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-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +0 -25
- 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 -16
- package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +0 -181
- 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 -90
- 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/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -34
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -15
- 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/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FNodeBase } from '../../../f-node';
|
|
2
2
|
export declare class CalculateOutputConnectionsRequest {
|
|
3
|
-
|
|
3
|
+
readonly nodeOrGroup: FNodeBase;
|
|
4
4
|
static readonly fToken: unique symbol;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(nodeOrGroup: FNodeBase);
|
|
6
6
|
}
|
|
@@ -7,9 +7,9 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class CalculateOutputConnections implements IExecution<CalculateOutputConnectionsRequest, FConnectionBase[]> {
|
|
9
9
|
private readonly _store;
|
|
10
|
-
handle(
|
|
11
|
-
private
|
|
12
|
-
private
|
|
10
|
+
handle({ nodeOrGroup }: CalculateOutputConnectionsRequest): FConnectionBase[];
|
|
11
|
+
private _collectOutputIds;
|
|
12
|
+
private _collectConnections;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<CalculateOutputConnections, never>;
|
|
14
14
|
static ɵprov: i0.ɵɵInjectableDeclaration<CalculateOutputConnections>;
|
|
15
15
|
}
|
|
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class GetParentNodes implements IExecution<GetParentNodesRequest, FNodeBase[]> {
|
|
9
9
|
private readonly _store;
|
|
10
|
-
handle(
|
|
10
|
+
handle({ nodeOrGroup }: GetParentNodesRequest): FNodeBase[];
|
|
11
11
|
private _getParentNodes;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<GetParentNodes, never>;
|
|
13
13
|
static ɵprov: i0.ɵɵInjectableDeclaration<GetParentNodes>;
|
package/domain/f-node/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
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';
|
|
@@ -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,8 +9,8 @@ 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
|
*/
|
|
17
|
-
export declare const F_NODE_FEATURES: (typeof
|
|
16
|
+
export declare const F_NODE_FEATURES: (typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FNodeBase } from '../../../f-node';
|
|
2
2
|
export declare class RemoveNodeFromStoreRequest {
|
|
3
|
-
|
|
3
|
+
readonly instance: FNodeBase;
|
|
4
4
|
static readonly fToken: unique symbol;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(instance: FNodeBase);
|
|
6
6
|
}
|
|
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class RemoveNodeFromStore implements IExecution<RemoveNodeFromStoreRequest, void> {
|
|
8
8
|
private readonly _store;
|
|
9
|
-
handle(
|
|
9
|
+
handle({ instance }: RemoveNodeFromStoreRequest): void;
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<RemoveNodeFromStore, never>;
|
|
11
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<RemoveNodeFromStore>;
|
|
12
12
|
}
|
package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
export declare class SelectAndUpdateNodeLayerExecution implements IHandler<SelectAndUpdateNodeLayerRequest, void> {
|
|
10
10
|
private readonly _dragContext;
|
|
11
11
|
private readonly _mediator;
|
|
12
|
-
handle(
|
|
13
|
-
private
|
|
12
|
+
handle({ nodeOrGroup }: SelectAndUpdateNodeLayerRequest): void;
|
|
13
|
+
private _selectNodeIfNotSelected;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectAndUpdateNodeLayerExecution, never>;
|
|
15
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<SelectAndUpdateNodeLayerExecution>;
|
|
16
16
|
}
|
package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FNodeBase } from '../../../f-node';
|
|
2
2
|
export declare class SelectAndUpdateNodeLayerRequest {
|
|
3
|
-
|
|
3
|
+
readonly nodeOrGroup: FNodeBase;
|
|
4
4
|
static readonly fToken: unique symbol;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(nodeOrGroup: FNodeBase);
|
|
6
6
|
}
|
package/domain/index.d.ts
CHANGED
package/domain/providers.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { GetNormalizedElementRectExecution } from './get-normalized-element-rect';
|
|
2
|
-
import {
|
|
2
|
+
import { MoveFrontElementsBeforeTargetElement, UpdateItemAndChildrenLayersExecution } from './update-item-and-children-layers';
|
|
3
3
|
import { GetNormalizedPointExecution } from './get-normalized-point';
|
|
4
|
+
import { SortItemsByParentExecution } from './sort-item-layers';
|
|
4
5
|
import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
|
|
5
6
|
import { GetElementRoundedRectExecution } from './get-element-rounded-rect';
|
|
6
|
-
import { GetNormalizedConnectorRectExecution } from
|
|
7
|
+
import { GetNormalizedConnectorRectExecution } from './get-normalized-connector-rect';
|
|
7
8
|
/**
|
|
8
9
|
* This module provides a collection of common providers for the FFlow domain.
|
|
9
10
|
* It includes features related to canvas, connections, background, connectors,
|
|
10
11
|
* draggable elements, flow, line alignment, nodes, selection, zoom,
|
|
11
12
|
* and various utility executions.
|
|
12
13
|
*/
|
|
13
|
-
export declare const COMMON_PROVIDERS: (typeof import("./f-
|
|
14
|
+
export declare const COMMON_PROVIDERS: (typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehavior | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStore | typeof import("./f-connectors").AddOutletToStore | typeof import("./f-connectors").AddOutputToStore | typeof import("./f-connectors").CalculateClosestConnector | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").CalculateSourceConnectorsToConnect | typeof import("./f-connectors").CalculateTargetConnectorsToConnect | typeof import("./f-connectors").GetConnectorAndRect | typeof import("./f-connectors").MarkConnectableConnectors | typeof import("./f-connectors").RemoveInputFromStore | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectors | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStore | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateConnectableSideByConnectedPositions | typeof import("./f-node").CalculateConnectableSideByInternalPosition | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateConnectorsConnectableSides | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPosition | typeof import("./f-node").CalculateOutputConnections | typeof import("./f-node").FitToChildNodesAndGroups | typeof import("./f-node").GetChildNodeIds | typeof import("./f-node").GetNodePadding | typeof import("./f-node").GetParentNodes | typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | typeof import("./f-node").RemoveNodeFromStore | typeof GetElementRoundedRectExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof SortItemsByParentExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElement)[];
|
package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './move-front-elements-before-target-element
|
|
2
|
-
export * from './move-front-elements-before-target-element
|
|
1
|
+
export * from './move-front-elements-before-target-element';
|
|
2
|
+
export * from './move-front-elements-before-target-element-request';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare class MoveFrontElementsBeforeTargetElementRequest {
|
|
2
|
-
fItemsContainer: HTMLElement;
|
|
3
|
-
allElements: Element[];
|
|
4
|
-
elementsThatShouldBeInFront: Element[];
|
|
5
|
-
targetIndex: number;
|
|
2
|
+
readonly fItemsContainer: HTMLElement;
|
|
3
|
+
readonly allElements: Element[];
|
|
4
|
+
readonly elementsThatShouldBeInFront: Element[];
|
|
5
|
+
readonly targetIndex: number;
|
|
6
6
|
static readonly fToken: unique symbol;
|
|
7
7
|
constructor(fItemsContainer: HTMLElement, // fGroupsContainer || fNodesContainer || fConnectionsContainer
|
|
8
8
|
allElements: Element[], elementsThatShouldBeInFront: Element[], targetIndex: number);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element
|
|
1
|
+
import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element-request';
|
|
2
2
|
import { IExecution } from '@foblex/mediator';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* Execution that moves elements in the FItemsContainer before a target element.
|
|
6
6
|
* It removes elements that should not be in front and inserts them before the target element.
|
|
7
7
|
*/
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class MoveFrontElementsBeforeTargetElement implements IExecution<MoveFrontElementsBeforeTargetElementRequest, void> {
|
|
9
9
|
handle(request: MoveFrontElementsBeforeTargetElementRequest): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MoveFrontElementsBeforeTargetElement, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MoveFrontElementsBeforeTargetElement>;
|
|
12
12
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
1
2
|
export const F_CSS_CLASS = {
|
|
2
3
|
DRAG_AND_DROP: {
|
|
3
4
|
DRAGGING: 'f-dragging',
|
|
@@ -18,4 +19,4 @@ export const F_CSS_CLASS = {
|
|
|
18
19
|
DRAG_HANDLE: 'f-connection-drag-handle',
|
|
19
20
|
},
|
|
20
21
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Nzcy1jbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsWUFBWTtRQUV0QixvQkFBb0IsRUFBRSx3QkFBd0I7S0FDL0M7SUFFRCxRQUFRLEVBQUU7UUFDUixhQUFhLEVBQUUsMEJBQTBCO1FBRXpDLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFFRCxTQUFTLEVBQUU7UUFDVCxnQkFBZ0IsRUFBRSx5QkFBeUI7UUFFM0Msc0JBQXNCLEVBQUUsK0JBQStCO1FBRXZELGVBQWUsRUFBRSx3QkFBd0I7UUFFekMscUJBQXFCLEVBQUUsOEJBQThCO1FBRXJELFdBQVcsRUFBRSx5QkFBeUI7S0FDdkM7SUFFRCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5leHBvcnQgY29uc3QgRl9DU1NfQ0xBU1MgPSB7XG4gIERSQUdfQU5EX0RST1A6IHtcbiAgICBEUkFHR0lORzogJ2YtZHJhZ2dpbmcnLFxuXG4gICAgQ09OTkVDVElPTlNfRFJBR0dJTkc6ICdmLWNvbm5lY3Rpb25zLWRyYWdnaW5nJyxcbiAgfSxcblxuICBHUk9VUElORzoge1xuICAgIE9WRVJfQk9VTkRBUlk6ICdmLWdyb3VwaW5nLW92ZXItYm91bmRhcnknLFxuXG4gICAgRFJPUF9BQ1RJVkU6ICdmLWdyb3VwaW5nLWRyb3AtYWN0aXZlJyxcbiAgfSxcblxuICBDT05ORUNUT1I6IHtcbiAgICBPVVRQVVRfQ09OTkVDVEVEOiAnZi1ub2RlLW91dHB1dC1jb25uZWN0ZWQnLFxuXG4gICAgT1VUUFVUX05PVF9DT05ORUNUQUJMRTogJ2Ytbm9kZS1vdXRwdXQtbm90LWNvbm5lY3RhYmxlJyxcblxuICAgIElOUFVUX0NPTk5FQ1RFRDogJ2Ytbm9kZS1pbnB1dC1jb25uZWN0ZWQnLFxuXG4gICAgSU5QVVRfTk9UX0NPTk5FQ1RBQkxFOiAnZi1ub2RlLWlucHV0LW5vdC1jb25uZWN0YWJsZScsXG5cbiAgICBDT05ORUNUQUJMRTogJ2YtY29ubmVjdG9yLWNvbm5lY3RhYmxlJyxcbiAgfSxcblxuICBDT05ORUNUSU9OOiB7XG4gICAgRFJBR19IQU5ETEU6ICdmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUnLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RectExtensions } from '@foblex/2d';
|
|
2
|
+
export class DragRectCache {
|
|
3
|
+
static _cache = new WeakMap();
|
|
4
|
+
static fromElement(element) {
|
|
5
|
+
const rect = this._cache.get(element) || RectExtensions.fromElement(element);
|
|
6
|
+
this._cache.set(element, rect);
|
|
7
|
+
return rect;
|
|
8
|
+
}
|
|
9
|
+
static set(element) {
|
|
10
|
+
this._cache.set(element, RectExtensions.fromElement(element));
|
|
11
|
+
}
|
|
12
|
+
static invalidate(element) {
|
|
13
|
+
this._cache.delete(element);
|
|
14
|
+
}
|
|
15
|
+
static invalidateAll() {
|
|
16
|
+
this._cache = new WeakMap();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1yZWN0LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZHJhZy1yZWN0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsTUFBTSxPQUFPLGFBQWE7SUFDaEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztJQUUvQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWlDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBaUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFpQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWE7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztJQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBEcmFnUmVjdENhY2hlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgX2NhY2hlID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgSVJlY3Q+KCk7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuX2NhY2hlLmdldChlbGVtZW50KSB8fCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChlbGVtZW50KTtcbiAgICB0aGlzLl9jYWNoZS5zZXQoZWxlbWVudCwgcmVjdCk7XG5cbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NhY2hlLnNldChlbGVtZW50LCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChlbGVtZW50KSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGludmFsaWRhdGUoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY2FjaGUuZGVsZXRlKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbnZhbGlkYXRlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX2NhY2hlID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgSVJlY3Q+KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export class CalculateConnectionLineByBehaviorRequest {
|
|
2
2
|
sourceRect;
|
|
3
3
|
targetRect;
|
|
4
|
-
|
|
4
|
+
connection;
|
|
5
5
|
sourceConnectableSide;
|
|
6
6
|
targetConnectableSide;
|
|
7
7
|
static fToken = Symbol('CalculateConnectionLineByBehaviorRequest');
|
|
8
|
-
constructor(sourceRect, targetRect,
|
|
8
|
+
constructor(sourceRect, targetRect, connection, sourceConnectableSide, targetConnectableSide) {
|
|
9
9
|
this.sourceRect = sourceRect;
|
|
10
10
|
this.targetRect = targetRect;
|
|
11
|
-
this.
|
|
11
|
+
this.connection = connection;
|
|
12
12
|
this.sourceConnectableSide = sourceConnectableSide;
|
|
13
13
|
this.targetConnectableSide = targetConnectableSide;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IvY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyx3Q0FBd0M7SUFJakM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVBsQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBRTVFLFlBQ2tCLFVBQXdCLEVBQ3hCLFVBQXdCLEVBQ3hCLFVBQTJCLEVBQzNCLHFCQUF3QyxFQUN4QyxxQkFBd0M7UUFKeEMsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBbUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFtQjtJQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKSB7fVxufVxuIl19
|
|
@@ -1,23 +1,136 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { CalculateConnectionLineByBehaviorRequest } from './calculate-connection-line-by-behavior-request';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
|
-
import { EFConnectionBehavior } from '../../../f-connection';
|
|
4
|
+
import { EFConnectionBehavior, EFConnectionConnectableSide } from '../../../f-connection';
|
|
5
5
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import { floatingBehavior } from './floating-behavior';
|
|
7
|
-
import { fixedCenterBehavior } from './fixed-center-behavior';
|
|
8
|
-
import { fixedOutboundBehavior } from './fixed-outbound-behavior';
|
|
6
|
+
import { floatingBehavior } from './utils/floating-behavior';
|
|
7
|
+
import { fixedCenterBehavior } from './utils/fixed-center-behavior';
|
|
8
|
+
import { fixedOutboundBehavior } from './utils/fixed-outbound-behavior';
|
|
9
|
+
import { EFConnectableSide } from '../../../f-connectors';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Small epsilon to treat near-zero differences as negligible.
|
|
13
|
+
*/
|
|
14
|
+
const EPSILON = 0.5;
|
|
15
|
+
/**
|
|
16
|
+
* Registry of all connection behavior handlers.
|
|
17
|
+
*/
|
|
18
|
+
const BEHAVIOR_HANDLERS = {
|
|
19
|
+
[EFConnectionBehavior.FLOATING]: floatingBehavior,
|
|
20
|
+
[EFConnectionBehavior.FIXED_CENTER]: fixedCenterBehavior,
|
|
21
|
+
[EFConnectionBehavior.FIXED]: fixedOutboundBehavior,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Calculates connection lines based on behavior rules.
|
|
25
|
+
* It determines which sides of the source and target should connect,
|
|
26
|
+
* then delegates to a registered behavior handler.
|
|
12
27
|
*/
|
|
13
28
|
let CalculateConnectionLineByBehavior = class CalculateConnectionLineByBehavior {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Main execution entry point.
|
|
31
|
+
*
|
|
32
|
+
* @param request The request containing source, target, and connection details.
|
|
33
|
+
* @returns A calculated connection line (ILine).
|
|
34
|
+
*/
|
|
35
|
+
handle(request) {
|
|
36
|
+
const vectors = this._calculateDirectionalVectors(request.sourceRect.gravityCenter.x, request.sourceRect.gravityCenter.y, request.targetRect.gravityCenter.x, request.targetRect.gravityCenter.y);
|
|
37
|
+
const sourceSide = this._determineSourceSide(request, vectors);
|
|
38
|
+
const targetSide = this._determineTargetSide(request, vectors);
|
|
39
|
+
request.connection._applyResolvedSidesToConnection(sourceSide, targetSide);
|
|
40
|
+
const handler = this._getBehaviorHandler(request.connection.fBehavior);
|
|
41
|
+
return handler({
|
|
42
|
+
sourceRect: request.sourceRect,
|
|
43
|
+
targetRect: request.targetRect,
|
|
44
|
+
sourceConnectableSide: sourceSide,
|
|
45
|
+
targetConnectableSide: targetSide,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Computes the directional deltas between two rectangles.
|
|
50
|
+
*/
|
|
51
|
+
_calculateDirectionalVectors(sourceX, sourceY, targetX, targetY) {
|
|
52
|
+
const sourceToTargetX = targetX - sourceX;
|
|
53
|
+
const sourceToTargetY = targetY - sourceY;
|
|
54
|
+
return {
|
|
55
|
+
sourceToTargetX,
|
|
56
|
+
sourceToTargetY,
|
|
57
|
+
targetToSourceX: -sourceToTargetX,
|
|
58
|
+
targetToSourceY: -sourceToTargetY,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Determines the side for the source element.
|
|
63
|
+
*/
|
|
64
|
+
_determineSourceSide(request, vectors) {
|
|
65
|
+
return this._resolveConnectableSide(request.connection.fOutputSide(), vectors.sourceToTargetX, vectors.sourceToTargetY, request.sourceConnectableSide);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Determines the side for the target element.
|
|
69
|
+
*/
|
|
70
|
+
_determineTargetSide(request, vectors) {
|
|
71
|
+
return this._resolveConnectableSide(request.connection.fInputSide(), vectors.targetToSourceX, vectors.targetToSourceY, request.targetConnectableSide);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Resolves which side of a shape to connect to based on direction, fallback, and connection mode.
|
|
75
|
+
*
|
|
76
|
+
* @param requestedSide The side mode (e.g. CALCULATE, CALCULATE_HORIZONTAL, FIXED, etc.).
|
|
77
|
+
* @param deltaX Difference in X between source and target.
|
|
78
|
+
* @param deltaY Difference in Y between source and target.
|
|
79
|
+
* @param fallbackSide The default fallback side if calculation is ambiguous.
|
|
80
|
+
*/
|
|
81
|
+
_resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
|
|
82
|
+
if (requestedSide === EFConnectionConnectableSide.DEFAULT) {
|
|
83
|
+
return fallbackSide;
|
|
84
|
+
}
|
|
85
|
+
const absoluteX = Math.abs(deltaX);
|
|
86
|
+
const absoluteY = Math.abs(deltaY);
|
|
87
|
+
const isNearZero = absoluteX < EPSILON && absoluteY < EPSILON;
|
|
88
|
+
if (isNearZero) {
|
|
89
|
+
return fallbackSide;
|
|
90
|
+
}
|
|
91
|
+
const isHorizontalDominant = absoluteX >= absoluteY;
|
|
92
|
+
switch (requestedSide) {
|
|
93
|
+
case EFConnectionConnectableSide.CALCULATE:
|
|
94
|
+
return isHorizontalDominant
|
|
95
|
+
? deltaX >= 0
|
|
96
|
+
? EFConnectableSide.RIGHT
|
|
97
|
+
: EFConnectableSide.LEFT
|
|
98
|
+
: deltaY >= 0
|
|
99
|
+
? EFConnectableSide.BOTTOM
|
|
100
|
+
: EFConnectableSide.TOP;
|
|
101
|
+
case EFConnectionConnectableSide.CALCULATE_HORIZONTAL:
|
|
102
|
+
if (absoluteX < EPSILON) {
|
|
103
|
+
return fallbackSide;
|
|
104
|
+
}
|
|
105
|
+
return deltaX >= 0 ? EFConnectableSide.RIGHT : EFConnectableSide.LEFT;
|
|
106
|
+
case EFConnectionConnectableSide.CALCULATE_VERTICAL:
|
|
107
|
+
if (absoluteY < EPSILON) {
|
|
108
|
+
return fallbackSide;
|
|
109
|
+
}
|
|
110
|
+
return deltaY >= 0 ? EFConnectableSide.BOTTOM : EFConnectableSide.TOP;
|
|
111
|
+
case EFConnectionConnectableSide.TOP:
|
|
112
|
+
return EFConnectableSide.TOP;
|
|
113
|
+
case EFConnectionConnectableSide.BOTTOM:
|
|
114
|
+
return EFConnectableSide.BOTTOM;
|
|
115
|
+
case EFConnectionConnectableSide.LEFT:
|
|
116
|
+
return EFConnectableSide.LEFT;
|
|
117
|
+
case EFConnectionConnectableSide.RIGHT:
|
|
118
|
+
return EFConnectableSide.RIGHT;
|
|
119
|
+
default:
|
|
120
|
+
return fallbackSide;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Returns the appropriate handler for the given connection behavior.
|
|
125
|
+
*
|
|
126
|
+
* @throws Error if no handler is registered for the behavior.
|
|
127
|
+
*/
|
|
128
|
+
_getBehaviorHandler(behavior) {
|
|
129
|
+
const handler = BEHAVIOR_HANDLERS[behavior];
|
|
130
|
+
if (!handler) {
|
|
131
|
+
throw new Error(`[Behavior] No handler for behavior: ${behavior}`);
|
|
132
|
+
}
|
|
133
|
+
return handler;
|
|
21
134
|
}
|
|
22
135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
136
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior });
|
|
@@ -29,4 +142,4 @@ export { CalculateConnectionLineByBehavior };
|
|
|
29
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior, decorators: [{
|
|
30
143
|
type: Injectable
|
|
31
144
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBR0ksSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHcEMsU0FBUyxHQUFHO1FBQ2xCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO1FBRTVELENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsbUJBQW1CO1FBRW5FLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUscUJBQXFCO0tBQy9ELENBQUM7SUFFSyxNQUFNLENBQUMsT0FBaUQ7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO3dHQWJVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsaUNBQWlDLENBYzdDOzs0RkFkWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yLXJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJTGluZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgZmxvYXRpbmdCZWhhdmlvciB9IGZyb20gJy4vZmxvYXRpbmctYmVoYXZpb3InO1xuaW1wb3J0IHsgZml4ZWRDZW50ZXJCZWhhdmlvciB9IGZyb20gJy4vZml4ZWQtY2VudGVyLWJlaGF2aW9yJztcbmltcG9ydCB7IGZpeGVkT3V0Ym91bmRCZWhhdmlvciB9IGZyb20gJy4vZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3InO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZSBiYXNlZCBvbiB0aGUgYmVoYXZpb3IuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsIElMaW5lPlxue1xuICBwcml2YXRlIF9oYW5kbGVycyA9IHtcbiAgICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRkxPQVRJTkcudG9TdHJpbmcoKV06IGZsb2F0aW5nQmVoYXZpb3IsXG5cbiAgICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRURfQ0VOVEVSLnRvU3RyaW5nKCldOiBmaXhlZENlbnRlckJlaGF2aW9yLFxuXG4gICAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVELnRvU3RyaW5nKCldOiBmaXhlZE91dGJvdW5kQmVoYXZpb3IsXG4gIH07XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9oYW5kbGVyc1twYXlsb2FkLmJlaGF2aW9yXShwYXlsb2FkKTtcbiAgfVxufVxuIl19
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBT3BCOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBb0M7SUFDekQsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0I7SUFDakQsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxtQkFBbUI7SUFDeEQsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxxQkFBcUI7Q0FDcEQsQ0FBQztBQVlGOzs7O0dBSUc7QUFHSSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUc1Qzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFpRDtRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQy9DLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDbkMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUvRCxPQUFPLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUzRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxPQUFPLE9BQU8sQ0FBQztZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIscUJBQXFCLEVBQUUsVUFBVTtZQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QixDQUNsQyxPQUFlLEVBQ2YsT0FBZSxFQUNmLE9BQWUsRUFDZixPQUFlO1FBRWYsTUFBTSxlQUFlLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMxQyxNQUFNLGVBQWUsR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRTFDLE9BQU87WUFDTCxlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWUsRUFBRSxDQUFDLGVBQWU7WUFDakMsZUFBZSxFQUFFLENBQUMsZUFBZTtTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQzFCLE9BQWlELEVBQ2pELE9BQTRCO1FBRTVCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUNoQyxPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMscUJBQXFCLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0IsQ0FDMUIsT0FBaUQsRUFDakQsT0FBNEI7UUFFNUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQ2pDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQy9CLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxxQkFBcUIsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssdUJBQXVCLENBQzdCLGFBQTBDLEVBQzFDLE1BQWMsRUFDZCxNQUFjLEVBQ2QsWUFBK0I7UUFFL0IsSUFBSSxhQUFhLEtBQUssMkJBQTJCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUQsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxTQUFTLEdBQUcsT0FBTyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFFOUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFFcEQsUUFBUSxhQUFhLEVBQUUsQ0FBQztZQUN0QixLQUFLLDJCQUEyQixDQUFDLFNBQVM7Z0JBQ3hDLE9BQU8sb0JBQW9CO29CQUN6QixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUs7d0JBQ3pCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO29CQUMxQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU07d0JBQzFCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7WUFFOUIsS0FBSywyQkFBMkIsQ0FBQyxvQkFBb0I7Z0JBQ25ELElBQUksU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDO29CQUN4QixPQUFPLFlBQVksQ0FBQztnQkFDdEIsQ0FBQztnQkFFRCxPQUFPLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBRXhFLEtBQUssMkJBQTJCLENBQUMsa0JBQWtCO2dCQUNqRCxJQUFJLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztZQUV4RSxLQUFLLDJCQUEyQixDQUFDLEdBQUc7Z0JBQ2xDLE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDO1lBQy9CLEtBQUssMkJBQTJCLENBQUMsTUFBTTtnQkFDckMsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDbEMsS0FBSywyQkFBMkIsQ0FBQyxJQUFJO2dCQUNuQyxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUNoQyxLQUFLLDJCQUEyQixDQUFDLEtBQUs7Z0JBQ3BDLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDO1lBRWpDO2dCQUNFLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLFFBQThCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0dBaEtVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsaUNBQWlDLENBaUs3Qzs7NEZBaktZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3ItcmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSUxpbmUgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGZsb2F0aW5nQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2Zsb2F0aW5nLWJlaGF2aW9yJztcbmltcG9ydCB7IGZpeGVkQ2VudGVyQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2ZpeGVkLWNlbnRlci1iZWhhdmlvcic7XG5pbXBvcnQgeyBmaXhlZE91dGJvdW5kQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2ZpeGVkLW91dGJvdW5kLWJlaGF2aW9yJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vbW9kZWxzL2NhbGN1bGF0ZS1iZWhhdmlvci1yZXF1ZXN0JztcblxuLyoqXG4gKiBTbWFsbCBlcHNpbG9uIHRvIHRyZWF0IG5lYXItemVybyBkaWZmZXJlbmNlcyBhcyBuZWdsaWdpYmxlLlxuICovXG5jb25zdCBFUFNJTE9OID0gMC41O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHNpZ25hdHVyZSBmb3IgYmVoYXZpb3Itc3BlY2lmaWMgY29ubmVjdGlvbiBsaW5lIGhhbmRsZXJzLlxuICovXG50eXBlIEJlaGF2aW9ySGFuZGxlciA9IChhcmdzOiBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpID0+IElMaW5lO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IG9mIGFsbCBjb25uZWN0aW9uIGJlaGF2aW9yIGhhbmRsZXJzLlxuICovXG5jb25zdCBCRUhBVklPUl9IQU5ETEVSUzogUmVjb3JkPHN0cmluZywgQmVoYXZpb3JIYW5kbGVyPiA9IHtcbiAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZMT0FUSU5HXTogZmxvYXRpbmdCZWhhdmlvcixcbiAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEX0NFTlRFUl06IGZpeGVkQ2VudGVyQmVoYXZpb3IsXG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRF06IGZpeGVkT3V0Ym91bmRCZWhhdmlvcixcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGlyZWN0aW9uYWwgZGVsdGFzIGJldHdlZW4gdHdvIHJlY3RhbmdsZXMuXG4gKi9cbmludGVyZmFjZSBJRGlyZWN0aW9uYWxWZWN0b3JzIHtcbiAgc291cmNlVG9UYXJnZXRYOiBudW1iZXI7XG4gIHNvdXJjZVRvVGFyZ2V0WTogbnVtYmVyO1xuICB0YXJnZXRUb1NvdXJjZVg6IG51bWJlcjtcbiAgdGFyZ2V0VG9Tb3VyY2VZOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBjb25uZWN0aW9uIGxpbmVzIGJhc2VkIG9uIGJlaGF2aW9yIHJ1bGVzLlxuICogSXQgZGV0ZXJtaW5lcyB3aGljaCBzaWRlcyBvZiB0aGUgc291cmNlIGFuZCB0YXJnZXQgc2hvdWxkIGNvbm5lY3QsXG4gKiB0aGVuIGRlbGVnYXRlcyB0byBhIHJlZ2lzdGVyZWQgYmVoYXZpb3IgaGFuZGxlci5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCwgSUxpbmU+XG57XG4gIC8qKlxuICAgKiBNYWluIGV4ZWN1dGlvbiBlbnRyeSBwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3QgY29udGFpbmluZyBzb3VyY2UsIHRhcmdldCwgYW5kIGNvbm5lY3Rpb24gZGV0YWlscy5cbiAgICogQHJldHVybnMgQSBjYWxjdWxhdGVkIGNvbm5lY3Rpb24gbGluZSAoSUxpbmUpLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICAgIGNvbnN0IHZlY3RvcnMgPSB0aGlzLl9jYWxjdWxhdGVEaXJlY3Rpb25hbFZlY3RvcnMoXG4gICAgICByZXF1ZXN0LnNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlci54LFxuICAgICAgcmVxdWVzdC5zb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIueSxcbiAgICAgIHJlcXVlc3QudGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLngsXG4gICAgICByZXF1ZXN0LnRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICk7XG5cbiAgICBjb25zdCBzb3VyY2VTaWRlID0gdGhpcy5fZGV0ZXJtaW5lU291cmNlU2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcbiAgICBjb25zdCB0YXJnZXRTaWRlID0gdGhpcy5fZGV0ZXJtaW5lVGFyZ2V0U2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcblxuICAgIHJlcXVlc3QuY29ubmVjdGlvbi5fYXBwbHlSZXNvbHZlZFNpZGVzVG9Db25uZWN0aW9uKHNvdXJjZVNpZGUsIHRhcmdldFNpZGUpO1xuXG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuX2dldEJlaGF2aW9ySGFuZGxlcihyZXF1ZXN0LmNvbm5lY3Rpb24uZkJlaGF2aW9yKTtcblxuICAgIHJldHVybiBoYW5kbGVyKHtcbiAgICAgIHNvdXJjZVJlY3Q6IHJlcXVlc3Quc291cmNlUmVjdCxcbiAgICAgIHRhcmdldFJlY3Q6IHJlcXVlc3QudGFyZ2V0UmVjdCxcbiAgICAgIHNvdXJjZUNvbm5lY3RhYmxlU2lkZTogc291cmNlU2lkZSxcbiAgICAgIHRhcmdldENvbm5lY3RhYmxlU2lkZTogdGFyZ2V0U2lkZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgZGlyZWN0aW9uYWwgZGVsdGFzIGJldHdlZW4gdHdvIHJlY3RhbmdsZXMuXG4gICAqL1xuICBwcml2YXRlIF9jYWxjdWxhdGVEaXJlY3Rpb25hbFZlY3RvcnMoXG4gICAgc291cmNlWDogbnVtYmVyLFxuICAgIHNvdXJjZVk6IG51bWJlcixcbiAgICB0YXJnZXRYOiBudW1iZXIsXG4gICAgdGFyZ2V0WTogbnVtYmVyLFxuICApOiBJRGlyZWN0aW9uYWxWZWN0b3JzIHtcbiAgICBjb25zdCBzb3VyY2VUb1RhcmdldFggPSB0YXJnZXRYIC0gc291cmNlWDtcbiAgICBjb25zdCBzb3VyY2VUb1RhcmdldFkgPSB0YXJnZXRZIC0gc291cmNlWTtcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2VUb1RhcmdldFgsXG4gICAgICBzb3VyY2VUb1RhcmdldFksXG4gICAgICB0YXJnZXRUb1NvdXJjZVg6IC1zb3VyY2VUb1RhcmdldFgsXG4gICAgICB0YXJnZXRUb1NvdXJjZVk6IC1zb3VyY2VUb1RhcmdldFksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBzaWRlIGZvciB0aGUgc291cmNlIGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIF9kZXRlcm1pbmVTb3VyY2VTaWRlKFxuICAgIHJlcXVlc3Q6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZPdXRwdXRTaWRlKCksXG4gICAgICB2ZWN0b3JzLnNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHZlY3RvcnMuc291cmNlVG9UYXJnZXRZLFxuICAgICAgcmVxdWVzdC5zb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBzaWRlIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIF9kZXRlcm1pbmVUYXJnZXRTaWRlKFxuICAgIHJlcXVlc3Q6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZJbnB1dFNpZGUoKSxcbiAgICAgIHZlY3RvcnMudGFyZ2V0VG9Tb3VyY2VYLFxuICAgICAgdmVjdG9ycy50YXJnZXRUb1NvdXJjZVksXG4gICAgICByZXF1ZXN0LnRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHdoaWNoIHNpZGUgb2YgYSBzaGFwZSB0byBjb25uZWN0IHRvIGJhc2VkIG9uIGRpcmVjdGlvbiwgZmFsbGJhY2ssIGFuZCBjb25uZWN0aW9uIG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0ZWRTaWRlIFRoZSBzaWRlIG1vZGUgKGUuZy4gQ0FMQ1VMQVRFLCBDQUxDVUxBVEVfSE9SSVpPTlRBTCwgRklYRUQsIGV0Yy4pLlxuICAgKiBAcGFyYW0gZGVsdGFYIERpZmZlcmVuY2UgaW4gWCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZGVsdGFZIERpZmZlcmVuY2UgaW4gWSBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZmFsbGJhY2tTaWRlIFRoZSBkZWZhdWx0IGZhbGxiYWNrIHNpZGUgaWYgY2FsY3VsYXRpb24gaXMgYW1iaWd1b3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICByZXF1ZXN0ZWRTaWRlOiBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gICAgZGVsdGFYOiBudW1iZXIsXG4gICAgZGVsdGFZOiBudW1iZXIsXG4gICAgZmFsbGJhY2tTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIGlmIChyZXF1ZXN0ZWRTaWRlID09PSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrU2lkZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVggPSBNYXRoLmFicyhkZWx0YVgpO1xuICAgIGNvbnN0IGFic29sdXRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XG4gICAgY29uc3QgaXNOZWFyWmVybyA9IGFic29sdXRlWCA8IEVQU0lMT04gJiYgYWJzb2x1dGVZIDwgRVBTSUxPTjtcblxuICAgIGlmIChpc05lYXJaZXJvKSB7XG4gICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSG9yaXpvbnRhbERvbWluYW50ID0gYWJzb2x1dGVYID49IGFic29sdXRlWTtcblxuICAgIHN3aXRjaCAocmVxdWVzdGVkU2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFOlxuICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsRG9taW5hbnRcbiAgICAgICAgICA/IGRlbHRhWCA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUXG4gICAgICAgICAgICA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlRcbiAgICAgICAgICA6IGRlbHRhWSA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICAgICAgOiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9IT1JJWk9OVEFMOlxuICAgICAgICBpZiAoYWJzb2x1dGVYIDwgRVBTSUxPTikge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGFYID49IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9WRVJUSUNBTDpcbiAgICAgICAgaWYgKGFic29sdXRlWSA8IEVQU0lMT04pIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+PSAwID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NIDogRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uIGJlaGF2aW9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5vIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGJlaGF2aW9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0QmVoYXZpb3JIYW5kbGVyKGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcik6IEJlaGF2aW9ySGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IEJFSEFWSU9SX0hBTkRMRVJTW2JlaGF2aW9yXTtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW0JlaGF2aW9yXSBObyBoYW5kbGVyIGZvciBiZWhhdmlvcjogJHtiZWhhdmlvcn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './calculate-connection-line-by-behavior';
|
|
2
2
|
export * from './calculate-connection-line-by-behavior-request';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './fixed-
|
|
5
|
-
export * from './
|
|
6
|
-
|
|
3
|
+
export * from './models/calculate-behavior-request';
|
|
4
|
+
export * from './utils/fixed-center-behavior';
|
|
5
|
+
export * from './utils/fixed-outbound-behavior';
|
|
6
|
+
export * from './utils/floating-behavior';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpeGVkLWNlbnRlci1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2Zsb2F0aW5nLWJlaGF2aW9yJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB7XG4gIHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdDtcbiAgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0O1xuICBzb3VyY2VDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xuICB0YXJnZXRDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed center behavior calculates the connection line
|
|
3
|
+
* It constructs a line between the gravity centers of the connector rectangles
|
|
4
|
+
* @param payload
|
|
5
|
+
*/
|
|
6
|
+
export function fixedCenterBehavior({ sourceRect, targetRect }) {
|
|
7
|
+
return {
|
|
8
|
+
point1: sourceRect.gravityCenter,
|
|
9
|
+
point2: targetRect.gravityCenter,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtY2VudGVyLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IvdXRpbHMvZml4ZWQtY2VudGVyLWJlaGF2aW9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE0QjtJQUN0RixPQUFPO1FBQ0wsTUFBTSxFQUFFLFVBQVUsQ0FBQyxhQUFhO1FBQ2hDLE1BQU0sRUFBRSxVQUFVLENBQUMsYUFBYTtLQUNqQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZpeGVkIGNlbnRlciBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGdyYXZpdHkgY2VudGVycyBvZiB0aGUgY29ubmVjdG9yIHJlY3RhbmdsZXNcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhlZENlbnRlckJlaGF2aW9yKHsgc291cmNlUmVjdCwgdGFyZ2V0UmVjdCB9OiBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgcG9pbnQyOiB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EFConnectableSide } from '../../../../f-connectors';
|
|
2
|
+
/**
|
|
3
|
+
* Fixed outbound behavior calculates the connection line
|
|
4
|
+
* It constructs a line between the specified sides of the output and input rectangles
|
|
5
|
+
* @param payload
|
|
6
|
+
*/
|
|
7
|
+
export function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }) {
|
|
8
|
+
return {
|
|
9
|
+
point1: _getPosition(sourceRect, sourceConnectableSide === EFConnectableSide.AUTO
|
|
10
|
+
? EFConnectableSide.BOTTOM
|
|
11
|
+
: sourceConnectableSide),
|
|
12
|
+
point2: _getPosition(targetRect, targetConnectableSide === EFConnectableSide.AUTO
|
|
13
|
+
? EFConnectableSide.TOP
|
|
14
|
+
: targetConnectableSide),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function _getPosition(rect, side) {
|
|
18
|
+
switch (side) {
|
|
19
|
+
case EFConnectableSide.TOP:
|
|
20
|
+
return { x: rect.x + rect.width / 2, y: rect.y };
|
|
21
|
+
case EFConnectableSide.BOTTOM:
|
|
22
|
+
return { x: rect.x + rect.width / 2, y: rect.y + rect.height };
|
|
23
|
+
case EFConnectableSide.LEFT:
|
|
24
|
+
return { x: rect.x, y: rect.y + rect.height / 2 };
|
|
25
|
+
case EFConnectableSide.RIGHT:
|
|
26
|
+
return { x: rect.x + rect.width, y: rect.y + rect.height / 2 };
|
|
27
|
+
default:
|
|
28
|
+
throw new Error(`Unknown side: ${side}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci91dGlscy9maXhlZC1vdXRib3VuZC1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc3RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQ3BDLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsVUFBVSxFQUNWLHFCQUFxQixHQUNJO0lBQ3pCLE9BQU87UUFDTCxNQUFNLEVBQUUsWUFBWSxDQUNsQixVQUFVLEVBQ1YscUJBQXFCLEtBQUssaUJBQWlCLENBQUMsSUFBSTtZQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTTtZQUMxQixDQUFDLENBQUMscUJBQXFCLENBQzFCO1FBQ0QsTUFBTSxFQUFFLFlBQVksQ0FDbEIsVUFBVSxFQUNWLHFCQUFxQixLQUFLLGlCQUFpQixDQUFDLElBQUk7WUFDOUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsQ0FBQyxDQUFDLHFCQUFxQixDQUMxQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBVyxFQUFFLElBQXVCO0lBQ3hELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLGlCQUFpQixDQUFDLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakUsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BELEtBQUssaUJBQWlCLENBQUMsS0FBSztZQUMxQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pFO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZpeGVkIG91dGJvdW5kIGJlaGF2aW9yIGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZVxuICogSXQgY29uc3RydWN0cyBhIGxpbmUgYmV0d2VlbiB0aGUgc3BlY2lmaWVkIHNpZGVzIG9mIHRoZSBvdXRwdXQgYW5kIGlucHV0IHJlY3RhbmdsZXNcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhlZE91dGJvdW5kQmVoYXZpb3Ioe1xuICBzb3VyY2VSZWN0LFxuICBzb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gIHRhcmdldFJlY3QsXG4gIHRhcmdldENvbm5lY3RhYmxlU2lkZSxcbn06IENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCk6IElMaW5lIHtcbiAgcmV0dXJuIHtcbiAgICBwb2ludDE6IF9nZXRQb3NpdGlvbihcbiAgICAgIHNvdXJjZVJlY3QsXG4gICAgICBzb3VyY2VDb25uZWN0YWJsZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkFVVE9cbiAgICAgICAgPyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT01cbiAgICAgICAgOiBzb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gICAgKSxcbiAgICBwb2ludDI6IF9nZXRQb3NpdGlvbihcbiAgICAgIHRhcmdldFJlY3QsXG4gICAgICB0YXJnZXRDb25uZWN0YWJsZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkFVVE9cbiAgICAgICAgPyBFRkNvbm5lY3RhYmxlU2lkZS5UT1BcbiAgICAgICAgOiB0YXJnZXRDb25uZWN0YWJsZVNpZGUsXG4gICAgKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gX2dldFBvc2l0aW9uKHJlY3Q6IElSZWN0LCBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IElQb2ludCB7XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCAvIDIsIHk6IHJlY3QueSB9O1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCAvIDIsIHk6IHJlY3QueSArIHJlY3QuaGVpZ2h0IH07XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54LCB5OiByZWN0LnkgKyByZWN0LmhlaWdodCAvIDIgfTtcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCwgeTogcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzaWRlOiAke3NpZGV9YCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GetIntersections } from '@foblex/2d';
|
|
2
|
+
/**
|
|
3
|
+
* Floating behavior calculates the connection line
|
|
4
|
+
* It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
|
|
5
|
+
* @param payload
|
|
6
|
+
*/
|
|
7
|
+
export function floatingBehavior({ sourceRect, targetRect }) {
|
|
8
|
+
return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
|
|
9
|
+
}
|
|
10
|
+
function _fromRoundedRectIntersections(sourceRect, targetRect) {
|
|
11
|
+
return GetIntersections.getRoundedRectIntersections(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect)[0];
|
|
12
|
+
}
|
|
13
|
+
function _toRoundedRectIntersections(sourceRect, targetRect) {
|
|
14
|
+
return GetIntersections.getRoundedRectIntersections(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect)[0];
|
|
15
|
+
}
|
|
16
|
+
function _getIntersectionsLine(from, to, sourceRect, targetRect) {
|
|
17
|
+
return {
|
|
18
|
+
point1: from ? from : sourceRect.gravityCenter,
|
|
19
|
+
point2: to ? to : targetRect.gravityCenter,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci91dGlscy9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQStCLE1BQU0sWUFBWSxDQUFDO0FBRzNFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE0QjtJQUNuRixPQUFPLHFCQUFxQixDQUMxQiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQ3JELDJCQUEyQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFDbkQsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsVUFBd0IsRUFBRSxVQUF3QjtJQUN2RixPQUFPLGdCQUFnQixDQUFDLDJCQUEyQixDQUNqRCxVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFVBQXdCLEVBQUUsVUFBd0I7SUFDckYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLEVBQVUsRUFDVixVQUF3QixFQUN4QixVQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUM5QyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW50ZXJzZWN0aW9ucywgSUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZsb2F0aW5nIGJlaGF2aW9yIGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZVxuICogSXQgY29uc3RydWN0cyBhIGxpbmUgYmV0d2VlbiB0aGUgaW50ZXJzZWN0aW9ucyBvZiB0aGUgY29ubmVjdG9ycyByZWN0YW5nbGVzIGFuZCBsaW5lIGZyb20gdGhlIGNlbnRlcnMgb2YgdGhlIGNvbm5lY3RvciByZWN0YW5nbGVzXG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmxvYXRpbmdCZWhhdmlvcih7IHNvdXJjZVJlY3QsIHRhcmdldFJlY3QgfTogQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICByZXR1cm4gX2dldEludGVyc2VjdGlvbnNMaW5lKFxuICAgIF9mcm9tUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpLFxuICAgIF90b1JvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0LCB0YXJnZXRSZWN0KSxcbiAgICBzb3VyY2VSZWN0LFxuICAgIHRhcmdldFJlY3QsXG4gICk7XG59XG5cbmZ1bmN0aW9uIF9mcm9tUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdCwgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0KSB7XG4gIHJldHVybiBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgdGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHNvdXJjZVJlY3QsXG4gIClbMF07XG59XG5cbmZ1bmN0aW9uIF90b1JvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCkge1xuICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoXG4gICAgdGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICB0YXJnZXRSZWN0LFxuICApWzBdO1xufVxuXG5mdW5jdGlvbiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gIGZyb206IElQb2ludCxcbiAgdG86IElQb2ludCxcbiAgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4pOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBmcm9tID8gZnJvbSA6IHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBwb2ludDI6IHRvID8gdG8gOiB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gIH07XG59XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-sto
|
|
|
7
7
|
import { RemoveSnapConnectionFromStoreExecution } from './remove-snap-connection-from-store';
|
|
8
8
|
import { AddConnectionMarkerToStoreExecution } from './add-connection-marker-to-store';
|
|
9
9
|
import { RemoveConnectionMarkerFromStoreExecution } from './remove-connection-marker-from-store';
|
|
10
|
-
import {
|
|
10
|
+
import { RedrawConnections } from './redraw-connections';
|
|
11
11
|
import { CalculateConnectionLineByBehavior } from './calculate-connection-line-by-behavior';
|
|
12
12
|
/**
|
|
13
13
|
* This file exports all the connection-related features for the F-Flow domain.
|
|
@@ -19,10 +19,10 @@ export const F_CONNECTION_FEATURES = [
|
|
|
19
19
|
AddSnapConnectionToStoreExecution,
|
|
20
20
|
CreateConnectionMarkersExecution,
|
|
21
21
|
CalculateConnectionLineByBehavior,
|
|
22
|
-
|
|
22
|
+
RedrawConnections,
|
|
23
23
|
RemoveConnectionForCreateFromStoreExecution,
|
|
24
24
|
RemoveConnectionFromStoreExecution,
|
|
25
25
|
RemoveConnectionMarkerFromStoreExecution,
|
|
26
26
|
RemoveSnapConnectionFromStoreExecution,
|
|
27
27
|
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLHNDQUFzQztJQUV0QyxtQ0FBbUM7SUFFbkMsNkJBQTZCO0lBRTdCLGlDQUFpQztJQUVqQyxnQ0FBZ0M7SUFFaEMsaUNBQWlDO0lBRWpDLGlCQUFpQjtJQUVqQiwyQ0FBMkM7SUFFM0Msa0NBQWtDO0lBRWxDLHdDQUF3QztJQUV4QyxzQ0FBc0M7Q0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi1mb3ItY3JlYXRlLXRvLXN0b3JlJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5pbXBvcnQgeyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1zbmFwLWNvbm5lY3Rpb24tdG8tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1zbmFwLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uTWFya2VyVG9TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tbWFya2VyLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLW1hcmtlci1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlZHJhd0Nvbm5lY3Rpb25zIH0gZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yIH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yJztcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIGNvbm5lY3Rpb24tcmVsYXRlZCBmZWF0dXJlcyBmb3IgdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgPSBbXG4gIEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25NYXJrZXJUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZFNuYXBDb25uZWN0aW9uVG9TdG9yZUV4ZWN1dGlvbixcblxuICBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3IsXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnMsXG5cbiAgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uLFxuXG4gIFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24sXG5cbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24sXG5dO1xuIl19
|