@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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute, } from
|
|
2
|
-
import { EFConnectionBehavior, EFConnectionType
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute, } from '@angular/core';
|
|
2
|
+
import { EFConnectionBehavior, EFConnectionType } from '../common';
|
|
3
3
|
import { NotifyDataChangedRequest } from '../../f-storage';
|
|
4
4
|
import { F_CONNECTION } from '../common/f-connection.injection-token';
|
|
5
5
|
//TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
|
|
@@ -9,21 +9,27 @@ import { FConnectionBase } from '../common/f-connection-base';
|
|
|
9
9
|
import { castToEnum } from '@foblex/utils';
|
|
10
10
|
import { FMediator } from '@foblex/mediator';
|
|
11
11
|
import { AddConnectionToStoreRequest, RemoveConnectionFromStoreRequest } from '../../domain';
|
|
12
|
+
import { stringAttribute } from '../../utils';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../f-connection-
|
|
14
|
-
import * as i2 from "../common/f-
|
|
15
|
-
import * as i3 from "../common/f-drag-handle/f-connection-drag-handle-
|
|
16
|
-
import * as i4 from "../common/f-
|
|
17
|
-
import * as i5 from "../common/f-
|
|
18
|
-
import * as i6 from "../common/f-
|
|
19
|
-
import * as i7 from "../common/f-selection/f-connection-selection.component";
|
|
14
|
+
import * as i1 from "../common/f-connection-text/f-connection-text.component";
|
|
15
|
+
import * as i2 from "../common/f-drag-handle/f-connection-drag-handle-start.component";
|
|
16
|
+
import * as i3 from "../common/f-drag-handle/f-connection-drag-handle-end.component";
|
|
17
|
+
import * as i4 from "../common/f-gradient/f-connection-gradient.component";
|
|
18
|
+
import * as i5 from "../common/f-path/f-connection-path.component";
|
|
19
|
+
import * as i6 from "../common/f-selection/f-connection-selection.component";
|
|
20
20
|
let uniqueId = 0;
|
|
21
21
|
export class FConnectionComponent extends FConnectionBase {
|
|
22
22
|
fId = input(`f-connection-${uniqueId++}`, { alias: 'fConnectionId' });
|
|
23
|
+
/** @deprecated [fText] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead. */
|
|
23
24
|
fText = '';
|
|
25
|
+
/** @deprecated [fTextStartOffset] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead. */
|
|
24
26
|
fTextStartOffset = '';
|
|
25
|
-
fOutputId = ''
|
|
26
|
-
|
|
27
|
+
fOutputId = input('', {
|
|
28
|
+
transform: (value) => stringAttribute(value) || '',
|
|
29
|
+
});
|
|
30
|
+
fInputId = input('', {
|
|
31
|
+
transform: (value) => stringAttribute(value) || '',
|
|
32
|
+
});
|
|
27
33
|
fRadius = 8;
|
|
28
34
|
fOffset = 12;
|
|
29
35
|
fBehavior = EFConnectionBehavior.FIXED;
|
|
@@ -38,9 +44,6 @@ export class FConnectionComponent extends FConnectionBase {
|
|
|
38
44
|
return this.fPath().hostElement;
|
|
39
45
|
}
|
|
40
46
|
_mediator = inject(FMediator);
|
|
41
|
-
constructor(elementReference, fConnectionFactory) {
|
|
42
|
-
super(elementReference, fConnectionFactory);
|
|
43
|
-
}
|
|
44
47
|
ngOnInit() {
|
|
45
48
|
this._mediator.execute(new AddConnectionToStoreRequest(this));
|
|
46
49
|
}
|
|
@@ -50,25 +53,21 @@ export class FConnectionComponent extends FConnectionBase {
|
|
|
50
53
|
ngOnDestroy() {
|
|
51
54
|
this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
|
|
52
55
|
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps:
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal:
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"overflow: visible; display: block; vertical-align: middle;\"\n>\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
58
|
}
|
|
56
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
|
|
57
60
|
type: Component,
|
|
58
|
-
args: [{ selector:
|
|
61
|
+
args: [{ selector: 'f-connection', exportAs: 'fComponent', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
59
62
|
'[attr.id]': 'fId()',
|
|
60
|
-
class:
|
|
63
|
+
class: 'f-component f-connection',
|
|
61
64
|
'[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
|
|
62
65
|
'[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
|
|
63
|
-
}, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg
|
|
64
|
-
}],
|
|
66
|
+
}, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"overflow: visible; display: block; vertical-align: middle;\"\n>\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
|
|
67
|
+
}], propDecorators: { fText: [{
|
|
65
68
|
type: Input
|
|
66
69
|
}], fTextStartOffset: [{
|
|
67
70
|
type: Input
|
|
68
|
-
}], fOutputId: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], fInputId: [{
|
|
71
|
-
type: Input
|
|
72
71
|
}], fRadius: [{
|
|
73
72
|
type: Input,
|
|
74
73
|
args: [{ transform: numberAttribute }]
|
|
@@ -81,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
81
80
|
}], fType: [{
|
|
82
81
|
type: Input
|
|
83
82
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFFOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZ0JqQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQUN2QyxHQUFHLEdBQUcsS0FBSyxDQUFTLGdCQUFnQixRQUFR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RUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFJOUUsS0FBSztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbi8vVE9ETzogTmVlZCB0byBkZWFsIHdpdGggY3ljbGljIGRlcGVuZGVuY2llcywgc2luY2UgaW4gc29tZSBjYXNlcyBhbiBlcnJvciBvY2N1cnMgd2hlbiBpbXBvcnRpbmcgdGhlbSAuLi9jb21tb25cbi8vIFR5cGVFcnJvcjogQ2xhc3MgZXh0ZW5kcyB2YWx1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFxuLy8gYXQgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzOjM0OjExXG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QsIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IHN0cmluZ0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jb25uZWN0aW9uJyxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1jb25uZWN0aW9uJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1yZWFzc2lnbi1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmc+KGBmLWNvbm5lY3Rpb24tJHt1bmlxdWVJZCsrfWAsIHsgYWxpYXM6ICdmQ29ubmVjdGlvbklkJyB9KTtcblxuICAvKiogQGRlcHJlY2F0ZWQgW2ZUZXh0XSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjE4LjAuMC4gVXNlIEZDb25uZWN0aW9uQ29udGVudCBkaXJlY3RpdmUgaW5zdGVhZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKiogQGRlcHJlY2F0ZWQgW2ZUZXh0U3RhcnRPZmZzZXRdIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTguMC4wLiBVc2UgRkNvbm5lY3Rpb25Db250ZW50IGRpcmVjdGl2ZSBpbnN0ZWFkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHRTdGFydE9mZnNldDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZPdXRwdXRJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oJycsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCAnJyxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJbnB1dElkID0gaW5wdXQ8c3RyaW5nLCB1bmtub3duPignJywge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiBzdHJpbmdBdHRyaWJ1dGUodmFsdWUpIHx8ICcnLFxuICB9KTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJhZGl1czogbnVtYmVyID0gODtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZk9mZnNldDogbnVtYmVyID0gMTI7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IGNhc3RUb0VudW0odmFsdWUsICdmQmVoYXZpb3InLCBFRkNvbm5lY3Rpb25CZWhhdmlvcikgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmcgPSBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbmFibGVTdGFydCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQgPSBpbnB1dChmYWxzZSwge1xuICAgIGFsaWFzOiAnZlJlYXNzaWduRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aCgpLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ29ubmVjdGlvbkZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iLCI8c3ZnXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlOyBkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIlxuPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIEBpZiAoZlJlYXNzaWduYWJsZVN0YXJ0KCkpIHtcbiAgICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtc3RhcnQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICAgIH1cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLWVuZCByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgICA8dGV4dCBmLWNvbm5lY3Rpb24tdGV4dD48L3RleHQ+XG4gIDwvZz5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59XG5cbkBpZiAoZkNvbm5lY3Rpb25Db250ZW50cygpLmxlbmd0aCkge1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25Db250ZW50XVwiPjwvbmctY29udGVudD5cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLWNvbm5lY3Rpb24tYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1idWlsZGVyL2ktZi1jb25uZWN0aW9uLWJ1aWxkZXItcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gIHBhdGg6IHN0cmluZztcblxuICBjb25uZWN0aW9uQ2VudGVyOiBJUG9pbnQ7XG5cbiAgcGVudWx0aW1hdGVQb2ludDogSVBvaW50O1xuXG4gIHNlY29uZFBvaW50OiBJUG9pbnQ7XG5cbiAgcG9pbnRzPzogSVBvaW50W107XG59XG4iXX0=
|
|
@@ -1,13 +1,30 @@
|
|
|
1
|
-
import { Directive, } from
|
|
1
|
+
import { booleanAttribute, Directive, input, isDevMode } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
let warnedFConnectionCenter = false;
|
|
4
|
+
/** @deprecated '[fConnectionCenter] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead.' */
|
|
3
5
|
export class FConnectionCenterDirective {
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated '[fConnectionCenter] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead.'
|
|
8
|
+
*/
|
|
9
|
+
fConnectionCenter = input(true, {
|
|
10
|
+
alias: 'fConnectionCenter',
|
|
11
|
+
transform: (v) => {
|
|
12
|
+
// Превращаем presence-атрибут в boolean
|
|
13
|
+
const val = booleanAttribute(v);
|
|
14
|
+
if (!warnedFConnectionCenter && isDevMode()) {
|
|
15
|
+
warnedFConnectionCenter = true;
|
|
16
|
+
console.warn('[fConnectionCenter] is deprecated and will be removed in v18.0.0. Use [FConnectionContent] instead.');
|
|
17
|
+
}
|
|
18
|
+
return val;
|
|
19
|
+
},
|
|
20
|
+
});
|
|
4
21
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionCenterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
22
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionCenterDirective, selector: "[fConnectionCenter]", inputs: { fConnectionCenter: { classPropertyName: "fConnectionCenter", publicName: "fConnectionCenter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
6
23
|
}
|
|
7
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionCenterDirective, decorators: [{
|
|
8
25
|
type: Directive,
|
|
9
26
|
args: [{
|
|
10
|
-
selector:
|
|
27
|
+
selector: '[fConnectionCenter]',
|
|
11
28
|
}]
|
|
12
29
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNlbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY2VudGVyL2YtY29ubmVjdGlvbi1jZW50ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUUsSUFBSSx1QkFBdUIsR0FBRyxLQUFLLENBQUM7QUFDcEMsZ0lBQWdJO0FBSWhJLE1BQU0sT0FBTywwQkFBMEI7SUFDckM7O09BRUc7SUFDTSxpQkFBaUIsR0FBRyxLQUFLLENBQW1CLElBQUksRUFBRTtRQUN6RCxLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLFNBQVMsRUFBRSxDQUFDLENBQVUsRUFBRSxFQUFFO1lBQ3hCLHdDQUF3QztZQUN4QyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsdUJBQXVCLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDNUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixPQUFPLENBQUMsSUFBSSxDQUNWLHFHQUFxRyxDQUN0RyxDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztLQUNGLENBQUMsQ0FBQzt3R0FsQlEsMEJBQTBCOzRGQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGlucHV0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IHdhcm5lZEZDb25uZWN0aW9uQ2VudGVyID0gZmFsc2U7XG4vKiogQGRlcHJlY2F0ZWQgJ1tmQ29ubmVjdGlvbkNlbnRlcl0gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYxOC4wLjAuIFVzZSBGQ29ubmVjdGlvbkNvbnRlbnQgZGlyZWN0aXZlIGluc3RlYWQuJyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZDb25uZWN0aW9uQ2VudGVyXScsXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkICdbZkNvbm5lY3Rpb25DZW50ZXJdIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTguMC4wLiBVc2UgRkNvbm5lY3Rpb25Db250ZW50IGRpcmVjdGl2ZSBpbnN0ZWFkLidcbiAgICovXG4gIHJlYWRvbmx5IGZDb25uZWN0aW9uQ2VudGVyID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4odHJ1ZSwge1xuICAgIGFsaWFzOiAnZkNvbm5lY3Rpb25DZW50ZXInLFxuICAgIHRyYW5zZm9ybTogKHY6IHVua25vd24pID0+IHtcbiAgICAgIC8vINCf0YDQtdCy0YDQsNGJ0LDQtdC8IHByZXNlbmNlLdCw0YLRgNC40LHRg9GCINCyIGJvb2xlYW5cbiAgICAgIGNvbnN0IHZhbCA9IGJvb2xlYW5BdHRyaWJ1dGUodik7XG4gICAgICBpZiAoIXdhcm5lZEZDb25uZWN0aW9uQ2VudGVyICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHdhcm5lZEZDb25uZWN0aW9uQ2VudGVyID0gdHJ1ZTtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdbZkNvbm5lY3Rpb25DZW50ZXJdIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTguMC4wLiBVc2UgW0ZDb25uZWN0aW9uQ29udGVudF0gaW5zdGVhZC4nLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsO1xuICAgIH0sXG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Directive, effect, ElementRef, inject, Injector, input, untracked } from '@angular/core';
|
|
2
|
+
import { NotifyDataChangedRequest } from '../../f-storage';
|
|
3
|
+
import { FMediator } from '@foblex/mediator';
|
|
4
|
+
import { castToEnum } from '@foblex/utils';
|
|
5
|
+
import { PolylineContentAlign } from './polyline-content-engine';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Directive for placing custom user content (text, icons, buttons, etc.)
|
|
9
|
+
* along a connection line.
|
|
10
|
+
*
|
|
11
|
+
* It allows you to specify the position along the connection,
|
|
12
|
+
* shift the content sideways (perpendicular to the path),
|
|
13
|
+
* apply a margin near the edges, and control orientation.
|
|
14
|
+
*
|
|
15
|
+
* ### Usage examples
|
|
16
|
+
*
|
|
17
|
+
* ```html
|
|
18
|
+
* <!-- Text centered on the connection -->
|
|
19
|
+
* <div fConnectionContent [position]="0.5">
|
|
20
|
+
* Hello
|
|
21
|
+
* </div>
|
|
22
|
+
*
|
|
23
|
+
* <!-- Button near the start of the connection, shifted upward by 12px -->
|
|
24
|
+
* <button fConnectionContent [position]="0.2" [offset]="-12">
|
|
25
|
+
* +
|
|
26
|
+
* </button>
|
|
27
|
+
*
|
|
28
|
+
* <!-- Icon at the end of the connection, with 6px margin and rotated along the path -->
|
|
29
|
+
* <span fConnectionContent [position]="1" [margin]="6" align="along">
|
|
30
|
+
* ⮕
|
|
31
|
+
* </span>
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export class FConnectionContent {
|
|
35
|
+
_mediator = inject(FMediator);
|
|
36
|
+
_injector = inject(Injector);
|
|
37
|
+
/**
|
|
38
|
+
* The host DOM element to which the directive is applied.
|
|
39
|
+
* Used internally for positioning calculations.
|
|
40
|
+
*/
|
|
41
|
+
hostElement = inject((ElementRef)).nativeElement;
|
|
42
|
+
/**
|
|
43
|
+
* Position along the connection.
|
|
44
|
+
*
|
|
45
|
+
* A normalized value in the range `0..1`:
|
|
46
|
+
* - `0` — at the start of the connection,
|
|
47
|
+
* - `1` — at the end of the connection,
|
|
48
|
+
* - `0.5` — at the middle of the connection (default).
|
|
49
|
+
*/
|
|
50
|
+
position = input(0.5, {
|
|
51
|
+
transform: (v) => (v < 0 ? 0 : v > 1 ? 1 : v),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Perpendicular offset from the connection line (in pixels).
|
|
55
|
+
*
|
|
56
|
+
* - Positive values shift the element to the right
|
|
57
|
+
* relative to the line direction.
|
|
58
|
+
* - Negative values shift it to the left.
|
|
59
|
+
* - Default: `0` (no shift).
|
|
60
|
+
*/
|
|
61
|
+
offset = input(0);
|
|
62
|
+
/**
|
|
63
|
+
* Controls the orientation (rotation) of the content relative to the connection.
|
|
64
|
+
*
|
|
65
|
+
* Possible values:
|
|
66
|
+
* - `'none'` — no rotation (default).
|
|
67
|
+
* - `'along'` — aligned along the path (tangent).
|
|
68
|
+
*/
|
|
69
|
+
align = input(PolylineContentAlign.NONE, {
|
|
70
|
+
transform: (x) => castToEnum(x, 'align', PolylineContentAlign),
|
|
71
|
+
});
|
|
72
|
+
ngOnInit() {
|
|
73
|
+
this._listenChanges();
|
|
74
|
+
}
|
|
75
|
+
_listenChanges() {
|
|
76
|
+
effect(() => {
|
|
77
|
+
this.offset();
|
|
78
|
+
this.position();
|
|
79
|
+
this.align();
|
|
80
|
+
untracked(() => this._mediator.execute(new NotifyDataChangedRequest()));
|
|
81
|
+
}, { injector: this._injector });
|
|
82
|
+
}
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
84
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionContent, isStandalone: true, selector: "[fConnectionContent]", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-connection-content" }, ngImport: i0 });
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionContent, decorators: [{
|
|
87
|
+
type: Directive,
|
|
88
|
+
args: [{
|
|
89
|
+
selector: '[fConnectionContent]',
|
|
90
|
+
standalone: true,
|
|
91
|
+
host: {
|
|
92
|
+
'class': 'f-connection-content',
|
|
93
|
+
},
|
|
94
|
+
}]
|
|
95
|
+
}] });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY29udGVudC9mLWNvbm5lY3Rpb24tY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBb0Isb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBUUgsTUFBTSxPQUFPLGtCQUFrQjtJQUNaLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5Qzs7O09BR0c7SUFDYSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRTVFOzs7Ozs7O09BT0c7SUFDYSxRQUFRLEdBQUcsS0FBSyxDQUFpQixHQUFHLEVBQUU7UUFDcEQsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDOUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNhLE1BQU0sR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFFMUM7Ozs7OztPQU1HO0lBQ2EsS0FBSyxHQUFHLEtBQUssQ0FBZ0Msb0JBQW9CLENBQUMsSUFBSSxFQUFFO1FBQ3RGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUF1QixDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixDQUFDO0tBQ3JGLENBQUMsQ0FBQztJQUVJLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxDQUNKLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUM3QixDQUFDO0lBQ0osQ0FBQzt3R0F6RFUsa0JBQWtCOzRGQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBUDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsc0JBQXNCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBpbnB1dCwgT25Jbml0LCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IElQb2x5bGluZUNvbnRlbnQsIFBvbHlsaW5lQ29udGVudEFsaWduIH0gZnJvbSAnLi9wb2x5bGluZS1jb250ZW50LWVuZ2luZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBwbGFjaW5nIGN1c3RvbSB1c2VyIGNvbnRlbnQgKHRleHQsIGljb25zLCBidXR0b25zLCBldGMuKVxuICogYWxvbmcgYSBjb25uZWN0aW9uIGxpbmUuXG4gKlxuICogSXQgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSBwb3NpdGlvbiBhbG9uZyB0aGUgY29ubmVjdGlvbixcbiAqIHNoaWZ0IHRoZSBjb250ZW50IHNpZGV3YXlzIChwZXJwZW5kaWN1bGFyIHRvIHRoZSBwYXRoKSxcbiAqIGFwcGx5IGEgbWFyZ2luIG5lYXIgdGhlIGVkZ2VzLCBhbmQgY29udHJvbCBvcmllbnRhdGlvbi5cbiAqXG4gKiAjIyMgVXNhZ2UgZXhhbXBsZXNcbiAqXG4gKiBgYGBodG1sXG4gKiA8IS0tIFRleHQgY2VudGVyZWQgb24gdGhlIGNvbm5lY3Rpb24gLS0+XG4gKiA8ZGl2IGZDb25uZWN0aW9uQ29udGVudCBbcG9zaXRpb25dPVwiMC41XCI+XG4gKiAgIEhlbGxvXG4gKiA8L2Rpdj5cbiAqXG4gKiA8IS0tIEJ1dHRvbiBuZWFyIHRoZSBzdGFydCBvZiB0aGUgY29ubmVjdGlvbiwgc2hpZnRlZCB1cHdhcmQgYnkgMTJweCAtLT5cbiAqIDxidXR0b24gZkNvbm5lY3Rpb25Db250ZW50IFtwb3NpdGlvbl09XCIwLjJcIiBbb2Zmc2V0XT1cIi0xMlwiPlxuICogICArXG4gKiA8L2J1dHRvbj5cbiAqXG4gKiA8IS0tIEljb24gYXQgdGhlIGVuZCBvZiB0aGUgY29ubmVjdGlvbiwgd2l0aCA2cHggbWFyZ2luIGFuZCByb3RhdGVkIGFsb25nIHRoZSBwYXRoIC0tPlxuICogPHNwYW4gZkNvbm5lY3Rpb25Db250ZW50IFtwb3NpdGlvbl09XCIxXCIgW21hcmdpbl09XCI2XCIgYWxpZ249XCJhbG9uZ1wiPlxuICogICDirpVcbiAqIDwvc3Bhbj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZkNvbm5lY3Rpb25Db250ZW50XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb25uZWN0aW9uLWNvbnRlbnQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbnRlbnQgaW1wbGVtZW50cyBPbkluaXQsIElQb2x5bGluZUNvbnRlbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0IERPTSBlbGVtZW50IHRvIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgYXBwbGllZC5cbiAgICogVXNlZCBpbnRlcm5hbGx5IGZvciBwb3NpdGlvbmluZyBjYWxjdWxhdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIGFsb25nIHRoZSBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBBIG5vcm1hbGl6ZWQgdmFsdWUgaW4gdGhlIHJhbmdlIGAwLi4xYDpcbiAgICogLSBgMGAg4oCUIGF0IHRoZSBzdGFydCBvZiB0aGUgY29ubmVjdGlvbixcbiAgICogLSBgMWAg4oCUIGF0IHRoZSBlbmQgb2YgdGhlIGNvbm5lY3Rpb24sXG4gICAqIC0gYDAuNWAg4oCUIGF0IHRoZSBtaWRkbGUgb2YgdGhlIGNvbm5lY3Rpb24gKGRlZmF1bHQpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8bnVtYmVyLCBudW1iZXI+KDAuNSwge1xuICAgIHRyYW5zZm9ybTogKHYpID0+ICh2IDwgMCA/IDAgOiB2ID4gMSA/IDEgOiB2KSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFBlcnBlbmRpY3VsYXIgb2Zmc2V0IGZyb20gdGhlIGNvbm5lY3Rpb24gbGluZSAoaW4gcGl4ZWxzKS5cbiAgICpcbiAgICogLSBQb3NpdGl2ZSB2YWx1ZXMgc2hpZnQgdGhlIGVsZW1lbnQgdG8gdGhlIHJpZ2h0XG4gICAqICAgcmVsYXRpdmUgdG8gdGhlIGxpbmUgZGlyZWN0aW9uLlxuICAgKiAtIE5lZ2F0aXZlIHZhbHVlcyBzaGlmdCBpdCB0byB0aGUgbGVmdC5cbiAgICogLSBEZWZhdWx0OiBgMGAgKG5vIHNoaWZ0KS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvZmZzZXQgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyB0aGUgb3JpZW50YXRpb24gKHJvdGF0aW9uKSBvZiB0aGUgY29udGVudCByZWxhdGl2ZSB0byB0aGUgY29ubmVjdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgdmFsdWVzOlxuICAgKiAtIGAnbm9uZSdgIOKAlCBubyByb3RhdGlvbiAoZGVmYXVsdCkuXG4gICAqIC0gYCdhbG9uZydgIOKAlCBhbGlnbmVkIGFsb25nIHRoZSBwYXRoICh0YW5nZW50KS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhbGlnbiA9IGlucHV0PFBvbHlsaW5lQ29udGVudEFsaWduLCB1bmtub3duPihQb2x5bGluZUNvbnRlbnRBbGlnbi5OT05FLCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4gY2FzdFRvRW51bTxQb2x5bGluZUNvbnRlbnRBbGlnbj4oeCwgJ2FsaWduJywgUG9seWxpbmVDb250ZW50QWxpZ24pLFxuICB9KTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMub2Zmc2V0KCk7XG4gICAgICAgIHRoaXMucG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5hbGlnbigpO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpKTtcbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './polyline-content-engine';
|
|
2
|
+
export * from './f-connection-content';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY29udGVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvbHlsaW5lLWNvbnRlbnQtZW5naW5lJztcbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uLWNvbnRlbnQnO1xuIl19
|
package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2x5bGluZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWNvbnRlbnQvcG9seWxpbmUtY29udGVudC1lbmdpbmUvaS1wb2x5bGluZS1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvbHlsaW5lQ29udGVudEFsaWduIH0gZnJvbSAnLi9wb2x5bGluZS1jb250ZW50LWFsaWduJztcblxuLyoqIERvbWFpbiBjb250cmFjdCBmb3IgY29udGVudCBpdGVtIHRvIGJlIHBsYWNlZCBhbG9uZyB0aGUgcGF0aC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBvbHlsaW5lQ29udGVudCB7XG4gIHBvc2l0aW9uOiBTaWduYWw8bnVtYmVyPjtcblxuICBvZmZzZXQ6IFNpZ25hbDxudW1iZXI+O1xuXG4gIGFsaWduOiBTaWduYWw8UG9seWxpbmVDb250ZW50QWxpZ24+O1xuXG4gIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './polyline-sampler';
|
|
2
|
+
export * from './polyline-content-align';
|
|
3
|
+
export * from './i-polyline-content';
|
|
4
|
+
export * from './polyline-content-layout-engine';
|
|
5
|
+
export * from './polyline-content-place';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY29udGVudC9wb2x5bGluZS1jb250ZW50LWVuZ2luZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvbHlsaW5lLXNhbXBsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wb2x5bGluZS1jb250ZW50LWFsaWduJztcbmV4cG9ydCAqIGZyb20gJy4vaS1wb2x5bGluZS1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWxpbmUtY29udGVudC1sYXlvdXQtZW5naW5lJztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWxpbmUtY29udGVudC1wbGFjZSc7XG4iXX0=
|
package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var PolylineContentAlign;
|
|
2
|
+
(function (PolylineContentAlign) {
|
|
3
|
+
PolylineContentAlign["NONE"] = "none";
|
|
4
|
+
PolylineContentAlign["ALONG"] = "along";
|
|
5
|
+
})(PolylineContentAlign || (PolylineContentAlign = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWxpbmUtY29udGVudC1hbGlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1jb250ZW50L3BvbHlsaW5lLWNvbnRlbnQtZW5naW5lL3BvbHlsaW5lLWNvbnRlbnQtYWxpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixxQ0FBYSxDQUFBO0lBRWIsdUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUkvQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBvbHlsaW5lQ29udGVudEFsaWduIHtcbiAgTk9ORSA9ICdub25lJyxcblxuICBBTE9ORyA9ICdhbG9uZycsXG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PolylineSampler } from './polyline-sampler';
|
|
2
|
+
import { PolylineContentPlace } from './polyline-content-place';
|
|
3
|
+
/**
|
|
4
|
+
* Engine that orchestrates positioning and orientation of all
|
|
5
|
+
* connection contents along a computed path.
|
|
6
|
+
*/
|
|
7
|
+
export class ConnectionContentLayoutEngine {
|
|
8
|
+
_placement;
|
|
9
|
+
constructor(_placement = new PolylineContentPlace()) {
|
|
10
|
+
this._placement = _placement;
|
|
11
|
+
}
|
|
12
|
+
layout(line, builderResult, contents) {
|
|
13
|
+
const sampler = new PolylineSampler(builderResult.points ?? calculatePathPointsIfEmpty(line, builderResult));
|
|
14
|
+
const total = sampler.totalLength;
|
|
15
|
+
for (const item of contents) {
|
|
16
|
+
const { position, rotationDeg } = this._placement.compute(sampler, item);
|
|
17
|
+
const style = this._createTransformString(position, rotationDeg);
|
|
18
|
+
item.hostElement.setAttribute('style', style);
|
|
19
|
+
}
|
|
20
|
+
return total;
|
|
21
|
+
}
|
|
22
|
+
_createTransformString(position, rotationDeg) {
|
|
23
|
+
return `position: fixed; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotationDeg}deg); left: ${position.x}px; top: ${position.y}px`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function calculatePathPointsIfEmpty({ point1, point2 }, { secondPoint, connectionCenter, penultimatePoint }) {
|
|
27
|
+
return [point1, secondPoint || point1, connectionCenter, penultimatePoint || point2, point2];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWxpbmUtY29udGVudC1sYXlvdXQtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWNvbnRlbnQvcG9seWxpbmUtY29udGVudC1lbmdpbmUvcG9seWxpbmUtY29udGVudC1sYXlvdXQtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNkJBQTZCO0lBRXJCO0lBRG5CLFlBQ21CLGFBQWEsSUFBSSxvQkFBb0IsRUFBRTtRQUF2QyxlQUFVLEdBQVYsVUFBVSxDQUE2QjtJQUN2RCxDQUFDO0lBRUcsTUFBTSxDQUNYLElBQXdDLEVBQ3hDLGFBQTZHLEVBQzdHLFFBQW9DO1FBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksMEJBQTBCLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDN0csTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUVsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxRQUFnQixFQUFFLFdBQW1CO1FBQ2xFLE9BQU8saUZBQWlGLFdBQVcsZUFBZSxRQUFRLENBQUMsQ0FBQyxZQUFZLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6SixDQUFDO0NBQ0Y7QUFFRCxTQUFTLDBCQUEwQixDQUNqQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVMsRUFDekIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQStFO0lBRWhJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsSUFBSSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IFBvbHlsaW5lU2FtcGxlciB9IGZyb20gJy4vcG9seWxpbmUtc2FtcGxlcic7XG5pbXBvcnQgeyBJUG9seWxpbmVDb250ZW50IH0gZnJvbSAnLi9pLXBvbHlsaW5lLWNvbnRlbnQnO1xuaW1wb3J0IHsgUG9seWxpbmVDb250ZW50UGxhY2UgfSBmcm9tICcuL3BvbHlsaW5lLWNvbnRlbnQtcGxhY2UnO1xuXG4vKipcbiAqIEVuZ2luZSB0aGF0IG9yY2hlc3RyYXRlcyBwb3NpdGlvbmluZyBhbmQgb3JpZW50YXRpb24gb2YgYWxsXG4gKiBjb25uZWN0aW9uIGNvbnRlbnRzIGFsb25nIGEgY29tcHV0ZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25Db250ZW50TGF5b3V0RW5naW5lIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGxhY2VtZW50ID0gbmV3IFBvbHlsaW5lQ29udGVudFBsYWNlKCksXG4gICkge31cblxuICBwdWJsaWMgbGF5b3V0KFxuICAgIGxpbmU6IHsgcG9pbnQxOiBJUG9pbnQ7IHBvaW50MjogSVBvaW50IH0sXG4gICAgYnVpbGRlclJlc3VsdDogeyBwb2ludHM/OiBJUG9pbnRbXSwgc2Vjb25kUG9pbnQ6IElQb2ludDsgY29ubmVjdGlvbkNlbnRlcjogSVBvaW50OyBwZW51bHRpbWF0ZVBvaW50OiBJUG9pbnQgfSxcbiAgICBjb250ZW50czogSXRlcmFibGU8SVBvbHlsaW5lQ29udGVudD4sXG4gICk6IG51bWJlciB7XG4gICAgY29uc3Qgc2FtcGxlciA9IG5ldyBQb2x5bGluZVNhbXBsZXIoYnVpbGRlclJlc3VsdC5wb2ludHMgPz8gY2FsY3VsYXRlUGF0aFBvaW50c0lmRW1wdHkobGluZSwgYnVpbGRlclJlc3VsdCkpO1xuICAgIGNvbnN0IHRvdGFsID0gc2FtcGxlci50b3RhbExlbmd0aDtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBjb250ZW50cykge1xuICAgICAgY29uc3QgeyBwb3NpdGlvbiwgcm90YXRpb25EZWcgfSA9IHRoaXMuX3BsYWNlbWVudC5jb21wdXRlKHNhbXBsZXIsIGl0ZW0pO1xuICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLl9jcmVhdGVUcmFuc2Zvcm1TdHJpbmcocG9zaXRpb24sIHJvdGF0aW9uRGVnKTtcbiAgICAgIGl0ZW0uaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVUcmFuc2Zvcm1TdHJpbmcocG9zaXRpb246IElQb2ludCwgcm90YXRpb25EZWc6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBwb3NpdGlvbjogZml4ZWQ7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgke3JvdGF0aW9uRGVnfWRlZyk7IGxlZnQ6ICR7cG9zaXRpb24ueH1weDsgdG9wOiAke3Bvc2l0aW9uLnl9cHhgO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZVBhdGhQb2ludHNJZkVtcHR5KFxuICB7IHBvaW50MSwgcG9pbnQyIH06IElMaW5lLFxuICB7IHNlY29uZFBvaW50LCBjb25uZWN0aW9uQ2VudGVyLCBwZW51bHRpbWF0ZVBvaW50IH06IHsgc2Vjb25kUG9pbnQ6IElQb2ludDsgY29ubmVjdGlvbkNlbnRlcjogSVBvaW50OyBwZW51bHRpbWF0ZVBvaW50OiBJUG9pbnQgfSxcbik6IElQb2ludFtdIHtcbiAgcmV0dXJuIFtwb2ludDEsIHNlY29uZFBvaW50IHx8IHBvaW50MSwgY29ubmVjdGlvbkNlbnRlciwgcGVudWx0aW1hdGVQb2ludCB8fCBwb2ludDIsIHBvaW50Ml07XG59XG4iXX0=
|
package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { PolylineContentAlign } from './polyline-content-align';
|
|
2
|
+
/**
|
|
3
|
+
* Encapsulates placement logic for a single content item along the path.
|
|
4
|
+
*/
|
|
5
|
+
export class PolylineContentPlace {
|
|
6
|
+
compute(sampler, content) {
|
|
7
|
+
const progress = this._clamp01(content.position());
|
|
8
|
+
const { point, tangent } = sampler.getPointAtLength(progress);
|
|
9
|
+
// Left-hand normal
|
|
10
|
+
const normal = { x: -tangent.y, y: tangent.x };
|
|
11
|
+
// Apply lateral offset
|
|
12
|
+
const lateral = content.offset() ?? 0;
|
|
13
|
+
const x = point.x + normal.x * lateral;
|
|
14
|
+
const y = point.y + normal.y * lateral;
|
|
15
|
+
// Edge guard
|
|
16
|
+
const projectedSize = this._sizeAlongDirection(content.hostElement, tangent);
|
|
17
|
+
const halfExtent = projectedSize * 0.5;
|
|
18
|
+
const distanceFromStart = progress * sampler.totalLength;
|
|
19
|
+
const distanceFromEnd = sampler.totalLength - distanceFromStart;
|
|
20
|
+
const position = this._applyEdgeGuard(x, y, tangent, distanceFromStart, distanceFromEnd, halfExtent);
|
|
21
|
+
const rotationDeg = this._calculateContentRotation(content.align(), tangent);
|
|
22
|
+
return { position, rotationDeg };
|
|
23
|
+
}
|
|
24
|
+
_clamp01(v) {
|
|
25
|
+
return v <= 0 ? 0 : v >= 1 ? 1 : v;
|
|
26
|
+
}
|
|
27
|
+
_applyEdgeGuard(x, y, tangent, distanceFromStart, distanceFromEnd, halfExtent) {
|
|
28
|
+
if (distanceFromStart <= halfExtent) {
|
|
29
|
+
const push = halfExtent - distanceFromStart;
|
|
30
|
+
return { x: x + tangent.x * push, y: y + tangent.y * push };
|
|
31
|
+
}
|
|
32
|
+
if (distanceFromEnd <= halfExtent) {
|
|
33
|
+
const push = halfExtent - distanceFromEnd;
|
|
34
|
+
return { x: x - tangent.x * push, y: y - tangent.y * push };
|
|
35
|
+
}
|
|
36
|
+
return { x, y };
|
|
37
|
+
}
|
|
38
|
+
_sizeAlongDirection(element, dir) {
|
|
39
|
+
const rect = element.getBoundingClientRect();
|
|
40
|
+
return Math.abs(dir.x) * rect.width + Math.abs(dir.y) * rect.height;
|
|
41
|
+
}
|
|
42
|
+
_normalize180(angleDeg) {
|
|
43
|
+
let a = (angleDeg + 180) % 360;
|
|
44
|
+
if (a < 0)
|
|
45
|
+
a += 360;
|
|
46
|
+
return a - 180;
|
|
47
|
+
}
|
|
48
|
+
_keepUpright(angleDeg) {
|
|
49
|
+
let a = this._normalize180(angleDeg);
|
|
50
|
+
if (a > 90)
|
|
51
|
+
a -= 180;
|
|
52
|
+
else if (a < -90)
|
|
53
|
+
a += 180;
|
|
54
|
+
return a;
|
|
55
|
+
}
|
|
56
|
+
_calculateContentRotation(align, tangent) {
|
|
57
|
+
let result = 0;
|
|
58
|
+
if (align === PolylineContentAlign.ALONG) {
|
|
59
|
+
result = (Math.atan2(tangent.y, tangent.x) * 180) / Math.PI;
|
|
60
|
+
result = this._keepUpright(result);
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWxpbmUtY29udGVudC1wbGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1jb250ZW50L3BvbHlsaW5lLWNvbnRlbnQtZW5naW5lL3BvbHlsaW5lLWNvbnRlbnQtcGxhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE9BQU8sQ0FDWixPQUF3QixFQUN4QixPQUF5QjtRQUV6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlELG1CQUFtQjtRQUNuQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUvQyx1QkFBdUI7UUFDdkIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFFdkMsYUFBYTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdFLE1B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QyxLQUFLLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUQsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2x5bGluZUNvbnRlbnQgfSBmcm9tICcuL2ktcG9seWxpbmUtY29udGVudCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IFBvbHlsaW5lU2FtcGxlciB9IGZyb20gJy4vcG9seWxpbmUtc2FtcGxlcic7XG5pbXBvcnQgeyBQb2x5bGluZUNvbnRlbnRBbGlnbiB9IGZyb20gJy4vcG9seWxpbmUtY29udGVudC1hbGlnbic7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBsYWNlbWVudCBsb2dpYyBmb3IgYSBzaW5nbGUgY29udGVudCBpdGVtIGFsb25nIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY2xhc3MgUG9seWxpbmVDb250ZW50UGxhY2Uge1xuICBwdWJsaWMgY29tcHV0ZShcbiAgICBzYW1wbGVyOiBQb2x5bGluZVNhbXBsZXIsXG4gICAgY29udGVudDogSVBvbHlsaW5lQ29udGVudCxcbiAgKTogeyBwb3NpdGlvbjogSVBvaW50OyByb3RhdGlvbkRlZzogbnVtYmVyIH0ge1xuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy5fY2xhbXAwMShjb250ZW50LnBvc2l0aW9uKCkpO1xuICAgIGNvbnN0IHsgcG9pbnQsIHRhbmdlbnQgfSA9IHNhbXBsZXIuZ2V0UG9pbnRBdExlbmd0aChwcm9ncmVzcyk7XG5cbiAgICAvLyBMZWZ0LWhhbmQgbm9ybWFsXG4gICAgY29uc3Qgbm9ybWFsID0geyB4OiAtdGFuZ2VudC55LCB5OiB0YW5nZW50LnggfTtcblxuICAgIC8vIEFwcGx5IGxhdGVyYWwgb2Zmc2V0XG4gICAgY29uc3QgbGF0ZXJhbCA9IGNvbnRlbnQub2Zmc2V0KCkgPz8gMDtcbiAgICBjb25zdCB4ID0gcG9pbnQueCArIG5vcm1hbC54ICogbGF0ZXJhbDtcbiAgICBjb25zdCB5ID0gcG9pbnQueSArIG5vcm1hbC55ICogbGF0ZXJhbDtcblxuICAgIC8vIEVkZ2UgZ3VhcmRcbiAgICBjb25zdCBwcm9qZWN0ZWRTaXplID0gdGhpcy5fc2l6ZUFsb25nRGlyZWN0aW9uKGNvbnRlbnQuaG9zdEVsZW1lbnQsIHRhbmdlbnQpO1xuICAgIGNvbnN0IGhhbGZFeHRlbnQgPSBwcm9qZWN0ZWRTaXplICogMC41O1xuXG4gICAgY29uc3QgZGlzdGFuY2VGcm9tU3RhcnQgPSBwcm9ncmVzcyAqIHNhbXBsZXIudG90YWxMZW5ndGg7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tRW5kID0gc2FtcGxlci50b3RhbExlbmd0aCAtIGRpc3RhbmNlRnJvbVN0YXJ0O1xuXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9hcHBseUVkZ2VHdWFyZCh4LCB5LCB0YW5nZW50LCBkaXN0YW5jZUZyb21TdGFydCwgZGlzdGFuY2VGcm9tRW5kLCBoYWxmRXh0ZW50KTtcblxuICAgIGNvbnN0IHJvdGF0aW9uRGVnID0gdGhpcy5fY2FsY3VsYXRlQ29udGVudFJvdGF0aW9uKGNvbnRlbnQuYWxpZ24oKSwgdGFuZ2VudCk7XG5cbiAgICByZXR1cm4geyBwb3NpdGlvbiwgcm90YXRpb25EZWcgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYW1wMDEodjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdiA8PSAwID8gMCA6IHYgPj0gMSA/IDEgOiB2O1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlFZGdlR3VhcmQoXG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlcixcbiAgICB0YW5nZW50OiBJUG9pbnQsXG4gICAgZGlzdGFuY2VGcm9tU3RhcnQ6IG51bWJlcixcbiAgICBkaXN0YW5jZUZyb21FbmQ6IG51bWJlcixcbiAgICBoYWxmRXh0ZW50OiBudW1iZXIsXG4gICk6IElQb2ludCB7XG4gICAgaWYgKGRpc3RhbmNlRnJvbVN0YXJ0IDw9IGhhbGZFeHRlbnQpIHtcbiAgICAgIGNvbnN0IHB1c2ggPSBoYWxmRXh0ZW50IC0gZGlzdGFuY2VGcm9tU3RhcnQ7XG5cbiAgICAgIHJldHVybiB7IHg6IHggKyB0YW5nZW50LnggKiBwdXNoLCB5OiB5ICsgdGFuZ2VudC55ICogcHVzaCB9O1xuICAgIH1cbiAgICBpZiAoZGlzdGFuY2VGcm9tRW5kIDw9IGhhbGZFeHRlbnQpIHtcbiAgICAgIGNvbnN0IHB1c2ggPSBoYWxmRXh0ZW50IC0gZGlzdGFuY2VGcm9tRW5kO1xuXG4gICAgICByZXR1cm4geyB4OiB4IC0gdGFuZ2VudC54ICogcHVzaCwgeTogeSAtIHRhbmdlbnQueSAqIHB1c2ggfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB4LCB5IH07XG4gIH1cblxuICBwcml2YXRlIF9zaXplQWxvbmdEaXJlY3Rpb24oZWxlbWVudDogSFRNTEVsZW1lbnQsIGRpcjogSVBvaW50KTogbnVtYmVyIHtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiBNYXRoLmFicyhkaXIueCkgKiByZWN0LndpZHRoICsgTWF0aC5hYnMoZGlyLnkpICogcmVjdC5oZWlnaHQ7XG4gIH1cblxuICBwcml2YXRlIF9ub3JtYWxpemUxODAoYW5nbGVEZWc6IG51bWJlcik6IG51bWJlciB7XG4gICAgbGV0IGEgPSAoYW5nbGVEZWcgKyAxODApICUgMzYwO1xuICAgIGlmIChhIDwgMCkgYSArPSAzNjA7XG5cbiAgICByZXR1cm4gYSAtIDE4MDtcbiAgfVxuXG4gIHByaXZhdGUgX2tlZXBVcHJpZ2h0KGFuZ2xlRGVnOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBhID0gdGhpcy5fbm9ybWFsaXplMTgwKGFuZ2xlRGVnKTtcbiAgICBpZiAoYSA+IDkwKSBhIC09IDE4MDtcbiAgICBlbHNlIGlmIChhIDwgLTkwKSBhICs9IDE4MDtcblxuICAgIHJldHVybiBhO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ29udGVudFJvdGF0aW9uKGFsaWduOiBQb2x5bGluZUNvbnRlbnRBbGlnbiwgdGFuZ2VudDogSVBvaW50KSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG5cbiAgICBpZiAoYWxpZ24gPT09IFBvbHlsaW5lQ29udGVudEFsaWduLkFMT05HKSB7XG4gICAgICByZXN1bHQgPSAoTWF0aC5hdGFuMih0YW5nZW50LnksIHRhbmdlbnQueCkgKiAxODApIC8gTWF0aC5QSTtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2tlZXBVcHJpZ2h0KHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zYW1wbGVyLXJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1jb250ZW50L3BvbHlsaW5lLWNvbnRlbnQtZW5naW5lL3BvbHlsaW5lLXNhbXBsZXIvaS1zYW1wbGVyLXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRhbmdlbnQgfSBmcm9tICcuL2ktdGFuZ2VudCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuLyoqIFJlc3VsdCBvZiBzYW1wbGluZyB0aGUgcGF0aC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNhbXBsZXJSZXN1bHQge1xuICAvKiogSW50ZXJwb2xhdGVkIHBvaW50IG9uIHRoZSBwb2x5bGluZS4gKi9cbiAgcG9pbnQ6IElQb2ludDtcbiAgLyoqIFVuaXQgdGFuZ2VudCAoc2VnbWVudCBkaXJlY3Rpb24pIGF0IHRoYXQgcG9pbnQuICovXG4gIHRhbmdlbnQ6IElUYW5nZW50O1xuICAvKiogV2hldGhlciB0aGUgcmVzdWx0IHdhcyBjbGFtcGVkIHRvIHRoZSBwYXRoIGVkZ2UgKHN0YXJ0IG9yIGVuZCkuICovXG4gIGF0RWRnZTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10YW5nZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWNvbnRlbnQvcG9seWxpbmUtY29udGVudC1lbmdpbmUvcG9seWxpbmUtc2FtcGxlci9pLXRhbmdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG4vKiogVW5pdCB0YW5nZW50IHZlY3Rvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRhbmdlbnQgZXh0ZW5kcyBJUG9pbnQge31cbiJdfQ==
|
package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './i-sampler-result';
|
|
2
|
+
export * from './i-tangent';
|
|
3
|
+
export * from './polyline';
|
|
4
|
+
export * from './polyline-sampler';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY29udGVudC9wb2x5bGluZS1jb250ZW50LWVuZ2luZS9wb2x5bGluZS1zYW1wbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaS1zYW1wbGVyLXJlc3VsdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS10YW5nZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9wb2x5bGluZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcG9seWxpbmUtc2FtcGxlcic7XG4iXX0=
|