@foblex/flow 17.8.0 → 17.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +12 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/{calculate-connection-line-by-behavior.execution.d.ts → calculate-connection-line-by-behavior.d.ts} +4 -4
- package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +2 -2
- package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +2 -2
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
- package/domain/f-connectors/add-input-to-store/add-input-to-store-request.d.ts +2 -2
- package/domain/f-connectors/add-input-to-store/add-input-to-store.d.ts +12 -0
- package/domain/f-connectors/add-input-to-store/index.d.ts +1 -1
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.d.ts +2 -2
- package/domain/f-connectors/add-outlet-to-store/{add-outlet-to-store.execution.d.ts → add-outlet-to-store.d.ts} +5 -5
- package/domain/f-connectors/add-outlet-to-store/index.d.ts +1 -1
- package/domain/f-connectors/add-output-to-store/add-output-to-store-request.d.ts +2 -2
- package/domain/f-connectors/add-output-to-store/{add-output-to-store.execution.d.ts → add-output-to-store.d.ts} +5 -5
- package/domain/f-connectors/add-output-to-store/index.d.ts +1 -1
- package/domain/f-connectors/{find-closest-connector/find-closest-connector.request.d.ts → calculate-closest-connector/calculate-closest-connector-request.d.ts} +3 -3
- package/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.d.ts +16 -0
- package/domain/f-connectors/calculate-closest-connector/index.d.ts +2 -0
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +3 -3
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +2 -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 +2 -2
- 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 +2 -2
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +2 -2
- package/domain/f-connectors/get-connector-and-rect/{get-connector-and-rect.execution.d.ts → get-connector-and-rect.d.ts} +4 -4
- package/domain/f-connectors/get-connector-and-rect/index.d.ts +1 -1
- package/domain/f-connectors/index.d.ts +1 -1
- package/domain/f-connectors/mark-connectable-connectors/index.d.ts +2 -2
- package/domain/f-connectors/mark-connectable-connectors/{mark-connectable-connectors.request.d.ts → mark-connectable-connectors-request.d.ts} +2 -2
- package/domain/f-connectors/mark-connectable-connectors/{mark-connectable-connectors.execution.d.ts → mark-connectable-connectors.d.ts} +5 -5
- package/domain/f-connectors/providers.d.ts +11 -11
- package/domain/f-connectors/remove-input-from-store/index.d.ts +1 -1
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.d.ts +2 -2
- package/domain/f-connectors/remove-input-from-store/{remove-input-from-store.execution.d.ts → remove-input-from-store.d.ts} +4 -4
- package/domain/f-connectors/unmark-connectable-connectors/index.d.ts +2 -2
- package/domain/f-connectors/unmark-connectable-connectors/{unmark-connectable-connectors.request.d.ts → unmark-connectable-connectors-request.d.ts} +2 -2
- package/domain/f-connectors/unmark-connectable-connectors/{unmark-connectable-connectors.execution.d.ts → unmark-connectable-connectors.d.ts} +5 -5
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +1 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +16 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +32 -0
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +4 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +8 -4
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +10 -10
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +3 -3
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections-request.mjs +1 -1
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +9 -9
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.mjs +25 -0
- package/esm2022/domain/f-connectors/add-input-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.mjs +25 -0
- package/esm2022/domain/f-connectors/add-outlet-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +4 -4
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.mjs +25 -0
- package/esm2022/domain/f-connectors/add-output-to-store/index.mjs +2 -2
- package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector-request.mjs +10 -0
- package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.mjs +49 -0
- package/esm2022/domain/f-connectors/calculate-closest-connector/index.mjs +3 -0
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +9 -6
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +14 -14
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
- 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 +9 -9
- 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 +4 -4
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +4 -4
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.mjs +31 -0
- package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +2 -2
- package/esm2022/domain/f-connectors/index.mjs +2 -2
- package/esm2022/domain/f-connectors/mark-connectable-connectors/index.mjs +3 -3
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors-request.mjs +8 -0
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.mjs +30 -0
- package/esm2022/domain/f-connectors/providers.mjs +20 -20
- package/esm2022/domain/f-connectors/remove-input-from-store/index.mjs +2 -2
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +4 -4
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.mjs +25 -0
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/index.mjs +3 -3
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/{unmark-connectable-connectors.request.mjs → unmark-connectable-connectors-request.mjs} +4 -4
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.mjs +30 -0
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +4 -4
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +12 -6
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +3 -6
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +3 -6
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +26 -10
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +41 -23
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +9 -3
- package/esm2022/f-connection/common/f-connection-base.mjs +34 -25
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +17 -27
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +20 -33
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +17 -27
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +16 -26
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +10 -20
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +24 -25
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
- package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +21 -4
- package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +96 -0
- package/esm2022/f-connection/f-connection-content/index.mjs +3 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +2 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +6 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +6 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +29 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +65 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +2 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +2 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +5 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +143 -0
- package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +68 -0
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +17 -21
- package/esm2022/f-connection/f-marker/f-marker-base.mjs +2 -8
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +13 -22
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +17 -21
- package/esm2022/f-connection/index.mjs +2 -1
- package/esm2022/f-connectors/f-connector-base.mjs +1 -1
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +2 -2
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +34 -32
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +6 -6
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +23 -26
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +30 -32
- package/esm2022/f-connectors/f-source-connector-base.mjs +11 -0
- package/esm2022/f-connectors/index.mjs +2 -1
- package/esm2022/f-draggable/domain/f-drag-started-event.mjs +4 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +7 -7
- package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +20 -18
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +38 -36
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +21 -19
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +6 -6
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +5 -5
- package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
- package/esm2022/f-draggable/f-draggable.directive.mjs +10 -20
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +9 -12
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +5 -5
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +5 -5
- package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +28 -16
- package/esm2022/f-node/f-node.directive.mjs +6 -2
- package/esm2022/mixins/change-selection/change-selection.mjs +5 -6
- package/esm2022/mixins/change-visibility/change-visibility.mjs +4 -3
- package/esm2022/mixins/constructor.mjs +1 -1
- package/esm2022/utils/index.mjs +2 -1
- package/esm2022/utils/string-attribute.mjs +4 -0
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +2 -2
- package/f-connection/common/domain/f-segment.path-builder.d.ts +7 -7
- package/f-connection/common/f-connection-base.d.ts +13 -11
- package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +6 -11
- package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +6 -12
- package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +5 -10
- package/f-connection/common/f-path/f-connection-path.component.d.ts +2 -7
- package/f-connection/common/f-selection/f-connection-selection.component.d.ts +2 -6
- package/f-connection/common/i-has-connection-from-to.d.ts +3 -3
- package/f-connection/f-connection/f-connection.component.d.ts +6 -6
- package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
- package/f-connection/f-connection-center/f-connection-center.directive.d.ts +6 -1
- package/f-connection/f-connection-content/f-connection-content.d.ts +69 -0
- package/f-connection/f-connection-content/index.d.ts +2 -0
- package/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.d.ts +9 -0
- package/f-connection/f-connection-content/polyline-content-engine/index.d.ts +5 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.d.ts +4 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.d.ts +21 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.d.ts +18 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.d.ts +11 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.d.ts +4 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.d.ts +4 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.d.ts +60 -0
- package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.d.ts +29 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -6
- package/f-connection/f-marker/f-marker-base.d.ts +0 -3
- package/f-connection/f-marker/f-marker.directive.d.ts +4 -6
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -6
- package/f-connection/index.d.ts +1 -0
- package/f-connection/providers.d.ts +2 -2
- package/f-connectors/f-connector-base.d.ts +3 -2
- package/f-connectors/f-node-input/f-node-input-base.d.ts +3 -2
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +8 -9
- package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +3 -3
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +6 -8
- package/f-connectors/f-node-output/f-node-output-base.d.ts +4 -5
- package/f-connectors/f-node-output/f-node-output.directive.d.ts +7 -9
- package/f-connectors/f-source-connector-base.d.ts +7 -0
- package/f-connectors/index.d.ts +1 -0
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
- package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +9 -9
- package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +5 -5
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +4 -4
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +5 -5
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +5 -5
- package/f-draggable/f-draggable-base.d.ts +1 -1
- package/f-draggable/f-draggable.directive.d.ts +5 -6
- package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +1 -1
- package/f-node/f-node.directive.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +1083 -669
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/string-attribute.d.ts +1 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.d.ts +0 -12
- package/domain/f-connectors/add-input-to-store/add-input-to-store.execution.d.ts +0 -12
- package/domain/f-connectors/find-closest-connector/find-closest-connector.execution.d.ts +0 -16
- package/domain/f-connectors/find-closest-connector/index.d.ts +0 -2
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +0 -32
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +0 -16
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs +0 -47
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +0 -10
- package/esm2022/domain/f-connectors/find-closest-connector/index.mjs +0 -3
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +0 -31
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.mjs +0 -30
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +0 -8
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.mjs +0 -30
|
@@ -4,10 +4,14 @@ import { EFConnectableSide } from '../../../f-connectors';
|
|
|
4
4
|
* It constructs a line between the specified sides of the output and input rectangles
|
|
5
5
|
* @param payload
|
|
6
6
|
*/
|
|
7
|
-
export function fixedOutboundBehavior(
|
|
7
|
+
export function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }) {
|
|
8
8
|
return {
|
|
9
|
-
point1: _getPosition(
|
|
10
|
-
|
|
9
|
+
point1: _getPosition(sourceRect, sourceConnectableSide === EFConnectableSide.AUTO
|
|
10
|
+
? EFConnectableSide.BOTTOM
|
|
11
|
+
: sourceConnectableSide),
|
|
12
|
+
point2: _getPosition(targetRect, targetConnectableSide === EFConnectableSide.AUTO
|
|
13
|
+
? EFConnectableSide.TOP
|
|
14
|
+
: targetConnectableSide),
|
|
11
15
|
};
|
|
12
16
|
}
|
|
13
17
|
function _getPosition(rect, side) {
|
|
@@ -24,4 +28,4 @@ function _getPosition(rect, side) {
|
|
|
24
28
|
throw new Error(`Unknown side: ${side}`);
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9maXhlZC1vdXRib3VuZC1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQ3BDLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsVUFBVSxFQUNWLHFCQUFxQixHQUNvQjtJQUN6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFLFlBQVksQ0FDbEIsVUFBVSxFQUNWLHFCQUFxQixLQUFLLGlCQUFpQixDQUFDLElBQUk7WUFDOUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU07WUFDMUIsQ0FBQyxDQUFDLHFCQUFxQixDQUMxQjtRQUNELE1BQU0sRUFBRSxZQUFZLENBQ2xCLFVBQVUsRUFDVixxQkFBcUIsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQzlDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO1lBQ3ZCLENBQUMsQ0FBQyxxQkFBcUIsQ0FDMUI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVcsRUFBRSxJQUF1QjtJQUN4RCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25ELEtBQUssaUJBQWlCLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pFLEtBQUssaUJBQWlCLENBQUMsSUFBSTtZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwRCxLQUFLLGlCQUFpQixDQUFDLEtBQUs7WUFDMUIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqRTtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0JztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuLyoqXG4gKiBGaXhlZCBvdXRib3VuZCBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIHNwZWNpZmllZCBzaWRlcyBvZiB0aGUgb3V0cHV0IGFuZCBpbnB1dCByZWN0YW5nbGVzXG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4ZWRPdXRib3VuZEJlaGF2aW9yKHtcbiAgc291cmNlUmVjdCxcbiAgc291cmNlQ29ubmVjdGFibGVTaWRlLFxuICB0YXJnZXRSZWN0LFxuICB0YXJnZXRDb25uZWN0YWJsZVNpZGUsXG59OiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICByZXR1cm4ge1xuICAgIHBvaW50MTogX2dldFBvc2l0aW9uKFxuICAgICAgc291cmNlUmVjdCxcbiAgICAgIHNvdXJjZUNvbm5lY3RhYmxlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQVVUT1xuICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICA6IHNvdXJjZUNvbm5lY3RhYmxlU2lkZSxcbiAgICApLFxuICAgIHBvaW50MjogX2dldFBvc2l0aW9uKFxuICAgICAgdGFyZ2V0UmVjdCxcbiAgICAgIHRhcmdldENvbm5lY3RhYmxlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQVVUT1xuICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlRPUFxuICAgICAgICA6IHRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApLFxuICB9O1xufVxuXG5mdW5jdGlvbiBfZ2V0UG9zaXRpb24ocmVjdDogSVJlY3QsIHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSVBvaW50IHtcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICByZXR1cm4geyB4OiByZWN0LnggKyByZWN0LndpZHRoIC8gMiwgeTogcmVjdC55IH07XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICByZXR1cm4geyB4OiByZWN0LnggKyByZWN0LndpZHRoIC8gMiwgeTogcmVjdC55ICsgcmVjdC5oZWlnaHQgfTtcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ6XG4gICAgICByZXR1cm4geyB4OiByZWN0LngsIHk6IHJlY3QueSArIHJlY3QuaGVpZ2h0IC8gMiB9O1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICByZXR1cm4geyB4OiByZWN0LnggKyByZWN0LndpZHRoLCB5OiByZWN0LnkgKyByZWN0LmhlaWdodCAvIDIgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHNpZGU6ICR7c2lkZX1gKTtcbiAgfVxufVxuIl19
|
package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs
CHANGED
|
@@ -4,19 +4,19 @@ import { GetIntersections } from '@foblex/2d';
|
|
|
4
4
|
* It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
|
|
5
5
|
* @param payload
|
|
6
6
|
*/
|
|
7
|
-
export function floatingBehavior(
|
|
8
|
-
return _getIntersectionsLine(_fromRoundedRectIntersections(
|
|
7
|
+
export function floatingBehavior({ sourceRect, targetRect, }) {
|
|
8
|
+
return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
|
|
9
9
|
}
|
|
10
|
-
function _fromRoundedRectIntersections(
|
|
11
|
-
return GetIntersections.getRoundedRectIntersections(
|
|
10
|
+
function _fromRoundedRectIntersections(sourceRect, targetRect) {
|
|
11
|
+
return GetIntersections.getRoundedRectIntersections(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect)[0];
|
|
12
12
|
}
|
|
13
|
-
function _toRoundedRectIntersections(
|
|
14
|
-
return GetIntersections.getRoundedRectIntersections(
|
|
13
|
+
function _toRoundedRectIntersections(sourceRect, targetRect) {
|
|
14
|
+
return GetIntersections.getRoundedRectIntersections(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect)[0];
|
|
15
15
|
}
|
|
16
|
-
function _getIntersectionsLine(from, to,
|
|
16
|
+
function _getIntersectionsLine(from, to, sourceRect, targetRect) {
|
|
17
17
|
return {
|
|
18
|
-
point1: from ? from :
|
|
19
|
-
point2: to ? to :
|
|
18
|
+
point1: from ? from : sourceRect.gravityCenter,
|
|
19
|
+
point2: to ? to : targetRect.gravityCenter,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQStCLE1BQU0sWUFBWSxDQUFDO0FBRzNFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFDL0IsVUFBVSxFQUNWLFVBQVUsR0FDK0I7SUFDekMsT0FBTyxxQkFBcUIsQ0FDMUIsNkJBQTZCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUNyRCwyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQ25ELFVBQVUsRUFDVixVQUFVLENBQ1gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDZCQUE2QixDQUFDLFVBQXdCLEVBQUUsVUFBd0I7SUFDdkYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxVQUF3QixFQUFFLFVBQXdCO0lBQ3JGLE9BQU8sZ0JBQWdCLENBQUMsMkJBQTJCLENBQ2pELFVBQVUsQ0FBQyxhQUFhLEVBQ3hCLFVBQVUsQ0FBQyxhQUFhLEVBQ3hCLFVBQVUsQ0FDWCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQzVCLElBQVksRUFDWixFQUFVLEVBQ1YsVUFBd0IsRUFDeEIsVUFBd0I7SUFFeEIsT0FBTztRQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDOUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYTtLQUMzQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEludGVyc2VjdGlvbnMsIElMaW5lLCBJUG9pbnQsIElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0JztcblxuLyoqXG4gKiBGbG9hdGluZyBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGludGVyc2VjdGlvbnMgb2YgdGhlIGNvbm5lY3RvcnMgcmVjdGFuZ2xlcyBhbmQgbGluZSBmcm9tIHRoZSBjZW50ZXJzIG9mIHRoZSBjb25uZWN0b3IgcmVjdGFuZ2xlc1xuICogQHBhcmFtIHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0aW5nQmVoYXZpb3Ioe1xuICBzb3VyY2VSZWN0LFxuICB0YXJnZXRSZWN0LFxufTogQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCk6IElMaW5lIHtcbiAgcmV0dXJuIF9nZXRJbnRlcnNlY3Rpb25zTGluZShcbiAgICBfZnJvbVJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0LCB0YXJnZXRSZWN0KSxcbiAgICBfdG9Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdCwgdGFyZ2V0UmVjdCksXG4gICAgc291cmNlUmVjdCxcbiAgICB0YXJnZXRSZWN0LFxuICApO1xufVxuXG5mdW5jdGlvbiBfZnJvbVJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCkge1xuICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoXG4gICAgc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBzb3VyY2VSZWN0LFxuICApWzBdO1xufVxuXG5mdW5jdGlvbiBfdG9Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LCB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QpIHtcbiAgcmV0dXJuIEdldEludGVyc2VjdGlvbnMuZ2V0Um91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKFxuICAgIHRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgdGFyZ2V0UmVjdCxcbiAgKVswXTtcbn1cblxuZnVuY3Rpb24gX2dldEludGVyc2VjdGlvbnNMaW5lKFxuICBmcm9tOiBJUG9pbnQsXG4gIHRvOiBJUG9pbnQsXG4gIHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdCxcbiAgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0LFxuKTogSUxpbmUge1xuICByZXR1cm4ge1xuICAgIHBvaW50MTogZnJvbSA/IGZyb20gOiBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgcG9pbnQyOiB0byA/IHRvIDogdGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICB9O1xufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './calculate-connection-line-by-behavior
|
|
2
|
-
export * from './calculate-connection-line-by-behavior
|
|
1
|
+
export * from './calculate-connection-line-by-behavior';
|
|
2
|
+
export * from './calculate-connection-line-by-behavior-request';
|
|
3
3
|
export * from './fixed-center-behavior';
|
|
4
4
|
export * from './fixed-outbound-behavior';
|
|
5
5
|
export * from './floating-behavior';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3ItcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtY2VudGVyLWJlaGF2aW9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9maXhlZC1vdXRib3VuZC1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmxvYXRpbmctYmVoYXZpb3InO1xuIl19
|
|
@@ -8,7 +8,7 @@ import { RemoveSnapConnectionFromStoreExecution } from './remove-snap-connection
|
|
|
8
8
|
import { AddConnectionMarkerToStoreExecution } from './add-connection-marker-to-store';
|
|
9
9
|
import { RemoveConnectionMarkerFromStoreExecution } from './remove-connection-marker-from-store';
|
|
10
10
|
import { RedrawConnectionsExecution } from './redraw-connections';
|
|
11
|
-
import {
|
|
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.
|
|
14
14
|
*/
|
|
@@ -18,11 +18,11 @@ export const F_CONNECTION_FEATURES = [
|
|
|
18
18
|
AddConnectionToStoreExecution,
|
|
19
19
|
AddSnapConnectionToStoreExecution,
|
|
20
20
|
CreateConnectionMarkersExecution,
|
|
21
|
-
|
|
21
|
+
CalculateConnectionLineByBehavior,
|
|
22
22
|
RedrawConnectionsExecution,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLHNDQUFzQztJQUV0QyxtQ0FBbUM7SUFFbkMsNkJBQTZCO0lBRTdCLGlDQUFpQztJQUVqQyxnQ0FBZ0M7SUFFaEMsaUNBQWlDO0lBRWpDLDBCQUEwQjtJQUUxQiwyQ0FBMkM7SUFFM0Msa0NBQWtDO0lBRWxDLHdDQUF3QztJQUV4QyxzQ0FBc0M7Q0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi1mb3ItY3JlYXRlLXRvLXN0b3JlJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5pbXBvcnQgeyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1zbmFwLWNvbm5lY3Rpb24tdG8tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1zbmFwLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uTWFya2VyVG9TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tbWFya2VyLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLW1hcmtlci1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlZHJhd0Nvbm5lY3Rpb25zRXhlY3V0aW9uIH0gZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yIH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yJztcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIGNvbm5lY3Rpb24tcmVsYXRlZCBmZWF0dXJlcyBmb3IgdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgPSBbXG4gIEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25NYXJrZXJUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZFNuYXBDb25uZWN0aW9uVG9TdG9yZUV4ZWN1dGlvbixcblxuICBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3IsXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnNFeGVjdXRpb24sXG5cbiAgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uLFxuXG4gIFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24sXG5cbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24sXG5dO1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export class RedrawConnectionsRequest {
|
|
2
2
|
static fToken = Symbol('RedrawConnectionsRequest');
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vcmVkcmF3LWNvbm5lY3Rpb25zL3JlZHJhdy1jb25uZWN0aW9ucy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QnKTtcbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ import { FComponentsStore } from '../../../f-storage';
|
|
|
5
5
|
import { CalculateConnectionLineByBehaviorRequest } from '../calculate-connection-line-by-behavior';
|
|
6
6
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
7
7
|
import { CreateConnectionMarkersRequest } from '../create-connection-markers';
|
|
8
|
-
import { GetNormalizedConnectorRectRequest } from
|
|
8
|
+
import { GetNormalizedConnectorRectRequest } from '../../get-normalized-connector-rect';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* Execution that redraws connections in the FComponentsStore.
|
|
@@ -13,9 +13,9 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
* and sets up connections based on the stored outputs and inputs.
|
|
14
14
|
*/
|
|
15
15
|
let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
16
|
-
|
|
16
|
+
_mediator = inject(FMediator);
|
|
17
17
|
_store = inject(FComponentsStore);
|
|
18
|
-
handle(
|
|
18
|
+
handle(_request) {
|
|
19
19
|
this._resetConnectors();
|
|
20
20
|
if (this._store.fTempConnection) {
|
|
21
21
|
this._setMarkers(this._store.fTempConnection);
|
|
@@ -24,18 +24,18 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
|
24
24
|
this._setMarkers(this._store.fSnapConnection);
|
|
25
25
|
}
|
|
26
26
|
this._store.fConnections.forEach((x) => {
|
|
27
|
-
this._setupConnection(this._getOutput(x.fOutputId), this._getInput(x.fInputId), x);
|
|
27
|
+
this._setupConnection(this._getOutput(x.fOutputId()), this._getInput(x.fInputId()), x);
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
_getOutput(id) {
|
|
31
|
-
const result = this._store.fOutputs.find((x) => x.fId === id);
|
|
31
|
+
const result = this._store.fOutputs.find((x) => x.fId() === id);
|
|
32
32
|
if (!result) {
|
|
33
33
|
throw new Error(`Output with id ${id} not found`);
|
|
34
34
|
}
|
|
35
35
|
return result;
|
|
36
36
|
}
|
|
37
37
|
_getInput(id) {
|
|
38
|
-
const result = this._store.fInputs.find((x) => x.fId === id);
|
|
38
|
+
const result = this._store.fInputs.find((x) => x.fId() === id);
|
|
39
39
|
if (!result) {
|
|
40
40
|
throw new Error(`Input with id ${id} not found`);
|
|
41
41
|
}
|
|
@@ -55,10 +55,10 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
|
|
|
55
55
|
fConnection.isSelected() ? fConnection.markAsSelected() : null;
|
|
56
56
|
}
|
|
57
57
|
_getLine(output, input, connection) {
|
|
58
|
-
return this.
|
|
58
|
+
return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._mediator.execute(new GetNormalizedConnectorRectRequest(output.hostElement)), this._mediator.execute(new GetNormalizedConnectorRectRequest(input.hostElement)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
|
|
59
59
|
}
|
|
60
60
|
_setMarkers(connection) {
|
|
61
|
-
this.
|
|
61
|
+
this._mediator.execute(new CreateConnectionMarkersRequest(connection));
|
|
62
62
|
}
|
|
63
63
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnectionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
64
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnectionsExecution });
|
|
@@ -70,4 +70,4 @@ export { RedrawConnectionsExecution };
|
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnectionsExecution, decorators: [{
|
|
71
71
|
type: Injectable
|
|
72
72
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9yZWRyYXctY29ubmVjdGlvbnMvcmVkcmF3LWNvbm5lY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUV4Rjs7OztHQUlHO0FBR0ksSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFDcEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsTUFBTSxDQUFDLFFBQWtDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZ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VUFBVSxDQUFDLFNBQVMsRUFDcEIsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQ3ZCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsVUFBMkI7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7d0dBbkZVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBb0Z0Qzs7NEZBcEZZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbk1hcmtlcnNSZXF1ZXN0IH0gZnJvbSAnLi4vY3JlYXRlLWNvbm5lY3Rpb24tbWFya2Vycyc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkQ29ubmVjdG9yUmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXQtbm9ybWFsaXplZC1jb25uZWN0b3ItcmVjdCc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmVkcmF3cyBjb25uZWN0aW9ucyBpbiB0aGUgRkNvbXBvbmVudHNTdG9yZS5cbiAqIEl0IHJlc2V0cyBjb25uZWN0b3JzLCBzZXRzIG1hcmtlcnMgZm9yIHRlbXBvcmFyeSBhbmQgc25hcCBjb25uZWN0aW9ucyxcbiAqIGFuZCBzZXRzIHVwIGNvbm5lY3Rpb25zIGJhc2VkIG9uIHRoZSBzdG9yZWQgb3V0cHV0cyBhbmQgaW5wdXRzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248UmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0LCB2b2lkPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUoX3JlcXVlc3Q6IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0Q29ubmVjdG9ycygpO1xuXG4gICAgaWYgKHRoaXMuX3N0b3JlLmZUZW1wQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fc2V0TWFya2Vycyh0aGlzLl9zdG9yZS5mVGVtcENvbm5lY3Rpb24pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zdG9yZS5mU25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX3NldE1hcmtlcnModGhpcy5fc3RvcmUuZlNuYXBDb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgdGhpcy5fc2V0dXBDb25uZWN0aW9uKHRoaXMuX2dldE91dHB1dCh4LmZPdXRwdXRJZCgpKSwgdGhpcy5fZ2V0SW5wdXQoeC5mSW5wdXRJZCgpKSwgeCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPdXRwdXQoaWQ6IHN0cmluZyk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSBpZCk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgT3V0cHV0IHdpdGggaWQgJHtpZH0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0KGlkOiBzdHJpbmcpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSBpZCk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5wdXQgd2l0aCBpZCAke2lkfSBub3QgZm91bmRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRDb25uZWN0b3JzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmZPdXRwdXRzLmZvckVhY2goKHgpID0+IHgucmVzZXRDb25uZWN0ZWQoKSk7XG4gICAgdGhpcy5fc3RvcmUuZklucHV0cy5mb3JFYWNoKCh4KSA9PiB4LnJlc2V0Q29ubmVjdGVkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBDb25uZWN0aW9uKFxuICAgIGZPdXRwdXQ6IEZDb25uZWN0b3JCYXNlLFxuICAgIGZJbnB1dDogRkNvbm5lY3RvckJhc2UsXG4gICAgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKTogdm9pZCB7XG4gICAgZk91dHB1dC5zZXRDb25uZWN0ZWQoZklucHV0KTtcbiAgICBmSW5wdXQuc2V0Q29ubmVjdGVkKGZPdXRwdXQpO1xuXG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2dldExpbmUoZk91dHB1dCwgZklucHV0LCBmQ29ubmVjdGlvbik7XG5cbiAgICB0aGlzLl9zZXRNYXJrZXJzKGZDb25uZWN0aW9uKTtcblxuICAgIGZDb25uZWN0aW9uLnNldExpbmUobGluZSwgZk91dHB1dC5mQ29ubmVjdGFibGVTaWRlLCBmSW5wdXQuZkNvbm5lY3RhYmxlU2lkZSk7XG5cbiAgICBmQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gICAgZkNvbm5lY3Rpb24uaXNTZWxlY3RlZCgpID8gZkNvbm5lY3Rpb24ubWFya0FzU2VsZWN0ZWQoKSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lKFxuICAgIG91dHB1dDogRkNvbm5lY3RvckJhc2UsXG4gICAgaW5wdXQ6IEZDb25uZWN0b3JCYXNlLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJvdW5kZWRSZWN0PihcbiAgICAgICAgICBuZXcgR2V0Tm9ybWFsaXplZENvbm5lY3RvclJlY3RSZXF1ZXN0KG91dHB1dC5ob3N0RWxlbWVudCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJvdW5kZWRSZWN0PihcbiAgICAgICAgICBuZXcgR2V0Tm9ybWFsaXplZENvbm5lY3RvclJlY3RSZXF1ZXN0KGlucHV0Lmhvc3RFbGVtZW50KSxcbiAgICAgICAgKSxcbiAgICAgICAgY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBpbnB1dC5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2Vycyhjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc1JlcXVlc3QoY29ubmVjdGlvbikpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class AddInputToStoreRequest {
|
|
2
|
-
|
|
2
|
+
component;
|
|
3
3
|
static fToken = Symbol('AddInputToStoreRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(component) {
|
|
5
|
+
this.component = component;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWlucHV0LXRvLXN0b3JlLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvYWRkLWlucHV0LXRvLXN0b3JlL2FkZC1pbnB1dC10by1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7SUFFTDtJQUQ1QixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzFELFlBQTRCLFNBQXlCO1FBQXpCLGNBQVMsR0FBVCxTQUFTLENBQWdCO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGNsYXNzIEFkZElucHV0VG9TdG9yZVJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdBZGRJbnB1dFRvU3RvcmVSZXF1ZXN0Jyk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb21wb25lbnQ6IEZDb25uZWN0b3JCYXNlKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FExecutionRegister } from '@foblex/mediator';
|
|
4
|
+
import { AddInputToStoreRequest } from './add-input-to-store-request';
|
|
5
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Execution that adds an InputConnector to the FComponentsStore.
|
|
9
|
+
*/
|
|
10
|
+
let AddInputToStore = class AddInputToStore {
|
|
11
|
+
_store = inject(FComponentsStore);
|
|
12
|
+
handle({ component }) {
|
|
13
|
+
this._store.addComponent(this._store.fInputs, component);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddInputToStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddInputToStore });
|
|
17
|
+
};
|
|
18
|
+
AddInputToStore = __decorate([
|
|
19
|
+
FExecutionRegister(AddInputToStoreRequest)
|
|
20
|
+
], AddInputToStore);
|
|
21
|
+
export { AddInputToStore };
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddInputToStore, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWlucHV0LXRvLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2FkZC1pbnB1dC10by1zdG9yZS9hZGQtaW5wdXQtdG8tc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV0RDs7R0FFRztBQUdJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUEwQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO3dHQUxVLGVBQWU7NEdBQWYsZUFBZTs7QUFBZixlQUFlO0lBRDNCLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0dBQzlCLGVBQWUsQ0FNM0I7OzRGQU5ZLGVBQWU7a0JBRjNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkSW5wdXRUb1N0b3JlUmVxdWVzdCB9IGZyb20gJy4vYWRkLWlucHV0LXRvLXN0b3JlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgYWRkcyBhbiBJbnB1dENvbm5lY3RvciB0byB0aGUgRkNvbXBvbmVudHNTdG9yZS5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihBZGRJbnB1dFRvU3RvcmVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEFkZElucHV0VG9TdG9yZSBpbXBsZW1lbnRzIElFeGVjdXRpb248QWRkSW5wdXRUb1N0b3JlUmVxdWVzdCwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHsgY29tcG9uZW50IH06IEFkZElucHV0VG9TdG9yZVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5hZGRDb21wb25lbnQodGhpcy5fc3RvcmUuZklucHV0cywgY29tcG9uZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './add-input-to-store
|
|
1
|
+
export * from './add-input-to-store';
|
|
2
2
|
export * from './add-input-to-store-request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvYWRkLWlucHV0LXRvLXN0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRkLWlucHV0LXRvLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9hZGQtaW5wdXQtdG8tc3RvcmUtcmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class AddOutletToStoreRequest {
|
|
2
|
-
|
|
2
|
+
component;
|
|
3
3
|
static fToken = Symbol('AddOutletToStoreRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(component) {
|
|
5
|
+
this.component = component;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW91dGxldC10by1zdG9yZS1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2FkZC1vdXRsZXQtdG8tc3RvcmUvYWRkLW91dGxldC10by1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx1QkFBdUI7SUFFTjtJQUQ1QixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzNELFlBQTRCLFNBQXlCO1FBQXpCLGNBQVMsR0FBVCxTQUFTLENBQWdCO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGNsYXNzIEFkZE91dGxldFRvU3RvcmVSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QnKTtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGNvbXBvbmVudDogRkNvbm5lY3RvckJhc2UpIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FExecutionRegister } from '@foblex/mediator';
|
|
4
|
+
import { AddOutletToStoreRequest } from './add-outlet-to-store-request';
|
|
5
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Execution that adds an OutletConnector to the FComponentsStore.
|
|
9
|
+
*/
|
|
10
|
+
let AddOutletToStore = class AddOutletToStore {
|
|
11
|
+
_store = inject(FComponentsStore);
|
|
12
|
+
handle({ component }) {
|
|
13
|
+
this._store.addComponent(this._store.fOutlets, component);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutletToStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutletToStore });
|
|
17
|
+
};
|
|
18
|
+
AddOutletToStore = __decorate([
|
|
19
|
+
FExecutionRegister(AddOutletToStoreRequest)
|
|
20
|
+
], AddOutletToStore);
|
|
21
|
+
export { AddOutletToStore };
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutletToStore, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW91dGxldC10by1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdG9ycy9hZGQtb3V0bGV0LXRvLXN0b3JlL2FkZC1vdXRsZXQtdG8tc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV0RDs7R0FFRztBQUdJLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBMkI7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0FMVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7QUFBaEIsZ0JBQWdCO0lBRDVCLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDO0dBQy9CLGdCQUFnQixDQU01Qjs7NEZBTlksZ0JBQWdCO2tCQUY1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZE91dGxldFRvU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi9hZGQtb3V0bGV0LXRvLXN0b3JlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgYWRkcyBhbiBPdXRsZXRDb25uZWN0b3IgdG8gdGhlIEZDb21wb25lbnRzU3RvcmUuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQWRkT3V0bGV0VG9TdG9yZSBpbXBsZW1lbnRzIElFeGVjdXRpb248QWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QsIHZvaWQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZSh7IGNvbXBvbmVudCB9OiBBZGRPdXRsZXRUb1N0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmFkZENvbXBvbmVudCh0aGlzLl9zdG9yZS5mT3V0bGV0cywgY29tcG9uZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './add-outlet-to-store
|
|
1
|
+
export * from './add-outlet-to-store';
|
|
2
2
|
export * from './add-outlet-to-store-request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvYWRkLW91dGxldC10by1zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1vdXRsZXQtdG8tc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZC1vdXRsZXQtdG8tc3RvcmUtcmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class AddOutputToStoreRequest {
|
|
2
|
-
|
|
2
|
+
component;
|
|
3
3
|
static fToken = Symbol('AddOutputToStoreRequest');
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(component) {
|
|
5
|
+
this.component = component;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW91dHB1dC10by1zdG9yZS1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2FkZC1vdXRwdXQtdG8tc3RvcmUvYWRkLW91dHB1dC10by1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx1QkFBdUI7SUFFTjtJQUQ1QixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzNELFlBQTRCLFNBQXlCO1FBQXpCLGNBQVMsR0FBVCxTQUFTLENBQWdCO0lBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGNsYXNzIEFkZE91dHB1dFRvU3RvcmVSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQWRkT3V0cHV0VG9TdG9yZVJlcXVlc3QnKTtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGNvbXBvbmVudDogRkNvbm5lY3RvckJhc2UpIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FExecutionRegister } from '@foblex/mediator';
|
|
4
|
+
import { AddOutputToStoreRequest } from './add-output-to-store-request';
|
|
5
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Execution that adds an OutputConnector to the FComponentsStore.
|
|
9
|
+
*/
|
|
10
|
+
let AddOutputToStore = class AddOutputToStore {
|
|
11
|
+
_store = inject(FComponentsStore);
|
|
12
|
+
handle({ component }) {
|
|
13
|
+
this._store.addComponent(this._store.fOutputs, component);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutputToStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutputToStore });
|
|
17
|
+
};
|
|
18
|
+
AddOutputToStore = __decorate([
|
|
19
|
+
FExecutionRegister(AddOutputToStoreRequest)
|
|
20
|
+
], AddOutputToStore);
|
|
21
|
+
export { AddOutputToStore };
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddOutputToStore, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW91dHB1dC10by1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdG9ycy9hZGQtb3V0cHV0LXRvLXN0b3JlL2FkZC1vdXRwdXQtdG8tc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV0RDs7R0FFRztBQUdJLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBMkI7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0FMVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7QUFBaEIsZ0JBQWdCO0lBRDVCLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDO0dBQy9CLGdCQUFnQixDQU01Qjs7NEZBTlksZ0JBQWdCO2tCQUY1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZE91dHB1dFRvU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi9hZGQtb3V0cHV0LXRvLXN0b3JlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgYWRkcyBhbiBPdXRwdXRDb25uZWN0b3IgdG8gdGhlIEZDb21wb25lbnRzU3RvcmUuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQWRkT3V0cHV0VG9TdG9yZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQWRkT3V0cHV0VG9TdG9yZSBpbXBsZW1lbnRzIElFeGVjdXRpb248QWRkT3V0cHV0VG9TdG9yZVJlcXVlc3QsIHZvaWQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZSh7IGNvbXBvbmVudCB9OiBBZGRPdXRwdXRUb1N0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmFkZENvbXBvbmVudCh0aGlzLl9zdG9yZS5mT3V0cHV0cywgY29tcG9uZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './add-output-to-store
|
|
1
|
+
export * from './add-output-to-store';
|
|
2
2
|
export * from './add-output-to-store-request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvYWRkLW91dHB1dC10by1zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1vdXRwdXQtdG8tc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZC1vdXRwdXQtdG8tc3RvcmUtcmVxdWVzdCc7XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class CalculateClosestConnectorRequest {
|
|
2
|
+
position;
|
|
3
|
+
connectors;
|
|
4
|
+
static fToken = Symbol('CalculateClosestConnectorRequest');
|
|
5
|
+
constructor(position, connectors) {
|
|
6
|
+
this.position = position;
|
|
7
|
+
this.connectors = connectors;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yL2NhbGN1bGF0ZS1jbG9zZXN0LWNvbm5lY3Rvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxnQ0FBZ0M7SUFJekI7SUFDQTtJQUpsQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRXBFLFlBQ2tCLFFBQWdCLEVBQ2hCLFVBQStCO1FBRC9CLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uOiBJUG9pbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10sXG4gICkge31cbn1cbiJdfQ==
|
package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.mjs
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { CalculateClosestConnectorRequest } from './calculate-closest-connector-request';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Execution that finds the closest connector to a given point.
|
|
8
|
+
* It calculates the distance from the point to each connector's rectangle
|
|
9
|
+
* and returns the closest one along with its distance.
|
|
10
|
+
*/
|
|
11
|
+
let CalculateClosestConnector = class CalculateClosestConnector {
|
|
12
|
+
handle({ position, connectors, }) {
|
|
13
|
+
let result;
|
|
14
|
+
let minDistance = Infinity;
|
|
15
|
+
for (const element of connectors) {
|
|
16
|
+
const distance = this._distanceToRectangle(position, element);
|
|
17
|
+
if (distance < minDistance) {
|
|
18
|
+
minDistance = distance;
|
|
19
|
+
result = element;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result
|
|
23
|
+
? {
|
|
24
|
+
...result,
|
|
25
|
+
distance: minDistance,
|
|
26
|
+
}
|
|
27
|
+
: undefined;
|
|
28
|
+
}
|
|
29
|
+
_distanceToRectangle(point, inputWithRect) {
|
|
30
|
+
const closestX = this._clamp(point.x, inputWithRect.fRect.x, inputWithRect.fRect.x + inputWithRect.fRect.width);
|
|
31
|
+
const closestY = this._clamp(point.y, inputWithRect.fRect.y, inputWithRect.fRect.y + inputWithRect.fRect.height);
|
|
32
|
+
const dx = point.x - closestX;
|
|
33
|
+
const dy = point.y - closestY;
|
|
34
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
35
|
+
}
|
|
36
|
+
_clamp(value, min, max) {
|
|
37
|
+
return Math.max(min, Math.min(max, value));
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateClosestConnector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateClosestConnector });
|
|
41
|
+
};
|
|
42
|
+
CalculateClosestConnector = __decorate([
|
|
43
|
+
FExecutionRegister(CalculateClosestConnectorRequest)
|
|
44
|
+
], CalculateClosestConnector);
|
|
45
|
+
export { CalculateClosestConnector };
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateClosestConnector, decorators: [{
|
|
47
|
+
type: Injectable
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2NhbGN1bGF0ZS1jbG9zZXN0LWNvbm5lY3Rvci9jYWxjdWxhdGUtY2xvc2VzdC1jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBS2xFOzs7O0dBSUc7QUFHSSxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQUc3QixNQUFNLENBQUMsRUFDWixRQUFRLEVBQ1IsVUFBVSxHQUN1QjtRQUNqQyxJQUFJLE1BQXFDLENBQUM7UUFDMUMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBRTNCLEtBQUssTUFBTSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7WUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU5RCxJQUFJLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0IsV0FBVyxHQUFHLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxHQUFHLE9BQU8sQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTTtZQUNYLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7YUFDdEI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsYUFBZ0M7UUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDMUIsS0FBSyxDQUFDLENBQUMsRUFDUCxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDckIsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ2xELENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUMxQixLQUFLLENBQUMsQ0FBQyxFQUNQLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyQixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDbkQsQ0FBQztRQUVGLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQzlCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUNwRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQzt3R0EvQ1UseUJBQXlCOzRHQUF6Qix5QkFBeUI7O0FBQXpCLHlCQUF5QjtJQURyQyxrQkFBa0IsQ0FBQyxnQ0FBZ0MsQ0FBQztHQUN4Qyx5QkFBeUIsQ0FnRHJDOzs0RkFoRFkseUJBQXlCO2tCQUZyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jbG9zZXN0LWNvbm5lY3Rvci1yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2xvc2VzdENvbm5lY3RvciB9IGZyb20gJy4uL2ktY2xvc2VzdC1jb25uZWN0b3InO1xuaW1wb3J0IHsgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi9pbmRleCc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgZmluZHMgdGhlIGNsb3Nlc3QgY29ubmVjdG9yIHRvIGEgZ2l2ZW4gcG9pbnQuXG4gKiBJdCBjYWxjdWxhdGVzIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBwb2ludCB0byBlYWNoIGNvbm5lY3RvcidzIHJlY3RhbmdsZVxuICogYW5kIHJldHVybnMgdGhlIGNsb3Nlc3Qgb25lIGFsb25nIHdpdGggaXRzIGRpc3RhbmNlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LCBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD5cbntcbiAgcHVibGljIGhhbmRsZSh7XG4gICAgcG9zaXRpb24sXG4gICAgY29ubmVjdG9ycyxcbiAgfTogQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QpOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdDogSUNvbm5lY3RvckFuZFJlY3QgfCB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkRpc3RhbmNlID0gSW5maW5pdHk7XG5cbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgY29ubmVjdG9ycykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLl9kaXN0YW5jZVRvUmVjdGFuZ2xlKHBvc2l0aW9uLCBlbGVtZW50KTtcblxuICAgICAgaWYgKGRpc3RhbmNlIDwgbWluRGlzdGFuY2UpIHtcbiAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZTtcbiAgICAgICAgcmVzdWx0ID0gZWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gICAgICA/IHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgZGlzdGFuY2U6IG1pbkRpc3RhbmNlLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3RhbmNlVG9SZWN0YW5nbGUocG9pbnQ6IElQb2ludCwgaW5wdXRXaXRoUmVjdDogSUNvbm5lY3RvckFuZFJlY3QpOiBudW1iZXIge1xuICAgIGNvbnN0IGNsb3Nlc3RYID0gdGhpcy5fY2xhbXAoXG4gICAgICBwb2ludC54LFxuICAgICAgaW5wdXRXaXRoUmVjdC5mUmVjdC54LFxuICAgICAgaW5wdXRXaXRoUmVjdC5mUmVjdC54ICsgaW5wdXRXaXRoUmVjdC5mUmVjdC53aWR0aCxcbiAgICApO1xuICAgIGNvbnN0IGNsb3Nlc3RZID0gdGhpcy5fY2xhbXAoXG4gICAgICBwb2ludC55LFxuICAgICAgaW5wdXRXaXRoUmVjdC5mUmVjdC55LFxuICAgICAgaW5wdXRXaXRoUmVjdC5mUmVjdC55ICsgaW5wdXRXaXRoUmVjdC5mUmVjdC5oZWlnaHQsXG4gICAgKTtcblxuICAgIGNvbnN0IGR4ID0gcG9pbnQueCAtIGNsb3Nlc3RYO1xuICAgIGNvbnN0IGR5ID0gcG9pbnQueSAtIGNsb3Nlc3RZO1xuXG4gICAgcmV0dXJuIE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdmFsdWUpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './calculate-closest-connector-request';
|
|
2
|
+
export * from './calculate-closest-connector';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yLXJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jbG9zZXN0LWNvbm5lY3Rvcic7XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { inject, Injectable } from '@angular/core';
|
|
|
5
5
|
import { BrowserService } from '@foblex/platform';
|
|
6
6
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
7
7
|
import { FComponentsStore } from '../../../f-storage';
|
|
8
|
-
import {
|
|
8
|
+
import { CalculateClosestConnectorRequest } from '../calculate-closest-connector';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* Execution that finds a connectable connector at a given position with priority.
|
|
@@ -48,21 +48,24 @@ let FindConnectableConnectorUsingPriorityAndPositionExecution = class FindConnec
|
|
|
48
48
|
return result;
|
|
49
49
|
}
|
|
50
50
|
_filterConnectorsThatLocatedAtPosition(request) {
|
|
51
|
-
return request.connectableConnectors
|
|
51
|
+
return request.connectableConnectors
|
|
52
|
+
.filter((x) => {
|
|
52
53
|
return RectExtensions.isIncludePoint(x.fRect, this._getPointInFlow(request.pointerPosition));
|
|
53
|
-
})
|
|
54
|
+
})
|
|
55
|
+
.map((x) => x.fConnector);
|
|
54
56
|
}
|
|
55
57
|
_getPointInFlow(position) {
|
|
56
58
|
return Point.fromPoint(position)
|
|
57
59
|
.elementTransform(this._fHost)
|
|
58
|
-
.sub(this._transform.scaledPosition)
|
|
60
|
+
.sub(this._transform.scaledPosition)
|
|
61
|
+
.sub(this._transform.position)
|
|
59
62
|
.div(this._transform.scale);
|
|
60
63
|
}
|
|
61
64
|
_isSnapConnectionEnabledAndHasClosestConnector(request) {
|
|
62
65
|
if (!this._fSnapConnection) {
|
|
63
66
|
return undefined;
|
|
64
67
|
}
|
|
65
|
-
const closestConnector = this._mediator.execute(new
|
|
68
|
+
const closestConnector = this._mediator.execute(new CalculateClosestConnectorRequest(this._getPointInFlow(request.pointerPosition), request.connectableConnectors));
|
|
66
69
|
return this._isValidClosestInput(closestConnector) ? closestConnector : undefined;
|
|
67
70
|
}
|
|
68
71
|
_isValidClosestInput(closestConnector) {
|
|
@@ -95,4 +98,4 @@ export { FindConnectableConnectorUsingPriorityAndPositionExecution };
|
|
|
95
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FindConnectableConnectorUsingPriorityAndPositionExecution, decorators: [{
|
|
96
99
|
type: Injectable
|
|
97
100
|
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jb25uZWN0YWJsZS1jb25uZWN0b3ItdXNpbmctcHJpb3JpdHktYW5kLXBvc2l0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdG9ycy9maW5kLWNvbm5lY3RhYmxlLWNvbm5lY3Rvci11c2luZy1wcmlvcml0eS1hbmQtcG9zaXRpb24vZmluZC1jb25uZWN0YWJsZS1jb25uZWN0b3ItdXNpbmctcHJpb3JpdHktYW5kLXBvc2l0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUEyQixLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1REFBdUQsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBSXhFOzs7O0dBSUc7QUFHSSxJQUFNLHlEQUF5RCxHQUEvRCxNQUFNLHlEQUF5RDtJQUduRCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5ELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FB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QyxPQUFPLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFBO0lBQ3hGLENBQUM7d0dBakdVLHlEQUF5RDs0R0FBekQseURBQXlEOztBQUF6RCx5REFBeUQ7SUFEckUsa0JBQWtCLENBQUMsdURBQXVELENBQUM7R0FDL0QseURBQXlELENBa0dyRTs7NEZBbEdZLHlEQUF5RDtrQkFGckUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvblJlcXVlc3QgfSBmcm9tICcuL2ZpbmQtY29ubmVjdGFibGUtY29ubmVjdG9yLXVzaW5nLXByaW9yaXR5LWFuZC1wb3NpdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJQ2xvc2VzdENvbm5lY3RvciB9IGZyb20gJy4uL2ktY2xvc2VzdC1jb25uZWN0b3InO1xuaW1wb3J0IHsgRmluZENsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0IH0gZnJvbSAnLi4vZmluZC1jbG9zZXN0LWNvbm5lY3Rvcic7XG5pbXBvcnQgeyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi9pLWNvbm5lY3Rvci1hbmQtcmVjdCc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgZmluZHMgYSBjb25uZWN0YWJsZSBjb25uZWN0b3IgYXQgYSBnaXZlbiBwb3NpdGlvbiB3aXRoIHByaW9yaXR5LlxuICogSXQgY2hlY2tzIGZvciBjb25uZWN0b3JzIGF0IHRoZSBwb3NpdGlvbiwgdGhlIGNsb3Nlc3QgY29ubmVjdG9yIGlmIHNuYXAgY29ubmVjdGlvbiBpcyBlbmFibGVkLFxuICogYW5kIHRoZSBmaXJzdCBjb25uZWN0YWJsZSBjb25uZWN0b3Igb2YgdGhlIG5vZGUgYXQgdGhhdCBwb3NpdGlvbi5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248RmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uUmVxdWVzdCwgRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZTbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0KTogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbm5lY3RvcnMgPSB0aGlzLl9maW5kQ29ubmVjdG9yQXRQb3NpdGlvbihwYXlsb2FkKTtcblxuICAgIHJldHVybiBjb25uZWN0b3JzLmxlbmd0aCA+IDAgPyBjb25uZWN0b3JzWyAwIF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29ubmVjdG9yQXRQb3NpdGlvbihyZXF1ZXN0OiBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0KTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgICByZXN1bHQucHVzaCguLi50aGlzLl9maWx0ZXJDb25uZWN0b3JzVGhhdExvY2F0ZWRBdFBvc2l0aW9uKHJlcXVlc3QpKTtcblxuICAgIC8vIENsb3Nlc3QgY29ubmVjdG9yIGlzIG9ubHkgYWRkZWQgaWYgc25hcCBjb25uZWN0aW9uIGlzIGVuYWJsZWQgYW5kIHRoZXJlIGlzIGEgY2xvc2VzdCBjb25uZWN0b3IgZm91bmRcbiAgICAvLyBDbG9zZXN0IGNvbm5lY3RvciBoYXMgbW9yZSBwcmlvcml0eSB0aGFuIHRoZSBmaXJzdCBjb25uZWN0YWJsZSBpbnB1dCBvZiB0aGUgbm9kZSBhdCBwb3NpdGlvblxuICAgIGNvbnN0IGNsb3Nlc3RDb25uZWN0b3IgPSB0aGlzLl9pc1NuYXBDb25uZWN0aW9uRW5hYmxlZEFuZEhhc0Nsb3Nlc3RDb25uZWN0b3IocmVxdWVzdCk7XG4gICAgaWYgKGNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIHJlc3VsdC51bnNoaWZ0KGNsb3Nlc3RDb25uZWN0b3IuZkNvbm5lY3Rvcik7XG4gICAgfVxuXG4gICAgY29uc3QgZklucHV0ID0gdGhpcy5fZ2V0Rmlyc3RDb25uZWN0YWJsZUNvbm5lY3Rvck9mTm9kZUF0UG9zaXRpb24ocmVxdWVzdCk7XG4gICAgaWYgKGZJbnB1dCkge1xuICAgICAgcmVzdWx0LnB1c2goZklucHV0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyQ29ubmVjdG9yc1RoYXRMb2NhdGVkQXRQb3NpdGlvbihyZXF1ZXN0OiBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0KTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY29ubmVjdGFibGVDb25uZWN0b3JzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmlzSW5jbHVkZVBvaW50KHguZlJlY3QsIHRoaXMuX2dldFBvaW50SW5GbG93KHJlcXVlc3QucG9pbnRlclBvc2l0aW9uKSk7XG4gICAgfSkubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UG9pbnRJbkZsb3cocG9zaXRpb246IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChwb3NpdGlvbilcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KVxuICAgICAgLnN1Yih0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pLnN1Yih0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24pXG4gICAgICAuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1NuYXBDb25uZWN0aW9uRW5hYmxlZEFuZEhhc0Nsb3Nlc3RDb25uZWN0b3IocmVxdWVzdDogRmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uUmVxdWVzdCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuX2ZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBjbG9zZXN0Q29ubmVjdG9yID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgRmluZENsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KHRoaXMuX2dldFBvaW50SW5GbG93KHJlcXVlc3QucG9pbnRlclBvc2l0aW9uKSwgcmVxdWVzdC5jb25uZWN0YWJsZUNvbm5lY3RvcnMpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5faXNWYWxpZENsb3Nlc3RJbnB1dChjbG9zZXN0Q29ubmVjdG9yKSA/IGNsb3Nlc3RDb25uZWN0b3IgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkQ2xvc2VzdElucHV0KGNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhY2xvc2VzdENvbm5lY3RvciAmJiBjbG9zZXN0Q29ubmVjdG9yLmRpc3RhbmNlIDwgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZDtcbiAgfVxuXG4gIC8vaWYgbm9kZSBwbGFjZWQgaW4gcG9zaXRpb24gYW5kIGZDb25uZWN0T25Ob2RlIGlzIHRydWUsIHJldHVybiB0aGUgZmlyc3QgY29ubmVjdGFibGUgY29ubmVjdG9yIG9mIHRoZSBub2RlXG4gIHByaXZhdGUgX2dldEZpcnN0Q29ubmVjdGFibGVDb25uZWN0b3JPZk5vZGVBdFBvc2l0aW9uKHJlcXVlc3Q6IEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvblJlcXVlc3QpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEVsZW1lbnRzRnJvbVBvaW50KHJlcXVlc3QucG9pbnRlclBvc2l0aW9uKVxuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZENvbm5lY3RhYmxlTm9kZSh4KSlcbiAgICAgIC5maWx0ZXIoKHgpID0+ICEheClcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmRGaXJzdENvbm5lY3RhYmxlQ29ubmVjdG9yT2ZOb2RlKHJlcXVlc3QuY29ubmVjdGFibGVDb25uZWN0b3JzLCB4KSlcbiAgICAgIC5maW5kKCh4KSA9PiAhIXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb246IElQb2ludCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9icm93c2VyLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29ubmVjdGFibGVOb2RlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZk5vZGVzLmZpbmQoKHgpID0+IHguaXNDb250YWlucyhlbGVtZW50KSAmJiB4LmZDb25uZWN0T25Ob2RlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZEZpcnN0Q29ubmVjdGFibGVDb25uZWN0b3JPZk5vZGUoY29ubmVjdGFibGVJbnB1dHM6IElDb25uZWN0b3JBbmRSZWN0W10sIGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbm5lY3RhYmxlSW5wdXRzLmZpbmQoKHgpID0+IHguZkNvbm5lY3Rvci5mTm9kZUlkID09PSBmTm9kZS5mSWQoKSk/LmZDb25uZWN0b3JcbiAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jb25uZWN0YWJsZS1jb25uZWN0b3ItdXNpbmctcHJpb3JpdHktYW5kLXBvc2l0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdG9ycy9maW5kLWNvbm5lY3RhYmxlLWNvbm5lY3Rvci11c2luZy1wcmlvcml0eS1hbmQtcG9zaXRpb24vZmluZC1jb25uZWN0YWJsZS1jb25uZWN0b3ItdXNpbmctcHJpb3JpdHktYW5kLXBvc2l0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUEyQixLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1REFBdUQsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBSWxGOzs7O0dBSUc7QUFHSSxJQUFNLHlEQUF5RCxHQUEvRCxNQUFNLHlEQUF5RDtJQUluRCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5ELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FB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QyxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN6RixDQUFDO3dHQXhIVSx5REFBeUQ7NEdBQXpELHlEQUF5RDs7QUFBekQseURBQXlEO0lBRHJFLGtCQUFrQixDQUFDLHVEQUF1RCxDQUFDO0dBQy9ELHlEQUF5RCxDQXlIckU7OzRGQXpIWSx5REFBeUQ7a0JBRnJFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9maW5kLWNvbm5lY3RhYmxlLWNvbm5lY3Rvci11c2luZy1wcmlvcml0eS1hbmQtcG9zaXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUNsb3Nlc3RDb25uZWN0b3IgfSBmcm9tICcuLi9pLWNsb3Nlc3QtY29ubmVjdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0IH0gZnJvbSAnLi4vY2FsY3VsYXRlLWNsb3Nlc3QtY29ubmVjdG9yJztcbmltcG9ydCB7IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdG9yQW5kUmVjdCB9IGZyb20gJy4uL2ktY29ubmVjdG9yLWFuZC1yZWN0JztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBmaW5kcyBhIGNvbm5lY3RhYmxlIGNvbm5lY3RvciBhdCBhIGdpdmVuIHBvc2l0aW9uIHdpdGggcHJpb3JpdHkuXG4gKiBJdCBjaGVja3MgZm9yIGNvbm5lY3RvcnMgYXQgdGhlIHBvc2l0aW9uLCB0aGUgY2xvc2VzdCBjb25uZWN0b3IgaWYgc25hcCBjb25uZWN0aW9uIGlzIGVuYWJsZWQsXG4gKiBhbmQgdGhlIGZpcnN0IGNvbm5lY3RhYmxlIGNvbm5lY3RvciBvZiB0aGUgbm9kZSBhdCB0aGF0IHBvc2l0aW9uLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgRmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uRXhlY3V0aW9uXG4gIGltcGxlbWVudHNcbiAgICBJRXhlY3V0aW9uPEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvblJlcXVlc3QsIEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkPlxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZTbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShcbiAgICBwYXlsb2FkOiBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0LFxuICApOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29ubmVjdG9ycyA9IHRoaXMuX2ZpbmRDb25uZWN0b3JBdFBvc2l0aW9uKHBheWxvYWQpO1xuXG4gICAgcmV0dXJuIGNvbm5lY3RvcnMubGVuZ3RoID4gMCA/IGNvbm5lY3RvcnNbMF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29ubmVjdG9yQXRQb3NpdGlvbihcbiAgICByZXF1ZXN0OiBGaW5kQ29ubmVjdGFibGVDb25uZWN0b3JVc2luZ1ByaW9yaXR5QW5kUG9zaXRpb25SZXF1ZXN0LFxuICApOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQ6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuX2ZpbHRlckNvbm5lY3RvcnNUaGF0TG9jYXRlZEF0UG9zaXRpb24ocmVxdWVzdCkpO1xuXG4gICAgLy8gQ2xvc2VzdCBjb25uZWN0b3IgaXMgb25seSBhZGRlZCBpZiBzbmFwIGNvbm5lY3Rpb24gaXMgZW5hYmxlZCBhbmQgdGhlcmUgaXMgYSBjbG9zZXN0IGNvbm5lY3RvciBmb3VuZFxuICAgIC8vIENsb3Nlc3QgY29ubmVjdG9yIGhhcyBtb3JlIHByaW9yaXR5IHRoYW4gdGhlIGZpcnN0IGNvbm5lY3RhYmxlIGlucHV0IG9mIHRoZSBub2RlIGF0IHBvc2l0aW9uXG4gICAgY29uc3QgY2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2lzU25hcENvbm5lY3Rpb25FbmFibGVkQW5kSGFzQ2xvc2VzdENvbm5lY3RvcihyZXF1ZXN0KTtcbiAgICBpZiAoY2xvc2VzdENvbm5lY3Rvcikge1xuICAgICAgcmVzdWx0LnVuc2hpZnQoY2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBmSW5wdXQgPSB0aGlzLl9nZXRGaXJzdENvbm5lY3RhYmxlQ29ubmVjdG9yT2ZOb2RlQXRQb3NpdGlvbihyZXF1ZXN0KTtcbiAgICBpZiAoZklucHV0KSB7XG4gICAgICByZXN1bHQucHVzaChmSW5wdXQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJDb25uZWN0b3JzVGhhdExvY2F0ZWRBdFBvc2l0aW9uKFxuICAgIHJlcXVlc3Q6IEZpbmRDb25uZWN0YWJsZUNvbm5lY3RvclVzaW5nUHJpb3JpdHlBbmRQb3NpdGlvblJlcXVlc3QsXG4gICk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiByZXF1ZXN0LmNvbm5lY3RhYmxlQ29ubmVjdG9yc1xuICAgICAgLmZpbHRlcigoeCkgPT4ge1xuICAgICAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaXNJbmNsdWRlUG9pbnQoXG4gICAgICAgICAgeC5mUmVjdCxcbiAgICAgICAgICB0aGlzLl9nZXRQb2ludEluRmxvdyhyZXF1ZXN0LnBvaW50ZXJQb3NpdGlvbiksXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICAgLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBvaW50SW5GbG93KHBvc2l0aW9uOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pXG4gICAgICAuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdClcbiAgICAgIC5zdWIodGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKVxuICAgICAgLnN1Yih0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24pXG4gICAgICAuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1NuYXBDb25uZWN0aW9uRW5hYmxlZEFuZEhhc0Nsb3Nlc3RDb25uZWN0b3IoXG4gICAgcmVxdWVzdDogRmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uUmVxdWVzdCxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5fZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb3Nlc3RDb25uZWN0b3IgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fZ2V0UG9pbnRJbkZsb3cocmVxdWVzdC5wb2ludGVyUG9zaXRpb24pLFxuICAgICAgICByZXF1ZXN0LmNvbm5lY3RhYmxlQ29ubmVjdG9ycyxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkQ2xvc2VzdElucHV0KGNsb3Nlc3RDb25uZWN0b3IpID8gY2xvc2VzdENvbm5lY3RvciA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRDbG9zZXN0SW5wdXQoY2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjbG9zZXN0Q29ubmVjdG9yICYmIGNsb3Nlc3RDb25uZWN0b3IuZGlzdGFuY2UgPCB0aGlzLl9mU25hcENvbm5lY3Rpb24hLmZTbmFwVGhyZXNob2xkO1xuICB9XG5cbiAgLy9pZiBub2RlIHBsYWNlZCBpbiBwb3NpdGlvbiBhbmQgZkNvbm5lY3RPbk5vZGUgaXMgdHJ1ZSwgcmV0dXJuIHRoZSBmaXJzdCBjb25uZWN0YWJsZSBjb25uZWN0b3Igb2YgdGhlIG5vZGVcbiAgcHJpdmF0ZSBfZ2V0Rmlyc3RDb25uZWN0YWJsZUNvbm5lY3Rvck9mTm9kZUF0UG9zaXRpb24oXG4gICAgcmVxdWVzdDogRmluZENvbm5lY3RhYmxlQ29ubmVjdG9yVXNpbmdQcmlvcml0eUFuZFBvc2l0aW9uUmVxdWVzdCxcbiAgKTogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9nZXRFbGVtZW50c0Zyb21Qb2ludChyZXF1ZXN0LnBvaW50ZXJQb3NpdGlvbilcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmRDb25uZWN0YWJsZU5vZGUoeCkpXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhIXgpXG4gICAgICAubWFwKCh4KSA9PiB0aGlzLl9maW5kRmlyc3RDb25uZWN0YWJsZUNvbm5lY3Rvck9mTm9kZShyZXF1ZXN0LmNvbm5lY3RhYmxlQ29ubmVjdG9ycywgeCkpXG4gICAgICAuZmluZCgoeCkgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uOiBJUG9pbnQpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fYnJvd3Nlci5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChwb3NpdGlvbi54LCBwb3NpdGlvbi55KSBhcyBIVE1MRWxlbWVudFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZENvbm5lY3RhYmxlTm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZOb2Rlcy5maW5kKCh4KSA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgeC5mQ29ubmVjdE9uTm9kZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRGaXJzdENvbm5lY3RhYmxlQ29ubmVjdG9yT2ZOb2RlKFxuICAgIGNvbm5lY3RhYmxlSW5wdXRzOiBJQ29ubmVjdG9yQW5kUmVjdFtdLFxuICAgIGZOb2RlOiBGTm9kZUJhc2UsXG4gICk6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29ubmVjdGFibGVJbnB1dHMuZmluZCgoeCkgPT4geC5mQ29ubmVjdG9yLmZOb2RlSWQgPT09IGZOb2RlLmZJZCgpKT8uZkNvbm5lY3RvcjtcbiAgfVxufVxuIl19
|