@foblex/flow 1.4.1 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/domain/get-connection-vector/get-connection-vector.request.d.ts +4 -4
- package/domain/get-incoming-connections.handler.d.ts +1 -1
- package/domain/get-input-rect-in-flow.handler.d.ts +5 -5
- package/domain/get-outgoing-connections.handler.d.ts +1 -1
- package/domain/get-output-rect-in-flow.handler.d.ts +5 -5
- package/domain/index.d.ts +0 -1
- package/domain/select-all.handler.d.ts +1 -1
- package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +8 -8
- package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +1 -1
- package/esm2022/domain/get-incoming-connections.handler.mjs +2 -2
- package/esm2022/domain/get-input-rect-in-flow.handler.mjs +2 -2
- package/esm2022/domain/get-outgoing-connections.handler.mjs +2 -2
- package/esm2022/domain/get-output-rect-in-flow.handler.mjs +2 -2
- package/esm2022/domain/index.mjs +1 -2
- package/esm2022/domain/select-all.handler.mjs +2 -2
- package/esm2022/f-components-store.mjs +1 -1
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +7 -0
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +12 -0
- package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +3 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +6 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +36 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +3 -0
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +22 -0
- package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +3 -0
- package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +19 -0
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +142 -0
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +11 -0
- package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +2 -0
- package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +2 -0
- package/esm2022/f-connection/common/domain/index.mjs +10 -0
- package/esm2022/f-connection/common/f-connection-base.mjs +15 -6
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +3 -3
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +4 -4
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +4 -4
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -4
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
- package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-text.mjs +1 -1
- package/esm2022/f-connection/common/index.mjs +2 -2
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +30 -26
- package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +14 -0
- package/esm2022/f-connection/f-connection-center/index.mjs +2 -0
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +23 -21
- package/esm2022/f-connection/index.mjs +2 -1
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +7 -0
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +38 -0
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +3 -0
- package/esm2022/f-connectors/domain/index.mjs +2 -0
- package/esm2022/f-connectors/e-f-connectable-side.mjs +9 -0
- package/esm2022/f-connectors/f-connector-base.mjs +16 -0
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +83 -0
- package/esm2022/f-connectors/f-node-input/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-input/is-node-input.mjs +4 -0
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +23 -0
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +71 -0
- package/esm2022/f-connectors/f-node-outlet/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +77 -0
- package/esm2022/f-connectors/f-node-output/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-output/is-node-output.mjs +4 -0
- package/esm2022/f-connectors/index.mjs +7 -0
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +10 -9
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +7 -7
- package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +1 -1
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +1 -1
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +15 -14
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +5 -5
- package/esm2022/f-draggable/e-f-draggable-type.mjs +11 -0
- package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +4 -4
- package/esm2022/f-draggable/node/index.mjs +2 -1
- package/esm2022/f-draggable/node/node.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/node/node.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/public-api.mjs +13 -4
- package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +3 -3
- package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +1 -1
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +2 -2
- package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +5 -5
- package/esm2022/f-flow/f-flow-base.mjs +5 -0
- package/esm2022/f-flow/f-flow.component.mjs +18 -18
- package/esm2022/f-flow/index.mjs +2 -3
- package/esm2022/f-flow.module.mjs +6 -4
- package/esm2022/f-node/f-drag-handle/index.mjs +1 -1
- package/esm2022/f-node/f-node-base.mjs +1 -3
- package/esm2022/f-node/f-node.directive.mjs +9 -9
- package/esm2022/f-node/index.mjs +1 -2
- package/esm2022/public-api.mjs +12 -6
- package/f-components-store.d.ts +5 -4
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +6 -0
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +5 -0
- package/f-connection/common/domain/calculate-center-between-points/index.d.ts +2 -0
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +5 -0
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +7 -0
- package/f-connection/common/domain/calculate-connection-center/index.d.ts +2 -0
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +7 -0
- package/f-connection/common/domain/f-path-builder-base.d.ts +6 -0
- package/f-connection/common/domain/f-path-builder-selector.d.ts +7 -0
- package/f-connection/common/domain/f-segment.path-builder.d.ts +13 -0
- package/f-connection/common/domain/f-straight.path-builder.d.ts +6 -0
- package/f-connection/common/domain/i-f-path-builder-request.d.ts +12 -0
- package/f-connection/common/domain/i-f-path-builder-response.d.ts +5 -0
- package/f-connection/common/domain/index.d.ts +9 -0
- package/f-connection/common/f-connection-base.d.ts +15 -13
- package/f-connection/common/i-has-connection-color.d.ts +2 -2
- package/f-connection/common/i-has-connection-from-to.d.ts +4 -4
- package/f-connection/common/i-has-connection-text.d.ts +1 -1
- package/f-connection/common/index.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +14 -12
- package/f-connection/f-connection-center/f-connection-center.directive.d.ts +5 -0
- package/f-connection/f-connection-center/index.d.ts +1 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +14 -12
- package/f-connection/index.d.ts +1 -0
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +6 -0
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +7 -0
- package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +2 -0
- package/f-connectors/domain/index.d.ts +1 -0
- package/f-connectors/e-f-connectable-side.d.ts +7 -0
- package/{f-node/f-connectors → f-connectors}/f-connector-base.d.ts +4 -3
- package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input.directive.d.ts +5 -3
- package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet.directive.d.ts +6 -3
- package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output.directive.d.ts +5 -3
- package/{f-node/f-connectors → f-connectors}/index.d.ts +2 -0
- package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +2 -2
- package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -2
- package/f-draggable/{e-draggable-type.d.ts → e-f-draggable-type.d.ts} +1 -1
- package/f-draggable/external-item/external-item.drag-handler.d.ts +2 -2
- package/f-draggable/i-draggable-item.d.ts +2 -2
- package/f-draggable/node/connection-source.drag-handler.d.ts +2 -2
- package/f-draggable/node/connection-target.drag-handler.d.ts +2 -2
- package/f-draggable/node/connection.drag-handler.d.ts +2 -2
- package/f-draggable/node/index.d.ts +1 -0
- package/f-draggable/node/node.drag-handler.d.ts +2 -2
- package/f-draggable/public-api.d.ts +12 -3
- package/f-draggable/selection-area/selection-area.drag-handle.d.ts +2 -2
- package/f-flow/f-flow-base.d.ts +8 -0
- package/f-flow/f-flow.component.d.ts +4 -4
- package/f-flow/index.d.ts +1 -2
- package/f-flow.module.d.ts +3 -3
- package/f-node/f-node-base.d.ts +2 -2
- package/f-node/f-node.directive.d.ts +3 -3
- package/f-node/index.d.ts +0 -1
- package/fesm2022/foblex-flow.mjs +2503 -2423
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +11 -5
- package/domain/get-connector-side-in-node/e-connector-side.d.ts +0 -6
- package/domain/get-connector-side-in-node/get-connector-side-in-node.handler.d.ts +0 -5
- package/domain/get-connector-side-in-node/index.d.ts +0 -2
- package/esm2022/domain/get-connector-side-in-node/e-connector-side.mjs +0 -8
- package/esm2022/domain/get-connector-side-in-node/get-connector-side-in-node.handler.mjs +0 -26
- package/esm2022/domain/get-connector-side-in-node/index.mjs +0 -3
- package/esm2022/f-backgroud/domain/public-api.mjs +0 -2
- package/esm2022/f-backgroud/f-cell-pattern/public-api.mjs +0 -2
- package/esm2022/f-backgroud/public-api.mjs +0 -4
- package/esm2022/f-canvas/domain/public-api.mjs +0 -2
- package/esm2022/f-canvas/f-zoom/public-api.mjs +0 -2
- package/esm2022/f-canvas/public-api.mjs +0 -4
- package/esm2022/f-connection/common/path-constructor/bezier-path/bezier-path.mjs +0 -29
- package/esm2022/f-connection/common/path-constructor/bezier-path/index.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/i-path-constructor.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/index.mjs +0 -6
- package/esm2022/f-connection/common/path-constructor/path-constructor.mjs +0 -15
- package/esm2022/f-connection/common/path-constructor/segment-path/connector-side-point.mjs +0 -9
- package/esm2022/f-connection/common/path-constructor/segment-path/edge-center-calculator.mjs +0 -10
- package/esm2022/f-connection/common/path-constructor/segment-path/index.mjs +0 -6
- package/esm2022/f-connection/common/path-constructor/segment-path/path-bend.mjs +0 -19
- package/esm2022/f-connection/common/path-constructor/segment-path/point-utils.mjs +0 -14
- package/esm2022/f-connection/common/path-constructor/segment-path/segment-path.mjs +0 -123
- package/esm2022/f-connection/common/path-constructor/straight-path/index.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/straight-path/straight-path.mjs +0 -9
- package/esm2022/f-connection/common/public-api.mjs +0 -3
- package/esm2022/f-connection/public-api.mjs +0 -5
- package/esm2022/f-draggable/components/f-external-item/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/f-line-alignment/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/f-selection-area/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/public-api.mjs +0 -4
- package/esm2022/f-draggable/connections/create-connection/public-api.mjs +0 -2
- package/esm2022/f-draggable/connections/public-api.mjs +0 -3
- package/esm2022/f-draggable/connections/reassign-connection/public-api.mjs +0 -2
- package/esm2022/f-draggable/e-draggable-type.mjs +0 -11
- package/esm2022/f-draggable/external-item/public-api.mjs +0 -2
- package/esm2022/f-draggable/index.mjs +0 -14
- package/esm2022/f-flow/f-parent.injection-token.mjs +0 -3
- package/esm2022/f-flow/i-flow-base.mjs +0 -3
- package/esm2022/f-flow/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-connector-base.mjs +0 -15
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input-base.mjs +0 -19
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input.directive.mjs +0 -78
- package/esm2022/f-node/f-connectors/f-node-input/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-input/is-node-input.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-input/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -23
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -68
- package/esm2022/f-node/f-connectors/f-node-outlet/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-outlet/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output-base.mjs +0 -19
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output.directive.mjs +0 -72
- package/esm2022/f-node/f-connectors/f-node-output/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-output/is-node-output.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-output/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/index.mjs +0 -5
- package/esm2022/f-node/f-connectors/public-api.mjs +0 -4
- package/esm2022/f-node/f-drag-handle/public-api.mjs +0 -2
- package/esm2022/f-node/public-api.mjs +0 -4
- package/f-backgroud/domain/public-api.d.ts +0 -1
- package/f-backgroud/f-cell-pattern/public-api.d.ts +0 -1
- package/f-backgroud/public-api.d.ts +0 -3
- package/f-canvas/domain/public-api.d.ts +0 -1
- package/f-canvas/f-zoom/public-api.d.ts +0 -1
- package/f-canvas/public-api.d.ts +0 -3
- package/f-connection/common/path-constructor/bezier-path/bezier-path.d.ts +0 -7
- package/f-connection/common/path-constructor/bezier-path/index.d.ts +0 -1
- package/f-connection/common/path-constructor/i-path-constructor.d.ts +0 -12
- package/f-connection/common/path-constructor/index.d.ts +0 -5
- package/f-connection/common/path-constructor/path-constructor.d.ts +0 -8
- package/f-connection/common/path-constructor/segment-path/connector-side-point.d.ts +0 -6
- package/f-connection/common/path-constructor/segment-path/edge-center-calculator.d.ts +0 -3
- package/f-connection/common/path-constructor/segment-path/index.d.ts +0 -5
- package/f-connection/common/path-constructor/segment-path/path-bend.d.ts +0 -4
- package/f-connection/common/path-constructor/segment-path/point-utils.d.ts +0 -6
- package/f-connection/common/path-constructor/segment-path/segment-path.d.ts +0 -10
- package/f-connection/common/path-constructor/straight-path/index.d.ts +0 -1
- package/f-connection/common/path-constructor/straight-path/straight-path.d.ts +0 -6
- package/f-connection/common/public-api.d.ts +0 -2
- package/f-connection/public-api.d.ts +0 -4
- package/f-draggable/components/f-external-item/public-api.d.ts +0 -1
- package/f-draggable/components/f-line-alignment/public-api.d.ts +0 -1
- package/f-draggable/components/f-selection-area/public-api.d.ts +0 -1
- package/f-draggable/components/public-api.d.ts +0 -3
- package/f-draggable/connections/create-connection/public-api.d.ts +0 -1
- package/f-draggable/connections/public-api.d.ts +0 -2
- package/f-draggable/connections/reassign-connection/public-api.d.ts +0 -1
- package/f-draggable/external-item/public-api.d.ts +0 -1
- package/f-draggable/index.d.ts +0 -13
- package/f-flow/f-parent.injection-token.d.ts +0 -2
- package/f-flow/i-flow-base.d.ts +0 -8
- package/f-flow/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-input/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-outlet/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-output/public-api.d.ts +0 -1
- package/f-node/f-connectors/public-api.d.ts +0 -3
- package/f-node/f-drag-handle/public-api.d.ts +0 -1
- package/f-node/public-api.d.ts +0 -3
- /package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-input/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-input/is-node-input.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/is-node-outlet.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/is-node-output.d.ts +0 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { PointExtensions } from '@foblex/core';
|
|
2
|
+
import { FPathBuilderBase } from './f-path-builder-base';
|
|
3
|
+
import { EFConnectableSide } from '../../../f-connectors';
|
|
4
|
+
import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest } from './calculate-center-between-points';
|
|
5
|
+
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
6
|
+
const CONNECTOR_SIDE_POINT = {
|
|
7
|
+
[EFConnectableSide.LEFT]: PointExtensions.initialize(-1, 0),
|
|
8
|
+
[EFConnectableSide.RIGHT]: PointExtensions.initialize(1, 0),
|
|
9
|
+
[EFConnectableSide.TOP]: PointExtensions.initialize(0, -1),
|
|
10
|
+
[EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
|
|
11
|
+
[EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
|
|
12
|
+
};
|
|
13
|
+
export class FSegmentPathBuilder extends FPathBuilderBase {
|
|
14
|
+
handle(request) {
|
|
15
|
+
const { source, sourceSide, target, targetSide } = request;
|
|
16
|
+
const { points, center } = this.getPathPoints(source, sourceSide, target, targetSide, request.offset);
|
|
17
|
+
const path = this.buildPath(points, request.radius);
|
|
18
|
+
return { path, center };
|
|
19
|
+
}
|
|
20
|
+
getPathPoints(source, sourceSide, target, targetSide, offset) {
|
|
21
|
+
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
22
|
+
const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
|
|
23
|
+
const sourceGap = { x: source.x + sourceDirection.x * offset, y: source.y + sourceDirection.y * offset };
|
|
24
|
+
const targetGap = { x: target.x + targetDirection.x * offset, y: target.y + targetDirection.y * offset };
|
|
25
|
+
const direction = this.getDirection(sourceGap, sourceSide, targetGap);
|
|
26
|
+
const directionAccessor = direction.x !== 0 ? 'x' : 'y';
|
|
27
|
+
const currentDirection = direction[directionAccessor];
|
|
28
|
+
let points = [];
|
|
29
|
+
const sourceGapOffset = PointExtensions.initialize();
|
|
30
|
+
const targetGapOffset = PointExtensions.initialize();
|
|
31
|
+
const centerBetweenPoints = new CalculateCenterBetweenPointsHandler().handle(new CalculateCenterBetweenPointsRequest(source, target));
|
|
32
|
+
if (sourceDirection[directionAccessor] * targetDirection[directionAccessor] === -1) {
|
|
33
|
+
const verticalSplit = [
|
|
34
|
+
{ x: centerBetweenPoints.x, y: sourceGap.y },
|
|
35
|
+
{ x: centerBetweenPoints.x, y: targetGap.y },
|
|
36
|
+
];
|
|
37
|
+
const horizontalSplit = [
|
|
38
|
+
{ x: sourceGap.x, y: centerBetweenPoints.y },
|
|
39
|
+
{ x: targetGap.x, y: centerBetweenPoints.y },
|
|
40
|
+
];
|
|
41
|
+
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
42
|
+
points = directionAccessor === 'x' ? verticalSplit : horizontalSplit;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
points = directionAccessor === 'x' ? horizontalSplit : verticalSplit;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const sourceTarget = [{ x: sourceGap.x, y: targetGap.y }];
|
|
50
|
+
const targetSource = [{ x: targetGap.x, y: sourceGap.y }];
|
|
51
|
+
if (directionAccessor === 'x') {
|
|
52
|
+
points = sourceDirection.x === currentDirection ? targetSource : sourceTarget;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
points = sourceDirection.y === currentDirection ? sourceTarget : targetSource;
|
|
56
|
+
}
|
|
57
|
+
if (sourceSide === targetSide) {
|
|
58
|
+
const diff = Math.abs(source[directionAccessor] - target[directionAccessor]);
|
|
59
|
+
if (diff <= offset) {
|
|
60
|
+
const gapOffset = Math.min(offset - 1, offset - diff);
|
|
61
|
+
if (sourceDirection[directionAccessor] === currentDirection) {
|
|
62
|
+
sourceGapOffset[directionAccessor] = (sourceGap[directionAccessor] > source[directionAccessor] ? -1 : 1) * gapOffset;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
targetGapOffset[directionAccessor] = (targetGap[directionAccessor] > target[directionAccessor] ? -1 : 1) * gapOffset;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (sourceSide !== targetSide) {
|
|
70
|
+
const dirAccessorOpposite = directionAccessor === 'x' ? 'y' : 'x';
|
|
71
|
+
const isSameDir = sourceDirection[directionAccessor] === targetDirection[dirAccessorOpposite];
|
|
72
|
+
const sourceGtTargetOppo = sourceGap[dirAccessorOpposite] > targetGap[dirAccessorOpposite];
|
|
73
|
+
const sourceLtTargetOppo = sourceGap[dirAccessorOpposite] < targetGap[dirAccessorOpposite];
|
|
74
|
+
const flipSourceTarget = (sourceDirection[directionAccessor] === 1 &&
|
|
75
|
+
((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||
|
|
76
|
+
(sourceDirection[directionAccessor] !== 1 &&
|
|
77
|
+
((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));
|
|
78
|
+
if (flipSourceTarget) {
|
|
79
|
+
points = directionAccessor === 'x' ? sourceTarget : targetSource;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const pathPoints = [
|
|
84
|
+
source,
|
|
85
|
+
{ x: sourceGap.x + sourceGapOffset.x, y: sourceGap.y + sourceGapOffset.y },
|
|
86
|
+
...points,
|
|
87
|
+
{ x: targetGap.x + targetGapOffset.x, y: targetGap.y + targetGapOffset.y },
|
|
88
|
+
target,
|
|
89
|
+
];
|
|
90
|
+
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest(pathPoints));
|
|
91
|
+
return { points: pathPoints, center: center };
|
|
92
|
+
}
|
|
93
|
+
getDirection(source, sourceSide, target) {
|
|
94
|
+
if (sourceSide === EFConnectableSide.LEFT || sourceSide === EFConnectableSide.RIGHT) {
|
|
95
|
+
return source.x < target.x ? PointExtensions.initialize(1, 0) : PointExtensions.initialize(-1, 0);
|
|
96
|
+
}
|
|
97
|
+
return source.y < target.y ? PointExtensions.initialize(0, 1) : PointExtensions.initialize(0, -1);
|
|
98
|
+
}
|
|
99
|
+
distance(a, b) {
|
|
100
|
+
return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
|
|
101
|
+
}
|
|
102
|
+
buildPath(points, borderRadius) {
|
|
103
|
+
let path = '';
|
|
104
|
+
for (let i = 0; i < points.length; i++) {
|
|
105
|
+
const p = points[i];
|
|
106
|
+
let segment = '';
|
|
107
|
+
if (i > 0 && i < points.length - 1) {
|
|
108
|
+
segment = this.getBend(points[i - 1], p, points[i + 1], borderRadius);
|
|
109
|
+
}
|
|
110
|
+
else if (i === points.length - 1) {
|
|
111
|
+
segment = this.buildLastLineSegment(i, p);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
segment = this.buildMoveOrLineSegment(i, p);
|
|
115
|
+
}
|
|
116
|
+
path += segment;
|
|
117
|
+
}
|
|
118
|
+
return path;
|
|
119
|
+
}
|
|
120
|
+
getBend(a, b, c, size) {
|
|
121
|
+
const bendSize = Math.min(this.distance(a, b) / 2, this.distance(b, c) / 2, size);
|
|
122
|
+
const { x, y } = b;
|
|
123
|
+
if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {
|
|
124
|
+
return `L${x} ${y}`;
|
|
125
|
+
}
|
|
126
|
+
if (a.y === y) {
|
|
127
|
+
const xDir = a.x < c.x ? -1 : 1;
|
|
128
|
+
const yDir = a.y < c.y ? 1 : -1;
|
|
129
|
+
return `L ${x + bendSize * xDir},${y}Q ${x},${y} ${x},${y + bendSize * yDir}`;
|
|
130
|
+
}
|
|
131
|
+
const xDir = a.x < c.x ? 1 : -1;
|
|
132
|
+
const yDir = a.y < c.y ? -1 : 1;
|
|
133
|
+
return `L ${x},${y + bendSize * yDir}Q ${x},${y} ${x + bendSize * xDir},${y}`;
|
|
134
|
+
}
|
|
135
|
+
buildMoveOrLineSegment(index, point) {
|
|
136
|
+
return `${index === 0 ? 'M' : 'L'}${point.x} ${point.y}`;
|
|
137
|
+
}
|
|
138
|
+
buildLastLineSegment(index, point) {
|
|
139
|
+
return `L${point.x + 0.0001} ${point.y + 0.0001}`;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFvQixTQUFR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LE9BQU8sS0FBTSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssSUFBSyxDQUFFLEtBQU0sQ0FBRSxJQUFLLENBQUUsSUFBSyxDQUFFLElBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFLLEVBQUUsQ0FBQztTQUMzRjtRQUVELE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFNLENBQUUsSUFBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssS0FBTSxDQUFFLElBQUssQ0FBRSxJQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSyxJQUFLLENBQUUsRUFBRSxDQUFDO0lBQzVGLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN6RCxPQUFPLEdBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFJLEdBQUksS0FBSyxDQUFDLENBQUUsSUFBSyxLQUFLLENBQUMsQ0FBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3ZELE9BQU8sSUFBSyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU8sSUFBSyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNYXAsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZQYXRoQnVpbGRlckJhc2UgfSBmcm9tICcuL2YtcGF0aC1idWlsZGVyLWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVzcG9uc2UnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIsXG4gIENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0XG59IGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlciwgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlcic7XG5cbmNvbnN0IENPTk5FQ1RPUl9TSURFX1BPSU5UOiBJTWFwPElQb2ludD4gPSB7XG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApLFxuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuVE9QIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIC0xKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTSBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLkFVVE8gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMCksXG59O1xuXG5leHBvcnQgY2xhc3MgRlNlZ21lbnRQYXRoQnVpbGRlciBleHRlbmRzIEZQYXRoQnVpbGRlckJhc2Uge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZQYXRoQnVpbGRlclJlcXVlc3QpOiBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUgfSA9IHJlcXVlc3Q7XG5cbiAgICBjb25zdCB7IHBvaW50cywgY2VudGVyIH0gPSB0aGlzLmdldFBhdGhQb2ludHMoXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgc291cmNlU2lkZSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICB0YXJnZXRTaWRlLFxuICAgICAgICByZXF1ZXN0Lm9mZnNldFxuICAgICk7XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5idWlsZFBhdGgocG9pbnRzLCByZXF1ZXN0LnJhZGl1cyk7XG5cbiAgICByZXR1cm4geyBwYXRoLCBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aFBvaW50cyhcbiAgICAgIHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCBvZmZzZXQ6IG51bWJlclxuICApOiB7IHBvaW50czogSVBvaW50W10sIGNlbnRlcjogSVBvaW50IH0ge1xuXG4gICAgY29uc3Qgc291cmNlRGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHNvdXJjZVNpZGUgXTtcbiAgICBjb25zdCB0YXJnZXREaXJlY3Rpb24gPSBDT05ORUNUT1JfU0lERV9QT0lOVFsgdGFyZ2V0U2lkZSBdO1xuXG4gICAgY29uc3Qgc291cmNlR2FwOiBJUG9pbnQgPSB7IHg6IHNvdXJjZS54ICsgc291cmNlRGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHNvdXJjZS55ICsgc291cmNlRGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcbiAgICBjb25zdCB0YXJnZXRHYXA6IElQb2ludCA9IHsgeDogdGFyZ2V0LnggKyB0YXJnZXREaXJlY3Rpb24ueCAqIG9mZnNldCwgeTogdGFyZ2V0LnkgKyB0YXJnZXREaXJlY3Rpb24ueSAqIG9mZnNldCB9O1xuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24oc291cmNlR2FwLCBzb3VyY2VTaWRlLCB0YXJnZXRHYXApO1xuICAgIGNvbnN0IGRpcmVjdGlvbkFjY2Vzc29yID0gZGlyZWN0aW9uLnggIT09IDAgPyAneCcgOiAneSc7XG4gICAgY29uc3QgY3VycmVudERpcmVjdGlvbiA9IGRpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXTtcblxuICAgIGxldCBwb2ludHM6IElQb2ludFtdID0gW107XG4gICAgY29uc3Qgc291cmNlR2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCB0YXJnZXRHYXBPZmZzZXQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgY29uc3QgY2VudGVyQmV0d2VlblBvaW50cyA9IG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KHNvdXJjZSwgdGFyZ2V0KVxuICAgICk7XG5cbiAgICBpZiAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICogdGFyZ2V0RGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSAtMSkge1xuICAgICAgY29uc3QgdmVydGljYWxTcGxpdDogSVBvaW50W10gPSBbXG4gICAgICAgIHsgeDogY2VudGVyQmV0d2VlblBvaW50cy54LCB5OiBzb3VyY2VHYXAueSB9LFxuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogdGFyZ2V0R2FwLnkgfSxcbiAgICAgIF07XG4gICAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IHNvdXJjZUdhcC54LCB5OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLnkgfSxcbiAgICAgICAgeyB4OiB0YXJnZXRHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSBjdXJyZW50RGlyZWN0aW9uKSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyB2ZXJ0aWNhbFNwbGl0IDogaG9yaXpvbnRhbFNwbGl0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/IGhvcml6b250YWxTcGxpdCA6IHZlcnRpY2FsU3BsaXQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNvdXJjZVRhcmdldDogSVBvaW50W10gPSBbIHsgeDogc291cmNlR2FwLngsIHk6IHRhcmdldEdhcC55IH0gXTtcbiAgICAgIGNvbnN0IHRhcmdldFNvdXJjZTogSVBvaW50W10gPSBbIHsgeDogdGFyZ2V0R2FwLngsIHk6IHNvdXJjZUdhcC55IH0gXTtcblxuICAgICAgaWYgKGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcpIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnggPT09IGN1cnJlbnREaXJlY3Rpb24gPyB0YXJnZXRTb3VyY2UgOiBzb3VyY2VUYXJnZXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2ludHMgPSBzb3VyY2VEaXJlY3Rpb24ueSA9PT0gY3VycmVudERpcmVjdGlvbiA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgPT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVsgZGlyZWN0aW9uQWNjZXNzb3IgXSAtIHRhcmdldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSk7XG5cbiAgICAgICAgaWYgKGRpZmYgPD0gb2Zmc2V0KSB7XG4gICAgICAgICAgY29uc3QgZ2FwT2Zmc2V0ID0gTWF0aC5taW4ob2Zmc2V0IC0gMSwgb2Zmc2V0IC0gZGlmZik7XG4gICAgICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICAgICAgc291cmNlR2FwT2Zmc2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID0gKHNvdXJjZUdhcFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA+IHNvdXJjZVsgZGlyZWN0aW9uQWNjZXNzb3IgXSA/IC0xIDogMSkgKiBnYXBPZmZzZXQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldEdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9ICh0YXJnZXRHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlU2lkZSAhPT0gdGFyZ2V0U2lkZSkge1xuICAgICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgICAgY29uc3QgaXNTYW1lRGlyID0gc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSB0YXJnZXREaXJlY3Rpb25bIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3Qgc291cmNlR3RUYXJnZXRPcHBvID0gc291cmNlR2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF0gPiB0YXJnZXRHYXBbIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3Qgc291cmNlTHRUYXJnZXRPcHBvID0gc291cmNlR2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF0gPCB0YXJnZXRHYXBbIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3QgZmxpcFNvdXJjZVRhcmdldCA9XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VMdFRhcmdldE9wcG8pKSkgfHxcbiAgICAgICAgICAgIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gIT09IDEgJiZcbiAgICAgICAgICAgICAgICAoKCFpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykpKTtcblxuICAgICAgICBpZiAoZmxpcFNvdXJjZVRhcmdldCkge1xuICAgICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXRoUG9pbnRzID0gW1xuICAgICAgc291cmNlLFxuICAgICAgeyB4OiBzb3VyY2VHYXAueCArIHNvdXJjZUdhcE9mZnNldC54LCB5OiBzb3VyY2VHYXAueSArIHNvdXJjZUdhcE9mZnNldC55IH0sXG4gICAgICAuLi5wb2ludHMsXG4gICAgICB7IHg6IHRhcmdldEdhcC54ICsgdGFyZ2V0R2FwT2Zmc2V0LngsIHk6IHRhcmdldEdhcC55ICsgdGFyZ2V0R2FwT2Zmc2V0LnkgfSxcbiAgICAgIHRhcmdldCxcbiAgICBdO1xuXG4gICAgY29uc3QgY2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QocGF0aFBvaW50cylcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcG9pbnRzOiBwYXRoUG9pbnRzLCBjZW50ZXI6IGNlbnRlciB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXJlY3Rpb24oc291cmNlOiBJUG9pbnQsIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCB0YXJnZXQ6IElQb2ludCk6IElQb2ludCB7XG4gICAgaWYgKHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQgfHwgc291cmNlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQpIHtcbiAgICAgIHJldHVybiBzb3VyY2UueCA8IHRhcmdldC54ID8gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCkgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCk7XG4gICAgfVxuICAgIHJldHVybiBzb3VyY2UueSA8IHRhcmdldC55ID8gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSkgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3RhbmNlKGE6IElQb2ludCwgYjogSVBvaW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KGIueCAtIGEueCwgMikgKyBNYXRoLnBvdyhiLnkgLSBhLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRQYXRoKHBvaW50czogSVBvaW50W10sIGJvcmRlclJhZGl1czogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgcGF0aCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwID0gcG9pbnRzWyBpIF07XG4gICAgICBsZXQgc2VnbWVudCA9ICcnO1xuXG4gICAgICBpZiAoaSA+IDAgJiYgaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmdldEJlbmQocG9pbnRzWyBpIC0gMSBdLCBwLCBwb2ludHNbIGkgKyAxIF0sIGJvcmRlclJhZGl1cyk7XG4gICAgICB9IGVsc2UgaWYgKGkgPT09IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTGFzdExpbmVTZWdtZW50KGksIHApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VnbWVudCA9IHRoaXMuYnVpbGRNb3ZlT3JMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH1cbiAgICAgIHBhdGggKz0gc2VnbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QmVuZChhOiBJUG9pbnQsIGI6IElQb2ludCwgYzogSVBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJlbmRTaXplID0gTWF0aC5taW4odGhpcy5kaXN0YW5jZShhLCBiKSAvIDIsIHRoaXMuZGlzdGFuY2UoYiwgYykgLyAyLCBzaXplKTtcbiAgICBjb25zdCB7IHgsIHkgfSA9IGI7XG5cbiAgICBpZiAoKGEueCA9PT0geCAmJiB4ID09PSBjLngpIHx8IChhLnkgPT09IHkgJiYgeSA9PT0gYy55KSkge1xuICAgICAgcmV0dXJuIGBMJHsgeCB9ICR7IHkgfWA7XG4gICAgfVxuXG4gICAgaWYgKGEueSA9PT0geSkge1xuICAgICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IC0xIDogMTtcbiAgICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAxIDogLTE7XG4gICAgICByZXR1cm4gYEwgJHsgeCArIGJlbmRTaXplICogeERpciB9LCR7IHkgfVEgJHsgeCB9LCR7IHkgfSAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9YDtcbiAgICB9XG5cbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAtMSA6IDE7XG4gICAgcmV0dXJuIGBMICR7IHggfSwkeyB5ICsgYmVuZFNpemUgKiB5RGlyIH1RICR7IHggfSwkeyB5IH0gJHsgeCArIGJlbmRTaXplICogeERpciB9LCR7IHkgfWA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaW5kZXg6IG51bWJlciwgcG9pbnQ6IElQb2ludCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAkeyBpbmRleCA9PT0gMCA/ICdNJyA6ICdMJyB9JHsgcG9pbnQueCB9ICR7IHBvaW50LnkgfWA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFzdExpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgTCR7IHBvaW50LnggKyAwLjAwMDEgfSAkeyBwb2ludC55ICsgMC4wMDAxIH1gO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FPathBuilderBase } from './f-path-builder-base';
|
|
2
|
+
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
3
|
+
export class FStraightPathBuilder extends FPathBuilderBase {
|
|
4
|
+
handle(request) {
|
|
5
|
+
const { source, target } = request;
|
|
6
|
+
const path = `M ${source.x} ${source.y} L ${target.x + 0.0001} ${target.y + 0.0001}`;
|
|
7
|
+
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
|
|
8
|
+
return { path, center };
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFFakQsTUFBTSxDQUFDLE9BQTZCO1FBQ3pDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQU0sTUFBTSxDQUFDLENBQUUsSUFBSyxNQUFNLENBQUMsQ0FBRSxNQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFN0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE1BQU0sQ0FDeEQsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0JztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0IGNsYXNzIEZTdHJhaWdodFBhdGhCdWlsZGVyIGV4dGVuZHMgRlBhdGhCdWlsZGVyQmFzZSB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHRhcmdldCB9ID0gcmVxdWVzdDtcbiAgICBjb25zdCBwYXRoID0gYE0gJHsgc291cmNlLnggfSAkeyBzb3VyY2UueSB9IEwgJHsgdGFyZ2V0LnggKyAwLjAwMDEgfSAkeyB0YXJnZXQueSArIDAuMDAwMSB9YDtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHRhcmdldF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNlbnRlciB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZQYXRoQnVpbGRlclJlcXVlc3Qge1xuXG4gIHR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgc291cmNlOiBJUG9pbnQ7XG5cbiAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgdGFyZ2V0OiBJUG9pbnQ7XG5cbiAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgcmFkaXVzOiBudW1iZXI7XG5cbiAgb2Zmc2V0OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuXG4gIHBhdGg6IHN0cmluZztcblxuICBjZW50ZXI6IElQb2ludDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './calculate-center-between-points';
|
|
2
|
+
export * from './calculate-connection-center';
|
|
3
|
+
export * from './f-bezier.path-builder';
|
|
4
|
+
export * from './f-path-builder-base';
|
|
5
|
+
export * from './f-path-builder-selector';
|
|
6
|
+
export * from './f-segment.path-builder';
|
|
7
|
+
export * from './i-f-path-builder-request';
|
|
8
|
+
export * from './i-f-path-builder-response';
|
|
9
|
+
export * from './f-straight.path-builder';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmV6aWVyLnBhdGgtYnVpbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItc2VsZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXInO1xuIl19
|
|
@@ -2,8 +2,8 @@ import { Directive } from '@angular/core';
|
|
|
2
2
|
import { DomElementExtensions, VectorExtensions } from '@foblex/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { mixinChangeConnectionSelection, mixinChangeConnectionVisibility } from './mixins';
|
|
5
|
-
import { PathConstructor } from './path-constructor';
|
|
6
5
|
import { getFlowUid } from '../../get-flow-uid';
|
|
6
|
+
import { FPathBuilderSelector } from './domain';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
const MIXIN_BASE = mixinChangeConnectionSelection(mixinChangeConnectionVisibility(class {
|
|
9
9
|
constructor(hostElement) {
|
|
@@ -16,6 +16,7 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
16
16
|
this.path = '';
|
|
17
17
|
this.vector = VectorExtensions.initialize();
|
|
18
18
|
this.stateChanges = new Subject();
|
|
19
|
+
this.fPathBuilder = new FPathBuilderSelector();
|
|
19
20
|
}
|
|
20
21
|
initialize() {
|
|
21
22
|
this.fPath.initialize();
|
|
@@ -33,10 +34,18 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
33
34
|
}
|
|
34
35
|
setVector(from, fromSide, to, toSide) {
|
|
35
36
|
this.vector = { point1: from, point2: to };
|
|
36
|
-
const pathResult =
|
|
37
|
+
const pathResult = this.fPathBuilder.handle({
|
|
38
|
+
type: this.fType,
|
|
39
|
+
source: from,
|
|
40
|
+
sourceSide: fromSide,
|
|
41
|
+
target: to,
|
|
42
|
+
targetSide: toSide,
|
|
43
|
+
radius: 8,
|
|
44
|
+
offset: 32
|
|
45
|
+
});
|
|
37
46
|
this.path = pathResult.path;
|
|
38
|
-
|
|
39
|
-
this.
|
|
47
|
+
const transform = `position: absolute; pointerEvents: all; transform: translate(-50%, -50%); left: ${pathResult.center.x}px; top: ${pathResult.center.y}px`;
|
|
48
|
+
this.fConnectionCenter?.nativeElement?.setAttribute('style', transform);
|
|
40
49
|
}
|
|
41
50
|
setMarkers() {
|
|
42
51
|
this.fDefs.nativeElement.innerHTML = '';
|
|
@@ -63,7 +72,7 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
63
72
|
this.fSelection.setPath(this.path);
|
|
64
73
|
this.fGradient.redraw(this.vector);
|
|
65
74
|
this.fDragHandle.redraw(this.vector.point2);
|
|
66
|
-
this.
|
|
75
|
+
this.fTextComponent.redraw(this.vector);
|
|
67
76
|
}
|
|
68
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
69
78
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FConnectionBase, usesInheritance: true, ngImport: i0 }); }
|
|
@@ -71,4 +80,4 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
71
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FConnectionBase, decorators: [{
|
|
72
81
|
type: Directive
|
|
73
82
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBTWxCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRWhELE1BQU0sVUFBVSxHQUFHLDhCQUE4QixDQUM3QywrQkFBK0IsQ0FDM0I7SUFDRSxZQUNXLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRW5DLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQztBQUdaLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxVQUFVO0lBZ0R0RCxZQUFzQixnQkFBeUM7UUFDN0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBL0JqQyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBWSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBNEJsRSxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFB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LFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQTNHbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IFBhdGhDb25zdHJ1Y3RvciB9IGZyb20gJy4vcGF0aC1jb25zdHJ1Y3Rvcic7XG5pbXBvcnQgeyBJSGFzU3RhdGVDaGFuZ2VzIH0gZnJvbSAnLi4vLi4vaS1oYXMtc3RhdGUtY2hhbmdlcyc7XG5pbXBvcnQgeyBFQ29ubmVjdG9yU2lkZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IGdldEZsb3dVaWQgfSBmcm9tICcuLi8uLi9nZXQtZmxvdy11aWQnO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uKFxuICAgIG1peGluQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHkoXG4gICAgICAgIGNsYXNzIHtcbiAgICAgICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgICAgICAgcHVibGljIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICAgICAgICkge1xuICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkJhc2UgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gICAgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIElTZWxlY3RhYmxlLFxuICAgICAgICAgICAgICAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICAgICAgICAgICAgICAgSUhhc1N0YXRlQ2hhbmdlcywgSUhhc0Nvbm5lY3Rpb25Db2xvcixcbiAgICAgICAgICAgICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLCBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpZDogYW55O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0ZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IHN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZW5kQ29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3Qgb3V0cHV0SWQ6IGFueTtcblxuICBwdWJsaWMgYWJzdHJhY3QgaW5wdXRJZDogYW55O1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmVjdG9yOiBJVmVjdG9yID0gVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0eXBlOiBFRkNvbm5lY3Rpb25UeXBlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRGVmczogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZNYXJrZXJzOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGF0aDogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JhZGllbnQ6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnSGFuZGxlOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb246IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTGFiZWw6IEVsZW1lbnRSZWY8U1ZHUmVjdEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXRoID0gJyc7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZWN0b3IoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUNvbm5lY3RvclNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUNvbm5lY3RvclNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLnZlY3RvciA9IHsgcG9pbnQxOiBmcm9tLCBwb2ludDI6IHRvIH07XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IFBhdGhDb25zdHJ1Y3Rvci5oYW5kbGUodGhpcy50eXBlLCBmcm9tLCBmcm9tU2lkZSwgdG8sIHRvU2lkZSk7XG5cbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG4gICAgdGhpcy5mTGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgneCcsIGAkeyBwYXRoUmVzdWx0LmxhYmVsWCB9YCk7XG4gICAgdGhpcy5mTGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgneScsIGAkeyBwYXRoUmVzdWx0LmxhYmVsWSB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICB0aGlzLmZEZWZzLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSBEb21FbGVtZW50RXh0ZW5zaW9ucy5jcmVhdGVTdmdFbGVtZW50KCdtYXJrZXInKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIGdldEZsb3dVaWQoKSArICctJyArIG1hcmtlci50eXBlICsgJy0nICsgdGhpcy5pZCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VySGVpZ2h0JywgYCR7IG1hcmtlci5oZWlnaHQgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlcldpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnb3JpZW50JywgJ2F1dG8nKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZYJywgYCR7IG1hcmtlci5yZWZYIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZZJywgYCR7IG1hcmtlci5yZWZZIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJVbml0cycsICdzdHJva2VXaWR0aCcpO1xuXG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyBtYXJrZXIud2lkdGggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5hcHBlbmQobWFya2VyLmhvc3RFbGVtZW50LmNsb25lTm9kZSh0cnVlKSk7XG5cbiAgICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5hcHBlbmQobWFya2VyRWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aC5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGUucmVkcmF3KHRoaXMudmVjdG9yLnBvaW50Mik7XG4gICAgdGhpcy5mVGV4dC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICB9XG59XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBUWxCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsRSxNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FDN0MsK0JBQStCLENBQzNCO0lBQ0UsWUFDVyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUVuQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFHWixNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQWtEdEQsWUFBc0IsZ0JBQXlDO1FBQzdELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQW5DakMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixXQUFNLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTRCM0QsaUJBQVksR0FBcUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBSW5FLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FB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QyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXpIbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi8uLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlLCBGUGF0aEJ1aWxkZXJTZWxlY3RvciB9IGZyb20gJy4vZG9tYWluJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbihcbiAgICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5KFxuICAgICAgICBjbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICAgICApIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlIGV4dGVuZHMgTUlYSU5fQkFTRVxuICAgIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBJU2VsZWN0YWJsZSxcbiAgICAgICAgICAgICAgIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICAgIElIYXNTdGF0ZUNoYW5nZXMsIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgICAgICAgICAgICBJSGFzQ29ubmVjdGlvbkZyb21UbywgSUhhc0Nvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkVuZENvbG9yOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmVjdG9yOiBJVmVjdG9yID0gVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEZWZzOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk1hcmtlcnM6IFF1ZXJ5TGlzdDxGTWFya2VyQmFzZT47XG5cbiAgcHVibGljIGFic3RyYWN0IGZQYXRoOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcmFkaWVudDogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdIYW5kbGU6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbjogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0Q29tcG9uZW50OiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uQ2VudGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwdWJsaWMgZlBhdGhCdWlsZGVyOiBGUGF0aEJ1aWxkZXJCYXNlID0gbmV3IEZQYXRoQnVpbGRlclNlbGVjdG9yKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGguaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMuZkdyYWRpZW50LmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhdGggPSAnJztcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkPy5sYXN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFZlY3Rvcihmcm9tOiBJUG9pbnQsIGZyb21TaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdG86IElQb2ludCwgdG9TaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIHRoaXMudmVjdG9yID0geyBwb2ludDE6IGZyb20sIHBvaW50MjogdG8gfTtcbiAgICBjb25zdCBwYXRoUmVzdWx0ID0gdGhpcy5mUGF0aEJ1aWxkZXIuaGFuZGxlKFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgICAgICBzb3VyY2U6IGZyb20sXG4gICAgICAgICAgc291cmNlU2lkZTogZnJvbVNpZGUsXG4gICAgICAgICAgdGFyZ2V0OiB0byxcbiAgICAgICAgICB0YXJnZXRTaWRlOiB0b1NpZGUsXG4gICAgICAgICAgcmFkaXVzOiA4LFxuICAgICAgICAgIG9mZnNldDogMzJcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm0gPSBgcG9zaXRpb246IGFic29sdXRlOyBwb2ludGVyRXZlbnRzOiBhbGw7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBsZWZ0OiAkeyBwYXRoUmVzdWx0LmNlbnRlci54IH1weDsgdG9wOiAkeyBwYXRoUmVzdWx0LmNlbnRlci55IH1weGA7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uQ2VudGVyPy5uYXRpdmVFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IERvbUVsZW1lbnRFeHRlbnNpb25zLmNyZWF0ZVN2Z0VsZW1lbnQoJ21hcmtlcicpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgZ2V0Rmxvd1VpZCgpICsgJy0nICsgbWFya2VyLnR5cGUgKyAnLScgKyB0aGlzLmlkKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJIZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyV2lkdGgnLCBgJHsgbWFya2VyLndpZHRoIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcmllbnQnLCAnYXV0bycpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlgnLCBgJHsgbWFya2VyLnJlZlggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlknLCBgJHsgbWFya2VyLnJlZlkgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlclVuaXRzJywgJ3N0cm9rZVdpZHRoJyk7XG5cbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyBtYXJrZXIuaGVpZ2h0IH1gKTtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LmFwcGVuZChtYXJrZXIuaG9zdEVsZW1lbnQuY2xvbmVOb2RlKHRydWUpKTtcblxuICAgICAgdGhpcy5mRGVmcy5uYXRpdmVFbGVtZW50LmFwcGVuZChtYXJrZXJFbGVtZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24uc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZS5yZWRyYXcodGhpcy52ZWN0b3IucG9pbnQyKTtcbiAgICB0aGlzLmZUZXh0Q29tcG9uZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { F_CONNECTION } from '../f-connection.injection-token';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class FConnectionTextPathDirective {
|
|
6
6
|
get linkToConnection() {
|
|
7
|
-
return F_CONNECTION_IDENTIFIERS.linkToConnection(this.base.
|
|
7
|
+
return F_CONNECTION_IDENTIFIERS.linkToConnection(this.base.fOutputId + this.base.fInputId);
|
|
8
8
|
}
|
|
9
9
|
get hostElement() {
|
|
10
10
|
return this.elementReference.nativeElement;
|
|
@@ -18,7 +18,7 @@ export class FConnectionTextPathDirective {
|
|
|
18
18
|
ngOnInit() {
|
|
19
19
|
this.hostElement.setAttribute('startOffset', '50%');
|
|
20
20
|
this.hostElement.setAttribute('text-anchor', `middle`);
|
|
21
|
-
this.symbolWidth = this.getSymbolWidth(this.base.
|
|
21
|
+
this.symbolWidth = this.getSymbolWidth(this.base.fText || '');
|
|
22
22
|
}
|
|
23
23
|
getBBox() {
|
|
24
24
|
return this.hostElement.getBBox();
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
59
59
|
type: Inject,
|
|
60
60
|
args: [F_CONNECTION]
|
|
61
61
|
}] }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVUvRCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sd0JBQXdCLENBQUMsZ0JBQWdCLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUtELFlBQ1ksZ0JBQWdELEVBQzFCLElBQStDO1FBRHJFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBMkM7UUFMMUUsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFXLE1BQU0sQ0FBQztJQU1qQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBMkI7UUFDL0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDakMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQztRQUNsQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFJLFFBQVMsSUFBSyxVQUFXLEVBQUUsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQXZEVSw0QkFBNEIsNENBaUIzQixZQUFZO2tHQWpCYiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxrQkFBa0I7cUJBQ2xDO2lCQUNGOzswQkFrQk0sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9JREVOVElGSUVSUyB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1pZGVudGlmaWVycyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRQYXRoW2YtY29ubmVjdGlvbi10ZXh0LXBhdGhdJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5ocmVmXSc6ICdsaW5rVG9Db25uZWN0aW9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIE9uSW5pdCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9Db25uZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9Db25uZWN0aW9uKFxuICAgICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHVGV4dFBhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sV2lkdGg6IG51bWJlciA9IDg7XG4gIHB1YmxpYyBmb250U2l6ZTogc3RyaW5nID0gJzEycHgnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1RleHRQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvblRleHQgJiBJSGFzQ29ubmVjdGlvbkZyb21UbyxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0YXJ0T2Zmc2V0JywgJzUwJScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXh0LWFuY2hvcicsIGBtaWRkbGVgKTtcbiAgICB0aGlzLnN5bWJvbFdpZHRoID0gdGhpcy5nZXRTeW1ib2xXaWR0aCh0aGlzLmJhc2UuZlRleHQgfHwgJycpO1xuICB9XG5cbiAgcHVibGljIGdldEJCb3goKTogRE9NUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuZ2V0QkJveCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb250U3R5bGVzKGVsZW1lbnQ6IFNWR1RleHRQYXRoRWxlbWVudCk6IHsgZm9udFNpemU6IHN0cmluZywgZm9udEZhbWlseTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnRTaXplOiBjb21wdXRlZFN0eWxlcy5mb250U2l6ZSxcbiAgICAgIGZvbnRGYW1pbHk6IGNvbXB1dGVkU3R5bGVzLmZvbnRGYW1pbHlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xXaWR0aChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBuYW1lIHx8ICdjb25uZWN0aW9uJztcbiAgICBjb25zdCB7IGZvbnRGYW1pbHksIGZvbnRTaXplIH0gPSB0aGlzLmdldEZvbnRTdHlsZXModGhpcy5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mb250U2l6ZSA9IGZvbnRTaXplO1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW52YXMgY29udGV4dCBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuXG4gICAgY29udGV4dC5mb250ID0gYCR7IGZvbnRTaXplIH0gJHsgZm9udEZhbWlseSB9YDtcblxuICAgIGNvbnN0IG1ldHJpY3MgPSBjb250ZXh0Lm1lYXN1cmVUZXh0KHRleHQpO1xuICAgIGNvbnN0IHN5bWJvbFdpZHRoID0gbWV0cmljcy53aWR0aCAvIHRleHQubGVuZ3RoO1xuICAgIHJldHVybiBzeW1ib2xXaWR0aDtcbiAgfVxufVxuIl19
|
|
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
import * as i1 from "./f-connection-text-path.directive";
|
|
9
9
|
export class FConnectionTextComponent {
|
|
10
10
|
get textId() {
|
|
11
|
-
return F_CONNECTION_IDENTIFIERS.textId(this.base.
|
|
11
|
+
return F_CONNECTION_IDENTIFIERS.textId(this.base.fOutputId + this.base.fInputId);
|
|
12
12
|
}
|
|
13
13
|
get hostElement() {
|
|
14
14
|
return this.elementReference.nativeElement;
|
|
15
15
|
}
|
|
16
16
|
get text() {
|
|
17
|
-
return this.base.
|
|
17
|
+
return this.base.fText || '';
|
|
18
18
|
}
|
|
19
19
|
constructor(elementReference, base) {
|
|
20
20
|
this.elementReference = elementReference;
|
|
@@ -27,7 +27,7 @@ export class FConnectionTextComponent {
|
|
|
27
27
|
const textRect = this.textPathDirective.getBBox();
|
|
28
28
|
const textRectCenter = [textRect.x + textRect.width / 2, textRect.y + textRect.height / 2];
|
|
29
29
|
this.hostElement.setAttribute('transform', isTextReverse ? `rotate(180, ${textRectCenter})` : '');
|
|
30
|
-
const startOffset = FConnectionTextComponent.getTextStartOffset(vector, this.base.
|
|
30
|
+
const startOffset = FConnectionTextComponent.getTextStartOffset(vector, this.base.fText || '', this.textPathDirective.symbolWidth);
|
|
31
31
|
if (startOffset < 0) {
|
|
32
32
|
this.hostElement.style.display = 'none';
|
|
33
33
|
}
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
63
63
|
type: ViewChild,
|
|
64
64
|
args: [FConnectionTextPathDirective, { static: true }]
|
|
65
65
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi10ZXh0L2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWNvbm5lY3Rpb24tdGV4dC9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBYyxNQUFNLEVBQUUsU0FBUyxFQUN6QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVcsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDOzs7QUFZdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxJQUFXLE1BQU07UUFDZixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7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QUFFLGVBQWUsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUU7OzBCQXVCN0UsTUFBTTsyQkFBQyxZQUFZO3lDQUpqQixpQkFBaUI7c0JBRHZCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElWZWN0b3IsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tdGV4dC1wYXRoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9URVhULCBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2ktY29ubmVjdGlvbi10ZXh0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInRleHRbZi1jb25uZWN0aW9uLXRleHRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50Lmh0bWxcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24tdGV4dFwiLFxuICAgICdbYXR0ci5pZF0nOiAndGV4dElkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9URVhULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgZ2V0IHRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMudGV4dElkKFxuICAgICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHVGV4dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJhc2UuZlRleHQgfHwgJyc7XG4gIH1cblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyB0ZXh0UGF0aERpcmVjdGl2ZSE6IEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHVGV4dEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX0NPTk5FQ1RJT04pIHByaXZhdGUgYmFzZTogSUhhc0Nvbm5lY3Rpb25UZXh0ICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIHJlZHJhdyh2ZWN0b3I6IElWZWN0b3IpOiB2b2lkIHtcblxuICAgIGNvbnN0IGlzVGV4dFJldmVyc2U6IGJvb2xlYW4gPSBGQ29ubmVjdGlvblRleHRDb21wb25lbnQuaXNUZXh0UmV2ZXJzZSh2ZWN0b3IpO1xuICAgIGNvbnN0IGR5VmFsdWUgPSB0aGlzLmNhbGN1bGF0ZUR5KHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZm9udFNpemUsIGlzVGV4dFJldmVyc2UpO1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2R5JywgZHlWYWx1ZSk7XG5cbiAgICBjb25zdCB0ZXh0UmVjdCA9IHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZ2V0QkJveCgpO1xuICAgIGNvbnN0IHRleHRSZWN0Q2VudGVyID0gWyB0ZXh0UmVjdC54ICsgdGV4dFJlY3Qud2lkdGggLyAyLCB0ZXh0UmVjdC55ICsgdGV4dFJlY3QuaGVpZ2h0IC8gMiBdO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCBpc1RleHRSZXZlcnNlID8gYHJvdGF0ZSgxODAsICR7IHRleHRSZWN0Q2VudGVyIH0pYCA6ICcnKTtcbiAgICBjb25zdCBzdGFydE9mZnNldCA9IEZDb25uZWN0aW9uVGV4dENvbXBvbmVudC5nZXRUZXh0U3RhcnRPZmZzZXQodmVjdG9yLCB0aGlzLmJhc2UuZlRleHQgfHwgJycsIHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuc3ltYm9sV2lkdGgpO1xuICAgIGlmIChzdGFydE9mZnNldCA8IDApIHtcblxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICd1bnNldCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEeShmb250U2l6ZTogc3RyaW5nLCBpc1RleHRSZXZlcnNlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb250U2l6ZU51bWJlciA9IHBhcnNlRmxvYXQoZm9udFNpemUpO1xuXG4gICAgY29uc3QgZHlWYWx1ZSA9IGlzVGV4dFJldmVyc2UgPyBmb250U2l6ZU51bWJlciAqIDEuNSA6IGZvbnRTaXplTnVtYmVyICogLTAuODtcblxuICAgIHJldHVybiBkeVZhbHVlLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc1RleHRSZXZlcnNlKHZlY3RvcjogSVZlY3Rvcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2ZWN0b3IucG9pbnQxLnggPiB2ZWN0b3IucG9pbnQyLng7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUZXh0U3RhcnRPZmZzZXQodmVjdG9yOiBJVmVjdG9yLCBuYW1lOiBzdHJpbmcsIHN5bWJvbFdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHZlY3Rvckxlbmd0aDogbnVtYmVyID0gUG9pbnRFeHRlbnNpb25zLmh5cG90ZW51c2UodmVjdG9yLnBvaW50MSwgdmVjdG9yLnBvaW50Mik7XG4gICAgcmV0dXJuIHZlY3Rvckxlbmd0aCAvIDIgLSAoKG5hbWUgfHwgJycpLmxlbmd0aCAqIHN5bWJvbFdpZHRoKSAvIDI7XG4gIH1cbn1cblxuIiwiPG5nLWNvbnRhaW5lciB4bWxuczpzdmc9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxzdmc6dGV4dFBhdGggZi1jb25uZWN0aW9uLXRleHQtcGF0aD5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvc3ZnOnRleHRQYXRoPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { CONNECTION_GRADIENT } from './i-connection-gradient';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class FConnectionGradientComponent {
|
|
8
8
|
get gradientId() {
|
|
9
|
-
return F_CONNECTION_IDENTIFIERS.gradientId(this.base.
|
|
9
|
+
return F_CONNECTION_IDENTIFIERS.gradientId(this.base.fOutputId + this.base.fInputId);
|
|
10
10
|
}
|
|
11
11
|
get hostElement() {
|
|
12
12
|
return this.elementReference.nativeElement;
|
|
@@ -26,8 +26,8 @@ export class FConnectionGradientComponent {
|
|
|
26
26
|
this.stop2Element.setAttribute('offset', '100%');
|
|
27
27
|
}
|
|
28
28
|
updateGradient() {
|
|
29
|
-
this.setFromColor(this.base.
|
|
30
|
-
this.setToColor(this.base.
|
|
29
|
+
this.setFromColor(this.base.fStartColor);
|
|
30
|
+
this.setToColor(this.base.fEndColor);
|
|
31
31
|
}
|
|
32
32
|
setFromColor(color) {
|
|
33
33
|
this.stop1Element.setAttribute('stop-color', color || 'transparent');
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
60
60
|
type: Inject,
|
|
61
61
|
args: [F_CONNECTION]
|
|
62
62
|
}] }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1ncmFkaWVudC9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFXLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLHlCQUF5QixDQUFDOztBQVluRixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsVUFBVTtRQUNuQixPQUFPLHdCQUF3QixDQUFDLFVBQVUsQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsQ0FBQztJQUNoRixDQUFDO0lBRUQsWUFDVSxnQkFBc0QsRUFDaEMsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQztRQUNoQyxTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVoRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQXlCO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUksYUFBYSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUF5QjtRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBZTtRQUMzQixNQUFNLENBQUMsR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUUxRCxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFdkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQTFEVSw0QkFBNEIsNENBc0I3QixZQUFZO2tHQXRCWCw0QkFBNEIsc0tBRjVCLENBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUUsMEJDaEI1Riw4R0FJQTs7MkZEY2EsNEJBQTRCO2tCQVZ4QyxTQUFTOytCQUNFLHFDQUFxQyxtQkFFOUIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsbUNBQW1DO3dCQUMxQyxXQUFXLEVBQUUsWUFBWTtxQkFDMUIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBRTs7MEJBd0J2RixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVZlY3RvciwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9HUkFESUVOVCwgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLWdyYWRpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpbmVhckdyYWRpZW50W2ZDb25uZWN0aW9uR3JhZGllbnRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5odG1sXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLWdyYWRpZW50XCIsXG4gICAgJ1thdHRyLmlkXSc6ICdncmFkaWVudElkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDT05ORUNUSU9OX0dSQURJRU5ULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25HcmFkaWVudENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQgaW1wbGVtZW50cyBJQ29ubmVjdGlvbkdyYWRpZW50IHtcblxuICBwdWJsaWMgZ2V0IGdyYWRpZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmdyYWRpZW50SWQoXG4gICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AxRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AyRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMSkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PixcbiAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wMUVsZW1lbnQuc2V0QXR0cmlidXRlKCdvZmZzZXQnLCAnMCUnKTtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ29mZnNldCcsICcxMDAlJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdyYWRpZW50KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RnJvbUNvbG9yKHRoaXMuYmFzZS5mU3RhcnRDb2xvcik7XG4gICAgdGhpcy5zZXRUb0NvbG9yKHRoaXMuYmFzZS5mRW5kQ29sb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGcm9tQ29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDFFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3RvcC1jb2xvcicsIGNvbG9yIHx8ICd0cmFuc3BhcmVudCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb0NvbG9yKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0b3AtY29sb3InLCBjb2xvciB8fCAndHJhbnNwYXJlbnQnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcodmVjdG9yOiBJVmVjdG9yKTogdm9pZCB7XG4gICAgY29uc3QgeDogbnVtYmVyID0gdmVjdG9yLnBvaW50Mi54IC0gdmVjdG9yLnBvaW50MS54O1xuICAgIGNvbnN0IHk6IG51bWJlciA9IHZlY3Rvci5wb2ludDIueSAtIHZlY3Rvci5wb2ludDEueTtcbiAgICBjb25zdCBkaXN0YW5jZTogbnVtYmVyID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkpIHx8IDAuMDE7XG5cbiAgICBjb25zdCBmcm9tID0gbmV3IFBvaW50KDAuNSAtICgwLjUgKiB4KSAvIGRpc3RhbmNlLCAwLjUgLSAoMC41ICogeSkgLyBkaXN0YW5jZSk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDEnLCBmcm9tLngudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3kxJywgZnJvbS55LnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgdG8gPSBuZXcgUG9pbnQoMC41ICsgKDAuNSAqIHgpIC8gZGlzdGFuY2UsIDAuNSArICgwLjUgKiB5KSAvIGRpc3RhbmNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDInLCB0by54LnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd5MicsIHRvLnkudG9TdHJpbmcoKSk7XG4gICAgdGhpcy51cGRhdGVHcmFkaWVudCgpO1xuICB9XG59XG5cbiIsIjxuZy1jb250YWluZXIgeG1sbnM6c3ZnPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8c3ZnOnN0b3AvPlxuICAgIDxzdmc6c3RvcC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -4,14 +4,14 @@ import { F_CONNECTION } from '../f-connection.injection-token';
|
|
|
4
4
|
import { CONNECTION_PATH } from './i-connection-path';
|
|
5
5
|
import { sanitizeElementId } from '@foblex/core';
|
|
6
6
|
import { getFlowUid } from '../../../get-flow-uid';
|
|
7
|
-
import { EFMarkerType } from '../../f-marker
|
|
7
|
+
import { EFMarkerType } from '../../f-marker';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class FConnectionPathComponent {
|
|
10
10
|
get linkToGradient() {
|
|
11
|
-
return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.
|
|
11
|
+
return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.fOutputId + this.base.fInputId);
|
|
12
12
|
}
|
|
13
13
|
get attrConnectionId() {
|
|
14
|
-
return F_CONNECTION_IDENTIFIERS.connectionId(this.base.
|
|
14
|
+
return F_CONNECTION_IDENTIFIERS.connectionId(this.base.fOutputId + this.base.fInputId);
|
|
15
15
|
}
|
|
16
16
|
get hostElement() {
|
|
17
17
|
return this.elementReference.nativeElement;
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
60
60
|
type: Inject,
|
|
61
61
|
args: [F_CONNECTION]
|
|
62
62
|
}] }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVsRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYXRoW2YtY29ubmVjdGlvbi1wYXRoXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLXBhdGhcIixcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9QQVRILCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25QYXRoIHtcblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgICAgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJDb25uZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmNvbm5lY3Rpb25JZChcbiAgICAgICAgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9FTkQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNUQVJUKSB9KWApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuRU5EKSB9KWApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJJZCh0eXBlOiBFRk1hcmtlclR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChgJHsgZ2V0Rmxvd1VpZCgpIH0tJHsgdHlwZSB9LSR7IHRoaXMuYmFzZS5pZCB9YCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcpID09PSBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgXG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { F_CONNECTION } from '../f-connection.injection-token';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class FConnectionSelectionComponent {
|
|
6
6
|
get connectionForSelectionId() {
|
|
7
|
-
return F_CONNECTION_IDENTIFIERS.connectionForSelectionId(this.base.
|
|
7
|
+
return F_CONNECTION_IDENTIFIERS.connectionForSelectionId(this.base.fOutputId + this.base.fInputId);
|
|
8
8
|
}
|
|
9
9
|
get hostElement() {
|
|
10
10
|
return this.elementReference.nativeElement;
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
34
34
|
type: Inject,
|
|
35
35
|
args: [F_CONNECTION]
|
|
36
36
|
}] }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1zZWxlY3Rpb24vZi1jb25uZWN0aW9uLXNlbGVjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsTUFBTSxFQUM5QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBVy9ELE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBMEI7UUFEaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFzQjtJQUU1RCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQXBCVSw2QkFBNkIsNENBYzVCLFlBQVk7a0dBZGIsNkJBQTZCLHlMQVA5QixFQUFFOzsyRkFPRCw2QkFBNkI7a0JBVHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsb0NBQW9DO3dCQUMzQyxXQUFXLEVBQUUsMEJBQTBCO3FCQUN4QztpQkFDRjs7MEJBZU0sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicGF0aFtmQ29ubmVjdGlvblNlbGVjdGlvbl1cIixcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbi1zZWxlY3Rpb25cIixcbiAgICAnW2F0dHIuaWRdJzogJ2Nvbm5lY3Rpb25Gb3JTZWxlY3Rpb25JZCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgZ2V0IGNvbm5lY3Rpb25Gb3JTZWxlY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbkZvclNlbGVjdGlvbklkKFxuICAgICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHUGF0aEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1BhdGhFbGVtZW50PixcbiAgICAgIEBJbmplY3QoRl9DT05ORUNUSU9OKSBwcml2YXRlIGJhc2U6IElIYXNDb25uZWN0aW9uRnJvbVRvLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYXRoKHBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZFwiLCBgJHsgcGF0aCB9YCk7XG4gIH1cbn1cblxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1oYXMtY29ubmVjdGlvbi1jb2xvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElIYXNDb25uZWN0aW9uQ29sb3Ige1xuXG4gIGZTdGFydENvbG9yOiBzdHJpbmc7XG5cbiAgZkVuZENvbG9yOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJSGFzQ29ubmVjdGlvbkZyb21UbyB7XG5cbiAgaWQ6IHN0cmluZztcblxuICBmT3V0cHV0SWQ6IHN0cmluZztcblxuICBmSW5wdXRJZDogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1oYXMtY29ubmVjdGlvbi10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2ktaGFzLWNvbm5lY3Rpb24tdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIGZUZXh0OiBzdHJpbmc7XG59XG4iXX0=
|