@foblex/flow 1.2.1 → 1.2.3
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/common-behaviours/change-position.d.ts +2 -1
- package/common-behaviours/change-zoom/change-zoom.d.ts +1 -1
- package/common-behaviours/fit-to-parent/fit-to-parent.d.ts +1 -1
- package/common-behaviours/i-transformable.d.ts +4 -0
- package/common-behaviours/index.d.ts +1 -0
- package/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +1 -1
- package/components/f-flow/f-backgroud/domain/i-f-background-pattern.d.ts +6 -0
- package/components/f-flow/f-backgroud/domain/index.d.ts +1 -0
- package/components/f-flow/f-backgroud/domain/public-api.d.ts +1 -0
- package/{internal → components/f-flow}/f-backgroud/f-background-base.d.ts +4 -8
- package/components/f-flow/f-backgroud/f-background.component.d.ts +20 -0
- package/components/f-flow/f-backgroud/f-cell-pattern/f-cell-pattern.component.d.ts +31 -0
- package/components/f-flow/f-backgroud/f-cell-pattern/index.d.ts +1 -0
- package/components/f-flow/f-backgroud/f-cell-pattern/public-api.d.ts +1 -0
- package/components/f-flow/f-backgroud/index.d.ts +4 -0
- package/components/f-flow/f-backgroud/public-api.d.ts +3 -0
- package/{directives/f-containers/f-items-container/canvas-change.event.d.ts → components/f-flow/f-canvas/domain/f-canvas-change.event.d.ts} +1 -1
- package/components/f-flow/f-canvas/domain/index.d.ts +1 -0
- package/components/f-flow/f-canvas/domain/public-api.d.ts +1 -0
- package/{directives/f-containers/f-items-container/f-items-container-base.d.ts → components/f-flow/f-canvas/f-canvas-base.d.ts} +13 -12
- package/components/f-flow/f-canvas/f-canvas.component.d.ts +28 -0
- package/components/f-flow/f-canvas/f-zoom/f-zoom-base.d.ts +26 -0
- package/components/f-flow/f-canvas/f-zoom/f-zoom.directive.d.ts +17 -0
- package/components/f-flow/f-canvas/index.d.ts +4 -0
- package/components/f-flow/f-canvas/public-api.d.ts +3 -0
- package/components/f-flow/f-definitions/domain/i-connection-marker.d.ts +5 -0
- package/components/f-flow/f-definitions/f-definitions-base.d.ts +10 -0
- package/components/f-flow/f-definitions/f-definitions.component.d.ts +20 -0
- package/components/f-flow/f-definitions/f-markers/f-connection-marker-end-selected.directive.d.ts +13 -0
- package/components/f-flow/f-definitions/f-markers/f-connection-marker-end.directive.d.ts +14 -0
- package/components/f-flow/f-definitions/f-markers/f-connection-marker-start-selected.directive.d.ts +13 -0
- package/components/f-flow/f-definitions/f-markers/f-connection-marker-start.directive.d.ts +14 -0
- package/components/f-flow/f-definitions/f-markers/index.d.ts +4 -0
- package/components/f-flow/f-definitions/f-markers/public-api.d.ts +4 -0
- package/components/f-flow/f-definitions/index.d.ts +3 -0
- package/components/f-flow/f-definitions/public-api.d.ts +2 -0
- package/components/f-flow/f-flow-base.d.ts +5 -35
- package/components/f-flow/f-flow.component.d.ts +22 -32
- package/components/f-flow/f-parent.injection-token.d.ts +5 -0
- package/components/f-flow/index.d.ts +4 -0
- package/components/f-flow/public-api.d.ts +3 -0
- package/components/index.d.ts +0 -3
- package/components/public-api.d.ts +0 -3
- package/domain/errors.d.ts +3 -0
- package/domain/get-all-nodes-rect.handler.d.ts +10 -0
- package/domain/get-connection-vector/get-connection-vector.handler.d.ts +12 -0
- package/domain/get-connection-vector/get-connection-vector.request.d.ts +11 -0
- package/domain/get-connection-vector/index.d.ts +2 -0
- package/domain/get-connection.handler.d.ts +12 -0
- package/domain/get-connector-side-in-node/e-connector-side.d.ts +6 -0
- package/domain/get-connector-side-in-node/get-connector-side-in-node.handler.d.ts +5 -0
- package/domain/get-connector-side-in-node/index.d.ts +2 -0
- package/domain/get-element-rect-in-flow.handler.d.ts +12 -0
- package/domain/get-incoming-connections.handler.d.ts +13 -0
- package/domain/get-input-rect-in-flow.handler.d.ts +19 -0
- package/domain/get-outgoing-connections.handler.d.ts +13 -0
- package/domain/get-output-rect-in-flow.handler.d.ts +19 -0
- package/domain/index.d.ts +12 -0
- package/domain/providers.d.ts +10 -0
- package/domain/update-node-layer.handler.d.ts +12 -0
- package/esm2022/common-behaviours/change-position.mjs +1 -1
- package/esm2022/common-behaviours/change-zoom/change-zoom.mjs +1 -1
- package/esm2022/common-behaviours/fit-to-parent/fit-to-parent.mjs +1 -1
- package/esm2022/common-behaviours/i-transformable.mjs +2 -0
- package/esm2022/common-behaviours/index.mjs +2 -1
- package/esm2022/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +1 -1
- package/esm2022/components/f-flow/f-backgroud/domain/i-f-background-pattern.mjs +3 -0
- package/esm2022/components/f-flow/f-backgroud/domain/index.mjs +2 -0
- package/esm2022/components/f-flow/f-backgroud/domain/public-api.mjs +2 -0
- package/esm2022/components/f-flow/f-backgroud/f-background-base.mjs +11 -0
- package/esm2022/components/f-flow/f-backgroud/f-background.component.mjs +60 -0
- package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/f-cell-pattern.component.mjs +90 -0
- package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/index.mjs +2 -0
- package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/public-api.mjs +2 -0
- package/esm2022/components/f-flow/f-backgroud/index.mjs +5 -0
- package/esm2022/components/f-flow/f-backgroud/public-api.mjs +4 -0
- package/esm2022/components/f-flow/f-canvas/domain/f-canvas-change.event.mjs +7 -0
- package/esm2022/components/f-flow/f-canvas/domain/index.mjs +2 -0
- package/esm2022/components/f-flow/f-canvas/domain/public-api.mjs +2 -0
- package/esm2022/components/f-flow/f-canvas/f-canvas-base.mjs +26 -0
- package/esm2022/components/f-flow/f-canvas/f-canvas.component.mjs +91 -0
- package/esm2022/components/f-flow/f-canvas/f-zoom/f-zoom-base.mjs +94 -0
- package/esm2022/components/f-flow/f-canvas/f-zoom/f-zoom.directive.mjs +59 -0
- package/esm2022/components/f-flow/f-canvas/f-zoom/index.mjs +3 -0
- package/esm2022/components/f-flow/f-canvas/f-zoom/public-api.mjs +2 -0
- package/esm2022/components/f-flow/f-canvas/index.mjs +5 -0
- package/esm2022/components/f-flow/f-canvas/public-api.mjs +4 -0
- package/esm2022/components/f-flow/f-definitions/domain/i-connection-marker.mjs +3 -0
- package/esm2022/components/f-flow/f-definitions/f-definitions-base.mjs +11 -0
- package/esm2022/components/f-flow/f-definitions/f-definitions.component.mjs +73 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/f-connection-marker-end-selected.directive.mjs +36 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/f-connection-marker-end.directive.mjs +39 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/f-connection-marker-start-selected.directive.mjs +36 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/f-connection-marker-start.directive.mjs +39 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/index.mjs +5 -0
- package/esm2022/components/f-flow/f-definitions/f-markers/public-api.mjs +5 -0
- package/esm2022/components/f-flow/f-definitions/index.mjs +4 -0
- package/esm2022/components/f-flow/f-definitions/public-api.mjs +3 -0
- package/esm2022/components/f-flow/f-flow-base.mjs +4 -72
- package/esm2022/components/f-flow/f-flow.component.mjs +98 -80
- package/esm2022/components/f-flow/f-parent.injection-token.mjs +3 -0
- package/esm2022/components/f-flow/index.mjs +5 -1
- package/esm2022/components/f-flow/public-api.mjs +4 -1
- package/esm2022/components/index.mjs +1 -4
- package/esm2022/components/public-api.mjs +1 -4
- package/esm2022/domain/errors.mjs +10 -0
- package/esm2022/domain/get-all-nodes-rect.handler.mjs +23 -0
- package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +72 -0
- package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +10 -0
- package/esm2022/domain/get-connection-vector/index.mjs +3 -0
- package/esm2022/domain/get-connection.handler.mjs +21 -0
- package/esm2022/domain/get-connector-side-in-node/e-connector-side.mjs +8 -0
- package/esm2022/domain/get-connector-side-in-node/get-connector-side-in-node.handler.mjs +26 -0
- package/esm2022/domain/get-connector-side-in-node/index.mjs +3 -0
- package/esm2022/domain/get-element-rect-in-flow.handler.mjs +28 -0
- package/esm2022/domain/get-incoming-connections.handler.mjs +23 -0
- package/esm2022/domain/get-input-rect-in-flow.handler.mjs +25 -0
- package/esm2022/domain/get-outgoing-connections.handler.mjs +23 -0
- package/esm2022/domain/get-output-rect-in-flow.handler.mjs +25 -0
- package/esm2022/domain/index.mjs +13 -0
- package/esm2022/domain/providers.mjs +21 -0
- package/esm2022/domain/update-node-layer.handler.mjs +29 -0
- package/esm2022/f-components-store.mjs +68 -0
- package/esm2022/f-connection/common/cast-to-connection-behavior.mjs +9 -0
- package/esm2022/f-connection/common/cast-to-connection-type.mjs +9 -0
- package/esm2022/f-connection/common/e-connection-behavior.mjs +6 -0
- package/esm2022/f-connection/common/e-connection-type.mjs +7 -0
- package/esm2022/f-connection/common/f-connection-base.mjs +57 -0
- package/esm2022/f-connection/common/f-connection-identifiers.mjs +22 -0
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +62 -0
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +66 -0
- package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +3 -0
- package/esm2022/f-connection/common/f-connection-text/index.mjs +4 -0
- package/esm2022/f-connection/common/f-connection.injection-token.mjs +3 -0
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +30 -0
- package/esm2022/f-connection/common/f-drag-handle/index.mjs +2 -0
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +63 -0
- package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +3 -0
- package/esm2022/f-connection/common/f-gradient/index.mjs +3 -0
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +59 -0
- package/esm2022/f-connection/common/f-path/i-connection-path.mjs +3 -0
- package/esm2022/f-connection/common/f-path/index.mjs +3 -0
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +37 -0
- package/esm2022/f-connection/common/f-selection/index.mjs +2 -0
- package/esm2022/f-connection/common/i-has-connection-color.mjs +2 -0
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +2 -0
- package/esm2022/f-connection/common/i-has-connection-text.mjs +2 -0
- package/esm2022/f-connection/common/index.mjs +17 -0
- package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +20 -0
- package/esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs +14 -0
- package/esm2022/f-connection/common/mixins/index.mjs +3 -0
- package/esm2022/f-connection/common/path-constructor/bezier-path.mjs +7 -0
- package/esm2022/f-connection/common/path-constructor/i-path-constructor.mjs +2 -0
- package/esm2022/f-connection/common/path-constructor/index.mjs +6 -0
- package/esm2022/f-connection/common/path-constructor/path-constructor.mjs +14 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/connector-side-point.mjs +9 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/edge-center-calculator.mjs +10 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/index.mjs +6 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/path-bend.mjs +19 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/point-utils.mjs +14 -0
- package/esm2022/f-connection/common/path-constructor/segment-path/segment-path.mjs +123 -0
- package/esm2022/f-connection/common/path-constructor/straight-path/index.mjs +2 -0
- package/esm2022/f-connection/common/path-constructor/straight-path/straight-path.mjs +9 -0
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +96 -0
- package/esm2022/f-connection/f-connection/index.mjs +2 -0
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +90 -0
- package/esm2022/f-connection/f-connection-for-create/index.mjs +2 -0
- package/esm2022/f-connection/index.mjs +4 -0
- package/esm2022/f-connection/public-api.mjs +3 -0
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +20 -0
- package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +23 -0
- package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +37 -0
- package/esm2022/f-draggable/canvas/index.mjs +5 -0
- package/esm2022/f-draggable/canvas/providers.mjs +7 -0
- package/esm2022/f-draggable/components/f-external-item/f-external-item-base.mjs +11 -0
- package/esm2022/f-draggable/components/f-external-item/f-external-item.directive.mjs +44 -0
- package/esm2022/f-draggable/components/f-external-item/f-external-item.service.mjs +28 -0
- package/esm2022/f-draggable/components/f-external-item/index.mjs +5 -0
- package/esm2022/f-draggable/components/f-external-item/is-external-item.mjs +7 -0
- package/esm2022/f-draggable/components/f-external-item/public-api.mjs +2 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-rect.mjs +2 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/index.mjs +7 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/line-element.mjs +23 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/line-service.mjs +33 -0
- package/esm2022/f-draggable/components/f-line-alignment/domain/nearest-coordinate.mjs +100 -0
- package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment-base.mjs +11 -0
- package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment.component.mjs +90 -0
- package/esm2022/f-draggable/components/f-line-alignment/index.mjs +4 -0
- package/esm2022/f-draggable/components/f-line-alignment/public-api.mjs +2 -0
- package/esm2022/f-draggable/components/f-selection-area/domain/i-selection-area-rect.mjs +2 -0
- package/esm2022/f-draggable/components/f-selection-area/domain/index.mjs +2 -0
- package/esm2022/f-draggable/components/f-selection-area/f-selection-area-base.mjs +11 -0
- package/esm2022/f-draggable/components/f-selection-area/f-selection-area.component.mjs +44 -0
- package/esm2022/f-draggable/components/f-selection-area/index.mjs +4 -0
- package/esm2022/f-draggable/components/f-selection-area/public-api.mjs +2 -0
- package/esm2022/f-draggable/components/index.mjs +4 -0
- package/esm2022/f-draggable/components/public-api.mjs +4 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +34 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection.event.mjs +7 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +50 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +86 -0
- 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 +34 -0
- package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +2 -0
- package/esm2022/f-draggable/connections/create-connection/index.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/public-api.mjs +2 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +43 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +7 -0
- 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 +34 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +2 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/index.mjs +5 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +2 -0
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +25 -0
- package/esm2022/f-draggable/connections/index.mjs +5 -0
- package/esm2022/f-draggable/connections/providers.mjs +14 -0
- package/esm2022/f-draggable/connections/public-api.mjs +3 -0
- package/esm2022/f-draggable/connections/reassign-connection/index.mjs +5 -0
- package/esm2022/f-draggable/connections/reassign-connection/public-api.mjs +2 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +37 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +9 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +36 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +52 -0
- package/esm2022/f-draggable/e-draggable-type.mjs +11 -0
- package/esm2022/f-draggable/external-item/create-node.event.mjs +7 -0
- package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +38 -0
- package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +42 -0
- package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +41 -0
- package/esm2022/f-draggable/external-item/index.mjs +6 -0
- package/esm2022/f-draggable/external-item/providers.mjs +7 -0
- package/esm2022/f-draggable/external-item/public-api.mjs +2 -0
- package/esm2022/f-draggable/f-draggable-base.mjs +15 -0
- package/esm2022/f-draggable/f-draggable-data-context.mjs +22 -0
- package/esm2022/f-draggable/f-draggable.directive.mjs +104 -0
- package/esm2022/f-draggable/i-draggable-item.mjs +2 -0
- package/esm2022/f-draggable/index.mjs +13 -0
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +31 -0
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +31 -0
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +29 -0
- package/esm2022/f-draggable/node/domain/is-connection-under-node/index.mjs +2 -0
- package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +70 -0
- package/esm2022/f-draggable/node/index.mjs +8 -0
- package/esm2022/f-draggable/node/node.drag-handler.mjs +21 -0
- package/esm2022/f-draggable/node/node.on-pointer-up.mjs +44 -0
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +101 -0
- package/esm2022/f-draggable/node/providers.mjs +9 -0
- package/esm2022/f-draggable/public-api.mjs +5 -0
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +54 -0
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/i-selectable-with-rect.mjs +2 -0
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/index.mjs +3 -0
- package/esm2022/f-draggable/selection-area/index.mjs +6 -0
- package/esm2022/f-draggable/selection-area/providers.mjs +9 -0
- package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +49 -0
- package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +23 -0
- package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +32 -0
- package/esm2022/f-draggable/single-select/index.mjs +3 -0
- package/esm2022/f-draggable/single-select/providers.mjs +5 -0
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +64 -0
- package/esm2022/f-flow.module.mjs +80 -42
- package/esm2022/f-node/f-connectors/f-connector-base.mjs +15 -0
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input.directive.mjs +83 -0
- package/esm2022/f-node/f-connectors/f-node-input/index.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-input/is-node-input.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-input/public-api.mjs +2 -0
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet-base.mjs +23 -0
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +66 -0
- package/esm2022/f-node/f-connectors/f-node-outlet/index.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-outlet/public-api.mjs +2 -0
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output.directive.mjs +71 -0
- package/esm2022/f-node/f-connectors/f-node-output/index.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-output/is-node-output.mjs +4 -0
- package/esm2022/f-node/f-connectors/f-node-output/public-api.mjs +2 -0
- package/esm2022/f-node/f-connectors/index.mjs +5 -0
- package/esm2022/f-node/f-connectors/public-api.mjs +4 -0
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +55 -0
- package/esm2022/f-node/f-drag-handle/index.mjs +3 -0
- package/esm2022/f-node/f-drag-handle/is-drag-handle.mjs +20 -0
- package/esm2022/f-node/f-drag-handle/public-api.mjs +2 -0
- package/esm2022/f-node/f-node-base.mjs +33 -0
- package/esm2022/f-node/f-node.component.mjs +88 -0
- package/esm2022/f-node/f-resize-observer.mjs +16 -0
- package/esm2022/f-node/index.mjs +7 -0
- package/esm2022/f-node/is-node.mjs +4 -0
- package/esm2022/f-node/public-api.mjs +4 -0
- package/esm2022/get-flow-uid.mjs +7 -0
- package/esm2022/public-api.mjs +4 -3
- package/f-components-store.d.ts +36 -0
- package/f-connection/common/cast-to-connection-behavior.d.ts +2 -0
- package/f-connection/common/cast-to-connection-type.d.ts +2 -0
- package/f-connection/common/e-connection-behavior.d.ts +4 -0
- package/f-connection/common/e-connection-type.d.ts +5 -0
- package/f-connection/common/f-connection-base.d.ts +54 -0
- package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +20 -0
- package/{components/f-connection → f-connection}/common/f-connection-text/f-connection-text.component.d.ts +10 -7
- package/f-connection/common/f-connection-text/i-connection-text.d.ts +6 -0
- package/{components/f-connection → f-connection}/common/f-connection-text/index.d.ts +1 -0
- package/f-connection/common/f-connection.injection-token.d.ts +2 -0
- package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +22 -0
- package/f-connection/common/f-gradient/i-connection-gradient.d.ts +7 -0
- package/{components/f-connection → f-connection}/common/f-gradient/index.d.ts +1 -0
- package/f-connection/common/f-path/f-connection-path.component.d.ts +20 -0
- package/f-connection/common/f-path/i-connection-path.d.ts +9 -0
- package/{components/f-connection → f-connection}/common/f-path/index.d.ts +1 -0
- package/{components/f-connection → f-connection}/common/f-selection/f-connection-selection.component.d.ts +4 -5
- package/f-connection/common/i-has-connection-color.d.ts +4 -0
- package/f-connection/common/i-has-connection-from-to.d.ts +4 -0
- package/f-connection/common/i-has-connection-text.d.ts +3 -0
- package/f-connection/common/index.d.ts +16 -0
- package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +12 -0
- package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +10 -0
- package/f-connection/common/mixins/index.d.ts +2 -0
- package/f-connection/common/path-constructor/bezier-path.d.ts +6 -0
- package/f-connection/common/path-constructor/i-path-constructor.d.ts +12 -0
- package/f-connection/common/path-constructor/index.d.ts +5 -0
- package/f-connection/common/path-constructor/path-constructor.d.ts +8 -0
- package/f-connection/common/path-constructor/segment-path/connector-side-point.d.ts +6 -0
- package/f-connection/common/path-constructor/segment-path/edge-center-calculator.d.ts +3 -0
- package/f-connection/common/path-constructor/segment-path/index.d.ts +5 -0
- package/f-connection/common/path-constructor/segment-path/path-bend.d.ts +4 -0
- package/f-connection/common/path-constructor/segment-path/point-utils.d.ts +6 -0
- package/f-connection/common/path-constructor/segment-path/segment-path.d.ts +10 -0
- package/f-connection/common/path-constructor/straight-path/index.d.ts +1 -0
- package/f-connection/common/path-constructor/straight-path/straight-path.d.ts +6 -0
- package/f-connection/f-connection/f-connection.component.d.ts +35 -0
- package/{components/f-connection → f-connection}/f-connection/index.d.ts +0 -1
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +36 -0
- package/f-connection/f-connection-for-create/index.d.ts +1 -0
- package/{components/f-connection → f-connection}/index.d.ts +1 -1
- package/f-connection/public-api.d.ts +2 -0
- package/f-draggable/canvas/canvas.drag-handler.d.ts +13 -0
- package/f-draggable/canvas/canvas.on-pointer-up.d.ts +10 -0
- package/f-draggable/canvas/canvas.prepare-drag-sequence.d.ts +13 -0
- package/f-draggable/canvas/index.d.ts +4 -0
- package/f-draggable/canvas/providers.d.ts +3 -0
- package/f-draggable/components/f-line-alignment/domain/i-line-alignment-rect.d.ts +6 -0
- package/f-draggable/components/f-line-alignment/domain/index.d.ts +6 -0
- package/f-draggable/components/f-line-alignment/domain/line-element.d.ts +9 -0
- package/f-draggable/components/f-line-alignment/domain/line-service.d.ts +11 -0
- package/f-draggable/components/f-line-alignment/domain/nearest-coordinate.d.ts +25 -0
- package/f-draggable/components/f-line-alignment/f-line-alignment-base.d.ts +15 -0
- package/f-draggable/components/f-line-alignment/f-line-alignment.component.d.ts +31 -0
- package/f-draggable/components/f-line-alignment/index.d.ts +3 -0
- package/f-draggable/components/f-line-alignment/public-api.d.ts +1 -0
- package/f-draggable/components/f-selection-area/domain/i-selection-area-rect.d.ts +6 -0
- package/f-draggable/components/f-selection-area/domain/index.d.ts +1 -0
- package/f-draggable/components/f-selection-area/f-selection-area-base.d.ts +13 -0
- package/f-draggable/components/f-selection-area/f-selection-area.component.d.ts +17 -0
- package/f-draggable/components/f-selection-area/index.d.ts +3 -0
- package/f-draggable/components/f-selection-area/public-api.d.ts +1 -0
- package/f-draggable/components/index.d.ts +3 -0
- package/f-draggable/components/public-api.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +19 -0
- package/f-draggable/connections/create-connection/create-connection.on-pointer-up.d.ts +16 -0
- package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +22 -0
- 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 +13 -0
- package/{directives/f-draggable → f-draggable}/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/index.d.ts +5 -0
- package/f-draggable/connections/create-connection/public-api.d.ts +1 -0
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +18 -0
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts +8 -0
- 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 +13 -0
- package/{directives/f-draggable → f-draggable}/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.d.ts +0 -1
- package/{directives/f-draggable → f-draggable}/connections/find-inputs-under-pointer/inputs-under-pointer/index.d.ts +0 -1
- package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +12 -0
- package/{directives/f-draggable → f-draggable}/connections/index.d.ts +1 -0
- package/f-draggable/connections/providers.d.ts +4 -0
- package/f-draggable/connections/public-api.d.ts +2 -0
- package/f-draggable/connections/reassign-connection/index.d.ts +4 -0
- package/f-draggable/connections/reassign-connection/public-api.d.ts +1 -0
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +20 -0
- package/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.d.ts +15 -0
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +19 -0
- package/{directives/f-draggable → f-draggable}/e-draggable-type.d.ts +1 -2
- package/{directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.d.ts → f-draggable/external-item/external-item.drag-handler.d.ts} +5 -4
- package/f-draggable/external-item/external-item.on-pointer-up.d.ts +16 -0
- package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +16 -0
- package/f-draggable/external-item/index.d.ts +5 -0
- package/f-draggable/external-item/providers.d.ts +3 -0
- package/f-draggable/f-draggable-base.d.ts +16 -0
- package/f-draggable/f-draggable-data-context.d.ts +16 -0
- package/f-draggable/f-draggable.directive.d.ts +31 -0
- package/{directives/f-draggable → f-draggable}/i-draggable-item.d.ts +2 -2
- package/{directives/f-draggable → f-draggable}/index.d.ts +4 -5
- package/f-draggable/node/connection-source.drag-handler.d.ts +19 -0
- package/f-draggable/node/connection-target.drag-handler.d.ts +19 -0
- package/f-draggable/node/connection.drag-handler.d.ts +18 -0
- package/f-draggable/node/domain/is-connection-under-node/index.d.ts +1 -0
- package/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.d.ts +22 -0
- package/f-draggable/node/index.d.ts +7 -0
- package/f-draggable/node/node.drag-handler.d.ts +14 -0
- package/f-draggable/node/node.on-pointer-up.d.ts +16 -0
- package/f-draggable/node/node.prepare-drag-sequence.d.ts +24 -0
- package/f-draggable/node/providers.d.ts +4 -0
- package/{directives/f-draggable → f-draggable}/public-api.d.ts +1 -1
- package/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts +20 -0
- package/f-draggable/selection-area/get-can-be-selected-items/i-selectable-with-rect.d.ts +6 -0
- package/f-draggable/selection-area/get-can-be-selected-items/index.d.ts +2 -0
- package/f-draggable/selection-area/index.d.ts +5 -0
- package/f-draggable/selection-area/providers.d.ts +4 -0
- package/f-draggable/selection-area/selection-area.drag-handle.d.ts +19 -0
- package/f-draggable/selection-area/selection-area.on-pointer-up.d.ts +10 -0
- package/f-draggable/selection-area/selection-area.prepare-drag-sequence.d.ts +15 -0
- package/f-draggable/single-select/index.d.ts +2 -0
- package/f-draggable/single-select/providers.d.ts +2 -0
- package/f-draggable/single-select/single-select.on-pointer-down.d.ts +17 -0
- package/f-flow.module.d.ts +27 -17
- package/{components → f-node}/f-connectors/f-connector-base.d.ts +5 -3
- package/{components → f-node}/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
- package/f-node/f-connectors/f-node-input/f-node-input.directive.d.ts +25 -0
- package/{components → f-node}/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +5 -4
- package/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +21 -0
- package/{components → f-node}/f-connectors/f-node-output/f-node-output-base.d.ts +3 -3
- package/f-node/f-connectors/f-node-output/f-node-output.directive.d.ts +22 -0
- package/{components → f-node}/f-connectors/index.d.ts +0 -2
- package/{components/f-node → f-node}/f-drag-handle/f-drag-handle.directive.d.ts +2 -2
- package/{components/f-node → f-node}/f-node-base.d.ts +10 -9
- package/f-node/f-node.component.d.ts +28 -0
- package/f-node/f-resize-observer.d.ts +4 -0
- package/{components/f-node → f-node}/index.d.ts +2 -1
- package/{components/f-node → f-node}/public-api.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +3371 -2461
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/get-flow-uid.d.ts +4 -0
- package/package.json +2 -2
- package/public-api.d.ts +3 -2
- package/components/f-connection/common/f-connection-base.d.ts +0 -30
- package/components/f-connection/common/f-connection-common.module.d.ts +0 -13
- package/components/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +0 -17
- package/components/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +0 -21
- package/components/f-connection/common/f-path/f-connection-path.component.d.ts +0 -21
- package/components/f-connection/common/get-connection-intersect.d.ts +0 -2
- package/components/f-connection/common/i-input-output-model.d.ts +0 -5
- package/components/f-connection/common/index.d.ts +0 -10
- package/components/f-connection/common/public-api.d.ts +0 -6
- package/components/f-connection/f-connection/f-connection.component.d.ts +0 -28
- package/components/f-connection/f-connection/f-connection.module.d.ts +0 -9
- package/components/f-connection/f-temp-connection/f-temp-connection.component.d.ts +0 -27
- package/components/f-connection/f-temp-connection/f-temp-connection.module.d.ts +0 -9
- package/components/f-connection/f-temp-connection/index.d.ts +0 -3
- package/components/f-connection/f-temp-connection/temp-connection-input-output-model.d.ts +0 -7
- package/components/f-connection/public-api.d.ts +0 -3
- package/components/f-connectors/f-node-input/f-node-input.directive.d.ts +0 -20
- package/components/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +0 -20
- package/components/f-connectors/f-node-output/f-node-output.directive.d.ts +0 -19
- package/components/f-connectors/f-out-connector-base.d.ts +0 -4
- package/components/f-connectors/get-element-rect-in-canvas.d.ts +0 -2
- package/components/f-flow/i-flow-connector-parent.d.ts +0 -7
- package/components/f-node/f-foreign-object/f-foreign-object-base.d.ts +0 -20
- package/components/f-node/f-foreign-object/f-foreign-object.component.d.ts +0 -16
- package/components/f-node/f-foreign-object/index.d.ts +0 -2
- package/components/f-node/f-foreign-object/public-api.d.ts +0 -1
- package/components/f-node/f-node.component.d.ts +0 -22
- package/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.d.ts +0 -16
- package/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.d.ts +0 -5
- package/directives/f-connect-if-intersect/connect-if-intersect/index.d.ts +0 -2
- package/directives/f-connect-if-intersect/f-connect-if-intersect-base.d.ts +0 -11
- package/directives/f-connect-if-intersect/f-connect-if-intersect.directive.d.ts +0 -16
- package/directives/f-connect-if-intersect/index.d.ts +0 -3
- package/directives/f-connect-if-intersect/public-api.d.ts +0 -2
- package/directives/f-containers/f-connections-container/f-connections-container-base.d.ts +0 -18
- package/directives/f-containers/f-connections-container/f-connections-container.component.d.ts +0 -14
- package/directives/f-containers/f-connections-container/index.d.ts +0 -2
- package/directives/f-containers/f-connections-container/public-api.d.ts +0 -1
- package/directives/f-containers/f-items-container/f-items-container.directive.d.ts +0 -13
- package/directives/f-containers/f-items-container/index.d.ts +0 -3
- package/directives/f-containers/f-items-container/public-api.d.ts +0 -2
- package/directives/f-containers/f-nodes-container/f-nodes-container-base.d.ts +0 -18
- package/directives/f-containers/f-nodes-container/f-nodes-container.component.d.ts +0 -12
- package/directives/f-containers/f-nodes-container/index.d.ts +0 -2
- package/directives/f-containers/f-nodes-container/public-api.d.ts +0 -1
- package/directives/f-containers/index.d.ts +0 -3
- package/directives/f-containers/public-api.d.ts +0 -3
- package/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.d.ts +0 -12
- package/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.d.ts +0 -5
- package/directives/f-draggable/canvas/canvas-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.d.ts +0 -13
- package/directives/f-draggable/canvas/canvas-on-pointer-move/index.d.ts +0 -1
- package/directives/f-draggable/canvas/index.d.ts +0 -2
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.d.ts +0 -6
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.d.ts +0 -14
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.d.ts +0 -7
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.d.ts +0 -11
- package/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.d.ts +0 -2
- package/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.d.ts +0 -16
- package/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +0 -8
- package/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.d.ts +0 -5
- package/directives/f-draggable/connections/create-connection/index.d.ts +0 -5
- package/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +0 -9
- package/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts +0 -8
- package/directives/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 +0 -8
- package/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.d.ts +0 -5
- package/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +0 -8
- package/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.d.ts +0 -5
- package/directives/f-draggable/connections/public-api.d.ts +0 -2
- package/directives/f-draggable/connections/reassign-connection/index.d.ts +0 -4
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.d.ts +0 -6
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.d.ts +0 -11
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.d.ts +0 -1
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.d.ts +0 -17
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.d.ts +0 -2
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.d.ts +0 -7
- package/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.d.ts +0 -11
- package/directives/f-draggable/default-drag-handler/default-drag.handler.d.ts +0 -5
- package/directives/f-draggable/default-drag-handler/index.d.ts +0 -1
- package/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.d.ts +0 -10
- package/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.d.ts +0 -5
- package/directives/f-draggable/external-item/external-item-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/external-item/external-item-on-pointer-move/index.d.ts +0 -1
- package/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.d.ts +0 -11
- package/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.d.ts +0 -7
- package/directives/f-draggable/external-item/external-item-on-pointer-up/index.d.ts +0 -2
- package/directives/f-draggable/external-item/index.d.ts +0 -4
- package/directives/f-draggable/f-draggable-base.d.ts +0 -47
- package/directives/f-draggable/f-draggable.directive.d.ts +0 -23
- package/directives/f-draggable/f-draggable.module.d.ts +0 -9
- package/directives/f-draggable/f-draggable.service.d.ts +0 -13
- package/directives/f-draggable/i-drag-handler.d.ts +0 -9
- package/directives/f-draggable/node/index.d.ts +0 -3
- package/directives/f-draggable/node/node-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.d.ts +0 -9
- package/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.d.ts +0 -17
- package/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.d.ts +0 -15
- package/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.d.ts +0 -15
- package/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.d.ts +0 -14
- package/directives/f-draggable/node/node-on-pointer-move/index.d.ts +0 -4
- package/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.d.ts +0 -15
- package/directives/f-draggable/node/node-on-pointer-up/index.d.ts +0 -2
- package/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.d.ts +0 -7
- package/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.d.ts +0 -11
- package/directives/f-draggable/selection/index.d.ts +0 -3
- package/directives/f-draggable/selection/selection-on-pointer-down/index.d.ts +0 -2
- package/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.d.ts +0 -8
- package/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.d.ts +0 -12
- package/directives/f-draggable/selection/selection-on-pointer-move/index.d.ts +0 -1
- package/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.d.ts +0 -20
- package/directives/f-draggable/selection/selection-on-pointer-up/index.d.ts +0 -2
- package/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.d.ts +0 -9
- package/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.d.ts +0 -8
- package/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.d.ts +0 -3
- package/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.d.ts +0 -3
- package/directives/f-line-alignment/domain/index.d.ts +0 -4
- package/directives/f-line-alignment/f-line-alignment.directive.d.ts +0 -25
- package/directives/f-line-alignment/index.d.ts +0 -2
- package/directives/f-line-alignment/public-api.d.ts +0 -1
- package/directives/f-selection/f-selection.directive.d.ts +0 -15
- package/directives/f-selection/index.d.ts +0 -1
- package/directives/f-selection/public-api.d.ts +0 -1
- package/directives/f-zoom/f-zoom-base.d.ts +0 -24
- package/directives/f-zoom/f-zoom.directive.d.ts +0 -15
- package/directives/index.d.ts +0 -7
- package/directives/public-api.d.ts +0 -7
- package/esm2022/components/f-connection/common/f-connection-base.mjs +0 -32
- package/esm2022/components/f-connection/common/f-connection-common.module.mjs +0 -44
- package/esm2022/components/f-connection/common/f-connection-identifiers.mjs +0 -21
- package/esm2022/components/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -38
- package/esm2022/components/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -55
- package/esm2022/components/f-connection/common/f-connection-text/index.mjs +0 -3
- package/esm2022/components/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +0 -30
- package/esm2022/components/f-connection/common/f-drag-handle/index.mjs +0 -2
- package/esm2022/components/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -59
- package/esm2022/components/f-connection/common/f-gradient/index.mjs +0 -2
- package/esm2022/components/f-connection/common/f-path/f-connection-path.component.mjs +0 -58
- package/esm2022/components/f-connection/common/f-path/index.mjs +0 -2
- package/esm2022/components/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -34
- package/esm2022/components/f-connection/common/f-selection/index.mjs +0 -2
- package/esm2022/components/f-connection/common/get-connection-intersect.mjs +0 -10
- package/esm2022/components/f-connection/common/i-input-output-model.mjs +0 -2
- package/esm2022/components/f-connection/common/index.mjs +0 -11
- package/esm2022/components/f-connection/common/public-api.mjs +0 -7
- package/esm2022/components/f-connection/f-connection/f-connection.component.mjs +0 -86
- package/esm2022/components/f-connection/f-connection/f-connection.module.mjs +0 -28
- package/esm2022/components/f-connection/f-connection/index.mjs +0 -3
- package/esm2022/components/f-connection/f-temp-connection/f-temp-connection.component.mjs +0 -61
- package/esm2022/components/f-connection/f-temp-connection/f-temp-connection.module.mjs +0 -28
- package/esm2022/components/f-connection/f-temp-connection/index.mjs +0 -4
- package/esm2022/components/f-connection/f-temp-connection/temp-connection-input-output-model.mjs +0 -7
- package/esm2022/components/f-connection/index.mjs +0 -4
- package/esm2022/components/f-connection/public-api.mjs +0 -4
- package/esm2022/components/f-connectors/f-connector-base.mjs +0 -14
- package/esm2022/components/f-connectors/f-node-input/f-node-input-base.mjs +0 -19
- package/esm2022/components/f-connectors/f-node-input/f-node-input.directive.mjs +0 -71
- package/esm2022/components/f-connectors/f-node-input/index.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-input/is-node-input.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-input/public-api.mjs +0 -2
- package/esm2022/components/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -22
- package/esm2022/components/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -69
- package/esm2022/components/f-connectors/f-node-outlet/index.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-outlet/public-api.mjs +0 -2
- package/esm2022/components/f-connectors/f-node-output/f-node-output-base.mjs +0 -19
- package/esm2022/components/f-connectors/f-node-output/f-node-output.directive.mjs +0 -67
- package/esm2022/components/f-connectors/f-node-output/index.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-output/is-node-output.mjs +0 -4
- package/esm2022/components/f-connectors/f-node-output/public-api.mjs +0 -2
- package/esm2022/components/f-connectors/f-out-connector-base.mjs +0 -4
- package/esm2022/components/f-connectors/get-element-rect-in-canvas.mjs +0 -8
- package/esm2022/components/f-connectors/index.mjs +0 -7
- package/esm2022/components/f-connectors/public-api.mjs +0 -4
- package/esm2022/components/f-flow/i-flow-connector-parent.mjs +0 -3
- package/esm2022/components/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -54
- package/esm2022/components/f-node/f-drag-handle/index.mjs +0 -3
- package/esm2022/components/f-node/f-drag-handle/is-drag-handle.mjs +0 -20
- package/esm2022/components/f-node/f-drag-handle/public-api.mjs +0 -2
- package/esm2022/components/f-node/f-foreign-object/f-foreign-object-base.mjs +0 -44
- package/esm2022/components/f-node/f-foreign-object/f-foreign-object.component.mjs +0 -49
- package/esm2022/components/f-node/f-foreign-object/index.mjs +0 -3
- package/esm2022/components/f-node/f-foreign-object/public-api.mjs +0 -2
- package/esm2022/components/f-node/f-node-base.mjs +0 -33
- package/esm2022/components/f-node/f-node.component.mjs +0 -62
- package/esm2022/components/f-node/index.mjs +0 -6
- package/esm2022/components/f-node/is-node.mjs +0 -4
- package/esm2022/components/f-node/public-api.mjs +0 -4
- package/esm2022/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.mjs +0 -55
- package/esm2022/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.mjs +0 -6
- package/esm2022/directives/f-connect-if-intersect/connect-if-intersect/index.mjs +0 -3
- package/esm2022/directives/f-connect-if-intersect/f-connect-if-intersect-base.mjs +0 -10
- package/esm2022/directives/f-connect-if-intersect/f-connect-if-intersect.directive.mjs +0 -51
- package/esm2022/directives/f-connect-if-intersect/index.mjs +0 -4
- package/esm2022/directives/f-connect-if-intersect/public-api.mjs +0 -3
- package/esm2022/directives/f-containers/f-connections-container/f-connections-container-base.mjs +0 -32
- package/esm2022/directives/f-containers/f-connections-container/f-connections-container.component.mjs +0 -30
- package/esm2022/directives/f-containers/f-connections-container/index.mjs +0 -3
- package/esm2022/directives/f-containers/f-connections-container/public-api.mjs +0 -2
- package/esm2022/directives/f-containers/f-items-container/canvas-change.event.mjs +0 -7
- package/esm2022/directives/f-containers/f-items-container/f-items-container-base.mjs +0 -45
- package/esm2022/directives/f-containers/f-items-container/f-items-container.directive.mjs +0 -48
- package/esm2022/directives/f-containers/f-items-container/index.mjs +0 -4
- package/esm2022/directives/f-containers/f-items-container/public-api.mjs +0 -3
- package/esm2022/directives/f-containers/f-nodes-container/f-nodes-container-base.mjs +0 -39
- package/esm2022/directives/f-containers/f-nodes-container/f-nodes-container.component.mjs +0 -25
- package/esm2022/directives/f-containers/f-nodes-container/index.mjs +0 -3
- package/esm2022/directives/f-containers/f-nodes-container/public-api.mjs +0 -2
- package/esm2022/directives/f-containers/index.mjs +0 -4
- package/esm2022/directives/f-containers/public-api.mjs +0 -4
- package/esm2022/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.mjs +0 -24
- package/esm2022/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.mjs +0 -6
- package/esm2022/directives/f-draggable/canvas/canvas-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.mjs +0 -20
- package/esm2022/directives/f-draggable/canvas/canvas-on-pointer-move/index.mjs +0 -2
- package/esm2022/directives/f-draggable/canvas/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.mjs +0 -7
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.mjs +0 -75
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.mjs +0 -7
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.mjs +0 -31
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection.event.mjs +0 -7
- package/esm2022/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.mjs +0 -28
- package/esm2022/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +0 -20
- package/esm2022/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.mjs +0 -6
- package/esm2022/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/create-connection/index.mjs +0 -6
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +0 -25
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +0 -7
- package/esm2022/directives/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 +0 -20
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.mjs +0 -6
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/index.mjs +0 -5
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +0 -14
- package/esm2022/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.mjs +0 -6
- package/esm2022/directives/f-draggable/connections/index.mjs +0 -4
- package/esm2022/directives/f-draggable/connections/public-api.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/reassign-connection/index.mjs +0 -5
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +0 -9
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.mjs +0 -7
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.mjs +0 -36
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.mjs +0 -2
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.mjs +0 -31
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.mjs +0 -3
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.mjs +0 -7
- package/esm2022/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.mjs +0 -26
- package/esm2022/directives/f-draggable/default-drag-handler/default-drag.handler.mjs +0 -11
- package/esm2022/directives/f-draggable/default-drag-handler/index.mjs +0 -2
- package/esm2022/directives/f-draggable/e-draggable-type.mjs +0 -12
- package/esm2022/directives/f-draggable/external-item/create-node.event.mjs +0 -7
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.mjs +0 -28
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.mjs +0 -6
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.mjs +0 -30
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-move/index.mjs +0 -2
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.mjs +0 -26
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.mjs +0 -7
- package/esm2022/directives/f-draggable/external-item/external-item-on-pointer-up/index.mjs +0 -3
- package/esm2022/directives/f-draggable/external-item/index.mjs +0 -5
- package/esm2022/directives/f-draggable/external-item/public-api.mjs +0 -2
- package/esm2022/directives/f-draggable/f-draggable-base.mjs +0 -103
- package/esm2022/directives/f-draggable/f-draggable.directive.mjs +0 -53
- package/esm2022/directives/f-draggable/f-draggable.module.mjs +0 -37
- package/esm2022/directives/f-draggable/f-draggable.service.mjs +0 -23
- package/esm2022/directives/f-draggable/i-drag-handler.mjs +0 -2
- package/esm2022/directives/f-draggable/i-draggable-item.mjs +0 -2
- package/esm2022/directives/f-draggable/index.mjs +0 -14
- package/esm2022/directives/f-draggable/node/index.mjs +0 -4
- package/esm2022/directives/f-draggable/node/node-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.mjs +0 -9
- package/esm2022/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.mjs +0 -88
- package/esm2022/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.mjs +0 -24
- package/esm2022/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.mjs +0 -24
- package/esm2022/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.mjs +0 -22
- package/esm2022/directives/f-draggable/node/node-on-pointer-move/index.mjs +0 -5
- package/esm2022/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.mjs +0 -23
- package/esm2022/directives/f-draggable/node/node-on-pointer-up/index.mjs +0 -3
- package/esm2022/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.mjs +0 -7
- package/esm2022/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.mjs +0 -28
- package/esm2022/directives/f-draggable/public-api.mjs +0 -5
- package/esm2022/directives/f-draggable/selection/index.mjs +0 -4
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-down/index.mjs +0 -3
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.mjs +0 -8
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.mjs +0 -61
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-move/index.mjs +0 -2
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.mjs +0 -57
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-up/index.mjs +0 -3
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.mjs +0 -8
- package/esm2022/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.mjs +0 -22
- package/esm2022/directives/f-external-item/f-external-item-base.mjs +0 -11
- package/esm2022/directives/f-external-item/f-external-item.directive.mjs +0 -44
- package/esm2022/directives/f-external-item/f-external-item.service.mjs +0 -25
- package/esm2022/directives/f-external-item/index.mjs +0 -5
- package/esm2022/directives/f-external-item/is-external-item.mjs +0 -7
- package/esm2022/directives/f-external-item/public-api.mjs +0 -2
- package/esm2022/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.mjs +0 -40
- package/esm2022/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.mjs +0 -40
- package/esm2022/directives/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
- package/esm2022/directives/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
- package/esm2022/directives/f-line-alignment/domain/index.mjs +0 -5
- package/esm2022/directives/f-line-alignment/f-line-alignment.directive.mjs +0 -107
- package/esm2022/directives/f-line-alignment/index.mjs +0 -3
- package/esm2022/directives/f-line-alignment/public-api.mjs +0 -2
- package/esm2022/directives/f-selection/f-selection.directive.mjs +0 -41
- package/esm2022/directives/f-selection/index.mjs +0 -2
- package/esm2022/directives/f-selection/public-api.mjs +0 -2
- package/esm2022/directives/f-zoom/f-zoom-base.mjs +0 -89
- package/esm2022/directives/f-zoom/f-zoom.directive.mjs +0 -57
- package/esm2022/directives/f-zoom/index.mjs +0 -3
- package/esm2022/directives/f-zoom/public-api.mjs +0 -2
- package/esm2022/directives/index.mjs +0 -8
- package/esm2022/directives/public-api.mjs +0 -8
- package/esm2022/i-selectable.mjs +0 -2
- package/esm2022/internal/f-backgroud/f-background-base.mjs +0 -25
- package/esm2022/internal/f-backgroud/f-background.directive.mjs +0 -24
- package/esm2022/internal/f-backgroud/index.mjs +0 -3
- package/esm2022/internal/f-canvas/f-canvas-base.mjs +0 -25
- package/esm2022/internal/f-canvas/f-canvas.directive.mjs +0 -19
- package/esm2022/internal/f-canvas/index.mjs +0 -3
- package/esm2022/internal/index.mjs +0 -3
- package/esm2022/tokens.mjs +0 -4
- package/i-selectable.d.ts +0 -7
- package/internal/f-backgroud/f-background.directive.d.ts +0 -9
- package/internal/f-backgroud/index.d.ts +0 -2
- package/internal/f-canvas/f-canvas-base.d.ts +0 -12
- package/internal/f-canvas/f-canvas.directive.d.ts +0 -8
- package/internal/f-canvas/index.d.ts +0 -2
- package/internal/index.d.ts +0 -2
- package/tokens.d.ts +0 -3
- /package/{directives → components/f-flow/f-canvas}/f-zoom/index.d.ts +0 -0
- /package/{directives → components/f-flow/f-canvas}/f-zoom/public-api.d.ts +0 -0
- /package/{components/f-connection → f-connection}/common/f-connection-identifiers.d.ts +0 -0
- /package/{components/f-connection → f-connection}/common/f-drag-handle/f-connection-drag-handle.component.d.ts +0 -0
- /package/{components/f-connection → f-connection}/common/f-drag-handle/index.d.ts +0 -0
- /package/{components/f-connection → f-connection}/common/f-selection/index.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/f-external-item-base.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/f-external-item.directive.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/f-external-item.service.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/index.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/is-external-item.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-external-item/public-api.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-line-alignment/domain/i-line-alignment-result.d.ts +0 -0
- /package/{directives → f-draggable/components}/f-line-alignment/domain/i-nearest-coordinate-result.d.ts +0 -0
- /package/{directives/f-draggable → f-draggable}/connections/create-connection/create-connection.event.d.ts +0 -0
- /package/{directives/f-draggable → f-draggable}/connections/find-inputs-under-pointer/index.d.ts +0 -0
- /package/{directives/f-draggable → f-draggable}/connections/reassign-connection/reassign-connection.event.d.ts +0 -0
- /package/{directives/f-draggable → f-draggable}/external-item/create-node.event.d.ts +0 -0
- /package/{directives/f-draggable → f-draggable}/external-item/public-api.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-input/index.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-input/is-node-input.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-input/public-api.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-outlet/index.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-outlet/is-node-outlet.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-outlet/public-api.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-output/index.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-output/is-node-output.d.ts +0 -0
- /package/{components → f-node}/f-connectors/f-node-output/public-api.d.ts +0 -0
- /package/{components → f-node}/f-connectors/public-api.d.ts +0 -0
- /package/{components/f-node → f-node}/f-drag-handle/index.d.ts +0 -0
- /package/{components/f-node → f-node}/f-drag-handle/is-drag-handle.d.ts +0 -0
- /package/{components/f-node → f-node}/f-drag-handle/public-api.d.ts +0 -0
- /package/{components/f-node → f-node}/is-node.d.ts +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
2
|
+
import { FindInputsUnderPointerRequest } from '../find-inputs-under-pointer';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { CreateConnectionEvent } from './create-connection.event';
|
|
5
|
+
import { OutputNotFound, requiredOutput } from '../../../domain';
|
|
6
|
+
import { isNodeOutlet } from '../../../f-node';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../f-components-store";
|
|
9
|
+
import * as i2 from "../../f-draggable-data-context";
|
|
10
|
+
import * as i3 from "../find-inputs-under-pointer";
|
|
11
|
+
import * as i4 from "./find-first-can-be-connected-output-by-outlet";
|
|
12
|
+
export class CreateConnectionOnPointerUp {
|
|
13
|
+
constructor(fComponentsStore, fDraggableDataContext, findInputsUnderPointerHandler, findFirstCanBeConnectedOutputByOutletHandler) {
|
|
14
|
+
this.fComponentsStore = fComponentsStore;
|
|
15
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
16
|
+
this.findInputsUnderPointerHandler = findInputsUnderPointerHandler;
|
|
17
|
+
this.findFirstCanBeConnectedOutputByOutletHandler = findFirstCanBeConnectedOutputByOutletHandler;
|
|
18
|
+
}
|
|
19
|
+
handle(event) {
|
|
20
|
+
const isCreateConnection = this.fDraggableDataContext.draggableItems.some((x) => x.type === EDraggableType.CREATE_CONNECTION);
|
|
21
|
+
if (isCreateConnection) {
|
|
22
|
+
const handler = this.fDraggableDataContext.draggableItems[0];
|
|
23
|
+
const inputsUnderPointer = this.findInputsUnderPointerHandler.handle(new FindInputsUnderPointerRequest(event, handler));
|
|
24
|
+
if (inputsUnderPointer.length > 0) {
|
|
25
|
+
let output = this.fComponentsStore.fOutputs.find((x) => x.id === handler.connection.outputId);
|
|
26
|
+
if (!output) {
|
|
27
|
+
output = this.fComponentsStore.fOutlets.find((x) => x.id === handler.connection.outputId);
|
|
28
|
+
}
|
|
29
|
+
if (!output) {
|
|
30
|
+
throw OutputNotFound(handler.connection.outputId);
|
|
31
|
+
}
|
|
32
|
+
const isOutlet = isNodeOutlet(output.hostElement);
|
|
33
|
+
if (isOutlet) {
|
|
34
|
+
output = this.findFirstCanBeConnectedOutputByOutletHandler.handle(output);
|
|
35
|
+
if (!output) {
|
|
36
|
+
throw requiredOutput();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
this.fComponentsStore.fDraggable?.fCreateConnection.emit(new CreateConnectionEvent(output.id, inputsUnderPointer[0]?.id));
|
|
40
|
+
}
|
|
41
|
+
handler.complete();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionOnPointerUp, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FindInputsUnderPointerHandler }, { token: i4.FindFirstCanBeConnectedOutputByOutletHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionOnPointerUp }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionOnPointerUp, decorators: [{
|
|
48
|
+
type: Injectable
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FindInputsUnderPointerHandler }, { type: i4.FindFirstCanBeConnectedOutputByOutletHandler }]; } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY3JlYXRlLWNvbm5lY3Rpb24vY3JlYXRlLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFpQyw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFHaEUsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsNkJBQTRELEVBQzVELDRDQUEwRjtRQUgxRixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxpREFBNEMsR0FBNUMsNENBQTRDLENBQThDO0lBRXRHLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5SCxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFpQyxDQUFDO1lBRTlGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FDaEUsSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQ3BELENBQUM7WUFFRixJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlGLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzNGO2dCQUNELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbkQ7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxRQUFRLEVBQUU7b0JBRVosTUFBTSxHQUFHLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxNQUFNLENBQUMsTUFBeUIsQ0FBQyxDQUFDO29CQUM3RixJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNYLE1BQU0sY0FBYyxFQUFFLENBQUM7cUJBQ3hCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBRSxDQUFDLENBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdIO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs4R0F6Q1UsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIsIEZpbmRJbnB1dHNVbmRlclBvaW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlcic7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlciB9IGZyb20gJy4vZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi5ldmVudCc7XG5pbXBvcnQgeyBPdXRwdXROb3RGb3VuZCwgcmVxdWlyZWRPdXRwdXQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVPdXRsZXRCYXNlLCBpc05vZGVPdXRsZXQgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbk9uUG9pbnRlclVwXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBmaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcjogRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIsXG4gICAgICBwcml2YXRlIGZpbmRGaXJzdENhbkJlQ29ubmVjdGVkT3V0cHV0QnlPdXRsZXRIYW5kbGVyOiBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0NyZWF0ZUNvbm5lY3Rpb24gPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVEcmFnZ2FibGVUeXBlLkNSRUFURV9DT05ORUNUSU9OKTtcbiAgICBpZiAoaXNDcmVhdGVDb25uZWN0aW9uKSB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNbIDAgXSBhcyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXI7XG5cbiAgICAgIGNvbnN0IGlucHV0c1VuZGVyUG9pbnRlciA9IHRoaXMuZmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIuaGFuZGxlKFxuICAgICAgICAgIG5ldyBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdChldmVudCwgaGFuZGxlcilcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbnB1dHNVbmRlclBvaW50ZXIubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGhhbmRsZXIuY29ubmVjdGlvbi5vdXRwdXRJZCk7XG4gICAgICAgIGlmICghb3V0cHV0KSB7XG4gICAgICAgICAgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRsZXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGhhbmRsZXIuY29ubmVjdGlvbi5vdXRwdXRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgICAgICB0aHJvdyBPdXRwdXROb3RGb3VuZChoYW5kbGVyLmNvbm5lY3Rpb24ub3V0cHV0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPdXRsZXQgPSBpc05vZGVPdXRsZXQob3V0cHV0Lmhvc3RFbGVtZW50KTtcbiAgICAgICAgaWYgKGlzT3V0bGV0KSB7XG5cbiAgICAgICAgICBvdXRwdXQgPSB0aGlzLmZpbmRGaXJzdENhbkJlQ29ubmVjdGVkT3V0cHV0QnlPdXRsZXRIYW5kbGVyLmhhbmRsZShvdXRwdXQgYXMgRk5vZGVPdXRsZXRCYXNlKTtcbiAgICAgICAgICBpZiAoIW91dHB1dCkge1xuICAgICAgICAgICAgdGhyb3cgcmVxdWlyZWRPdXRwdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGU/LmZDcmVhdGVDb25uZWN0aW9uLmVtaXQobmV3IENyZWF0ZUNvbm5lY3Rpb25FdmVudChvdXRwdXQuaWQsIGlucHV0c1VuZGVyUG9pbnRlclsgMCBdPy5pZCkpO1xuICAgICAgfVxuICAgICAgaGFuZGxlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Point } from '@foblex/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { CreateConnectionDragHandler } from './create-connection.drag-handler';
|
|
4
|
+
import { isNodeOutlet, isNodeOutput } from '../../../f-node';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../f-components-store";
|
|
7
|
+
import * as i2 from "../../f-draggable-data-context";
|
|
8
|
+
import * as i3 from "../../../domain";
|
|
9
|
+
import * as i4 from "./find-first-can-be-connected-output-by-outlet";
|
|
10
|
+
export class CreateConnectionPrepareDragSequence {
|
|
11
|
+
get transform() {
|
|
12
|
+
return this.fComponentsStore.fCanvas.transform;
|
|
13
|
+
}
|
|
14
|
+
get flowHost() {
|
|
15
|
+
return this.fComponentsStore.fFlow.hostElement;
|
|
16
|
+
}
|
|
17
|
+
constructor(fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler, getConnectionVectorHandler, findFirstCanBeConnectedOutputByOutletHandler, getOutputRectInFlowHandler) {
|
|
18
|
+
this.fComponentsStore = fComponentsStore;
|
|
19
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
20
|
+
this.getElementRectInFlowHandler = getElementRectInFlowHandler;
|
|
21
|
+
this.getConnectionVectorHandler = getConnectionVectorHandler;
|
|
22
|
+
this.findFirstCanBeConnectedOutputByOutletHandler = findFirstCanBeConnectedOutputByOutletHandler;
|
|
23
|
+
this.getOutputRectInFlowHandler = getOutputRectInFlowHandler;
|
|
24
|
+
}
|
|
25
|
+
handle(event) {
|
|
26
|
+
const node = this.fComponentsStore.findNode(event.targetElement);
|
|
27
|
+
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
28
|
+
if (!node || this.fDraggableDataContext.draggableItems.length || !this.fComponentsStore.fTempConnection) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (isNodeOutlet(event.targetElement)) {
|
|
32
|
+
const outlet = this.fComponentsStore.fOutlets.find((x) => {
|
|
33
|
+
return x.hostElement.contains(event.targetElement);
|
|
34
|
+
});
|
|
35
|
+
if (!outlet) {
|
|
36
|
+
throw new Error('Outlet not found');
|
|
37
|
+
}
|
|
38
|
+
const nodeOutputs = this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
|
|
39
|
+
outlet.setOutputs(nodeOutputs);
|
|
40
|
+
if (outlet.canBeConnected) {
|
|
41
|
+
const outletCenter = this.getElementRectInFlowHandler.handle(outlet.hostElement).gravityCenter;
|
|
42
|
+
if (outlet.isConnectionFromOutlet) {
|
|
43
|
+
this.createConnectionHandler(pointerPositionInFlow, outlet, outletCenter);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const output = this.findFirstCanBeConnectedOutputByOutletHandler.handle(outlet);
|
|
47
|
+
if (!output) {
|
|
48
|
+
throw new Error('Output not found');
|
|
49
|
+
}
|
|
50
|
+
this.createConnectionHandler(pointerPositionInFlow, output, outletCenter);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else if (this.isNodeOutput(event.targetElement, node)) {
|
|
55
|
+
const output = this.fComponentsStore.fOutputs.find((x) => {
|
|
56
|
+
return x.hostElement.contains(event.targetElement);
|
|
57
|
+
});
|
|
58
|
+
if (!output) {
|
|
59
|
+
throw new Error('Output not found');
|
|
60
|
+
}
|
|
61
|
+
if (output.canBeConnected) {
|
|
62
|
+
const outputCenter = this.getElementRectInFlowHandler.handle(output.hostElement).gravityCenter;
|
|
63
|
+
this.createConnectionHandler(pointerPositionInFlow, output, outputCenter);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
createConnectionHandler(pointerPositionInCanvas, output, outputCenter) {
|
|
68
|
+
this.fComponentsStore.fTempConnection.outputId = output.id;
|
|
69
|
+
this.fComponentsStore.fTempConnection.initialize();
|
|
70
|
+
this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
|
|
71
|
+
this.fDraggableDataContext.onPointerDownPosition = pointerPositionInCanvas.div(this.transform.scale);
|
|
72
|
+
this.fDraggableDataContext.draggableItems = [
|
|
73
|
+
new CreateConnectionDragHandler(this.getOutputRectInFlowHandler, this.getConnectionVectorHandler, this.fComponentsStore.fTempConnection, outputCenter)
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
isNodeOutput(targetElement, node) {
|
|
77
|
+
const outlets = this.fComponentsStore.fOutlets.filter((x) => node.isContains(x.hostElement));
|
|
78
|
+
return isNodeOutput(targetElement) && !outlets.length;
|
|
79
|
+
}
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionPrepareDragSequence, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }, { token: i3.GetConnectionVectorHandler }, { token: i4.FindFirstCanBeConnectedOutputByOutletHandler }, { token: i3.GetOutputRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionPrepareDragSequence }); }
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CreateConnectionPrepareDragSequence, decorators: [{
|
|
84
|
+
type: Injectable
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }, { type: i3.GetConnectionVectorHandler }, { type: i4.FindFirstCanBeConnectedOutputByOutletHandler }, { type: i3.GetOutputRectInFlowHandler }]; } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24ucHJlcGFyZS1kcmFnLXNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5wcmVwYXJlLWRyYWctc2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvRCxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxPQUFPLEVBQThDLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBR3pHLE1BQU0sT0FBTyxtQ0FBbUM7SUFHOUMsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsMkJBQXdELEVBQ3hELDBCQUFzRCxFQUN0RCw0Q0FBMEYsRUFDMUYsMEJBQXNEO1FBTHRELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsaURBQTRDLEdBQTVDLDRDQUE0QyxDQUE4QztRQUMxRiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBRWxFLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakUsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtZQUN2RyxPQUFPO1NBQ1I7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdkQsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUNyQztZQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2hHLE1BQTBCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXBELElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtnQkFFekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUMvRixJQUFLLE1BQTBCLENBQUMsc0JBQXNCLEVBQUU7b0JBQ3RELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7aUJBQzNFO3FCQUFNO29CQUNMLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxNQUFNLENBQUMsTUFBeUIsQ0FBQyxDQUFDO29CQUNuRyxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDckM7b0JBQ0QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztpQkFDM0U7YUFDRjtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDdkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdkQsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtnQkFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUMvRixJQUFJLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sdUJBQXVCLENBQzNCLHVCQUE4QixFQUM5QixNQUFzQixFQUN0QixZQUFvQjtRQUd0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZ0IsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwRCxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFFckUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUc7WUFDMUMsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFnQixFQUFFLFlBQVksQ0FBQztTQUN4SixDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxhQUEwQixFQUFFLElBQWU7UUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7OEdBdkZVLG1DQUFtQztrSEFBbkMsbUNBQW1DOzsyRkFBbkMsbUNBQW1DO2tCQUQvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElQb2ludCwgSVBvaW50ZXJFdmVudCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlciB9IGZyb20gJy4vZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIsIEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlciwgR2V0T3V0cHV0UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UsIEZOb2RlQmFzZSwgRk5vZGVPdXRsZXRCYXNlLCBpc05vZGVPdXRsZXQsIGlzTm9kZU91dHB1dCB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uUHJlcGFyZURyYWdTZXF1ZW5jZVxuICAgIGltcGxlbWVudHMgSUhhbmRsZXI8SVBvaW50ZXJFdmVudCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICAgICAgcHJpdmF0ZSBmaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlcjogRmluZEZpcnN0Q2FuQmVDb25uZWN0ZWRPdXRwdXRCeU91dGxldEhhbmRsZXIsXG4gICAgICBwcml2YXRlIGdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyOiBHZXRPdXRwdXRSZWN0SW5GbG93SGFuZGxlcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZpbmROb2RlKGV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluRmxvdyA9IFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpO1xuICAgIGlmICghbm9kZSB8fCB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGggfHwgIXRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNOb2RlT3V0bGV0KGV2ZW50LnRhcmdldEVsZW1lbnQpKSB7XG4gICAgICBjb25zdCBvdXRsZXQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dGxldHMuZmluZCgoeCkgPT4ge1xuICAgICAgICByZXR1cm4geC5ob3N0RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXRFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgICAgaWYgKCFvdXRsZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPdXRsZXQgbm90IGZvdW5kJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBub2RlT3V0cHV0cyA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gICAgICAob3V0bGV0IGFzIEZOb2RlT3V0bGV0QmFzZSkuc2V0T3V0cHV0cyhub2RlT3V0cHV0cyk7XG5cbiAgICAgIGlmIChvdXRsZXQuY2FuQmVDb25uZWN0ZWQpIHtcblxuICAgICAgICBjb25zdCBvdXRsZXRDZW50ZXIgPSB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUob3V0bGV0Lmhvc3RFbGVtZW50KS5ncmF2aXR5Q2VudGVyO1xuICAgICAgICBpZiAoKG91dGxldCBhcyBGTm9kZU91dGxldEJhc2UpLmlzQ29ubmVjdGlvbkZyb21PdXRsZXQpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKHBvaW50ZXJQb3NpdGlvbkluRmxvdywgb3V0bGV0LCBvdXRsZXRDZW50ZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHRoaXMuZmluZEZpcnN0Q2FuQmVDb25uZWN0ZWRPdXRwdXRCeU91dGxldEhhbmRsZXIuaGFuZGxlKG91dGxldCBhcyBGTm9kZU91dGxldEJhc2UpO1xuICAgICAgICAgIGlmICghb3V0cHV0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ091dHB1dCBub3QgZm91bmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihwb2ludGVyUG9zaXRpb25JbkZsb3csIG91dHB1dCwgb3V0bGV0Q2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc05vZGVPdXRwdXQoZXZlbnQudGFyZ2V0RWxlbWVudCwgbm9kZSkpIHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB7XG4gICAgICAgIHJldHVybiB4Lmhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgICBpZiAoIW91dHB1dCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ091dHB1dCBub3QgZm91bmQnKTtcbiAgICAgIH1cbiAgICAgIGlmIChvdXRwdXQuY2FuQmVDb25uZWN0ZWQpIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0Q2VudGVyID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKG91dHB1dC5ob3N0RWxlbWVudCkuZ3Jhdml0eUNlbnRlcjtcbiAgICAgICAgdGhpcy5jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihwb2ludGVyUG9zaXRpb25JbkZsb3csIG91dHB1dCwgb3V0cHV0Q2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKFxuICAgICAgcG9pbnRlclBvc2l0aW9uSW5DYW52YXM6IFBvaW50LFxuICAgICAgb3V0cHV0OiBGQ29ubmVjdG9yQmFzZSxcbiAgICAgIG91dHB1dENlbnRlcjogSVBvaW50XG4gICk6IHZvaWQge1xuXG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZUZW1wQ29ubmVjdGlvbiEub3V0cHV0SWQgPSBvdXRwdXQuaWQ7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZUZW1wQ29ubmVjdGlvbiEuaW5pdGlhbGl6ZSgpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gdGhpcy50cmFuc2Zvcm0uc2NhbGU7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24gPSBwb2ludGVyUG9zaXRpb25JbkNhbnZhcy5kaXYodGhpcy50cmFuc2Zvcm0uc2NhbGUpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICBuZXcgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuZ2V0T3V0cHV0UmVjdEluRmxvd0hhbmRsZXIsIHRoaXMuZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIsIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24hLCBvdXRwdXRDZW50ZXIpXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOb2RlT3V0cHV0KHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBub2RlOiBGTm9kZUJhc2UpOiBib29sZWFuIHtcbiAgICBjb25zdCBvdXRsZXRzID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRsZXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgICByZXR1cm4gaXNOb2RlT3V0cHV0KHRhcmdldEVsZW1lbnQpICYmICFvdXRsZXRzLmxlbmd0aDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../../f-components-store";
|
|
4
|
+
export class FindFirstCanBeConnectedOutputByOutletHandler {
|
|
5
|
+
get fNodes() {
|
|
6
|
+
return this.fComponentsStore.fNodes;
|
|
7
|
+
}
|
|
8
|
+
get fOutputs() {
|
|
9
|
+
return this.fComponentsStore.fOutputs;
|
|
10
|
+
}
|
|
11
|
+
constructor(fComponentsStore) {
|
|
12
|
+
this.fComponentsStore = fComponentsStore;
|
|
13
|
+
}
|
|
14
|
+
handle(outlet) {
|
|
15
|
+
let result;
|
|
16
|
+
const node = this.fNodes.find((x) => x.isContains(outlet.hostElement));
|
|
17
|
+
if (!node) {
|
|
18
|
+
throw new Error('Node not found');
|
|
19
|
+
}
|
|
20
|
+
const outputsOfNode = this.fOutputs.filter((x) => {
|
|
21
|
+
return node.isContains(x.hostElement) && x.canBeConnected;
|
|
22
|
+
});
|
|
23
|
+
if (outputsOfNode.length > 0) {
|
|
24
|
+
result = outputsOfNode[0];
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindFirstCanBeConnectedOutputByOutletHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindFirstCanBeConnectedOutputByOutletHandler }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindFirstCanBeConnectedOutputByOutletHandler, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY3JlYXRlLWNvbm5lY3Rpb24vZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQvZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLDRDQUE0QztJQUd2RCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBdUI7UUFDbkMsSUFBSSxNQUFrQyxDQUFDO1FBRXZDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxHQUFHLGFBQWEsQ0FBRSxDQUFDLENBQUUsQ0FBQztTQUM3QjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBakNVLDRDQUE0QztrSEFBNUMsNENBQTRDOzsyRkFBNUMsNENBQTRDO2tCQUR4RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgRk5vZGVCYXNlLCBGTm9kZU91dGxldEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmluZEZpcnN0Q2FuQmVDb25uZWN0ZWRPdXRwdXRCeU91dGxldEhhbmRsZXJcbiAgICBpbXBsZW1lbnRzIElIYW5kbGVyPEZOb2RlT3V0bGV0QmFzZSwgRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQ+IHtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZk91dHB1dHMoKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUob3V0bGV0OiBGTm9kZU91dGxldEJhc2UpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdDogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5mTm9kZXMuZmluZCgoeCkgPT4geC5pc0NvbnRhaW5zKG91dGxldC5ob3N0RWxlbWVudCkpO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb2RlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG91dHB1dHNPZk5vZGUgPSB0aGlzLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuIG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSAmJiB4LmNhbkJlQ29ubmVjdGVkO1xuICAgIH0pO1xuXG4gICAgaWYgKG91dHB1dHNPZk5vZGUubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0ID0gb3V0cHV0c09mTm9kZVsgMCBdO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './find-first-can-be-connected-output-by-outlet.handler';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NyZWF0ZS1jb25uZWN0aW9uL2ZpbmQtZmlyc3QtY2FuLWJlLWNvbm5lY3RlZC1vdXRwdXQtYnktb3V0bGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0RBQXdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbmQtZmlyc3QtY2FuLWJlLWNvbm5lY3RlZC1vdXRwdXQtYnktb3V0bGV0LmhhbmRsZXInO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './find-first-can-be-connected-output-by-outlet';
|
|
2
|
+
export * from './create-connection.drag-handler';
|
|
3
|
+
export * from './create-connection.event';
|
|
4
|
+
export * from './create-connection.on-pointer-up';
|
|
5
|
+
export * from './create-connection.prepare-drag-sequence';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NyZWF0ZS1jb25uZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24uZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLm9uLXBvaW50ZXItdXAnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLnByZXBhcmUtZHJhZy1zZXF1ZW5jZSc7XG5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './create-connection.event';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY3JlYXRlLWNvbm5lY3Rpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi5ldmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { OutputNotFound } from '../../../domain';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../f-components-store";
|
|
5
|
+
import * as i2 from "./inputs-under-pointer";
|
|
6
|
+
import * as i3 from "./first-not-connected-input-of-node-under-pointer";
|
|
7
|
+
export class FindInputsUnderPointerHandler {
|
|
8
|
+
get fNodes() {
|
|
9
|
+
return this.fComponentsStore.fNodes;
|
|
10
|
+
}
|
|
11
|
+
constructor(fComponentsStore, inputsUnderPointerHandler, firstNotConnectedInputOfNodeUnderPointerHandler) {
|
|
12
|
+
this.fComponentsStore = fComponentsStore;
|
|
13
|
+
this.inputsUnderPointerHandler = inputsUnderPointerHandler;
|
|
14
|
+
this.firstNotConnectedInputOfNodeUnderPointerHandler = firstNotConnectedInputOfNodeUnderPointerHandler;
|
|
15
|
+
}
|
|
16
|
+
handle(payload) {
|
|
17
|
+
const inputsUnderPointer = this.getInputsUnderPointer(payload);
|
|
18
|
+
const output = this.fComponentsStore.fOutputs.find((x) => x.id === payload.dragHandler.connection.outputId);
|
|
19
|
+
if (!output) {
|
|
20
|
+
throw OutputNotFound(payload.dragHandler.connection.outputId);
|
|
21
|
+
}
|
|
22
|
+
return inputsUnderPointer.filter((x) => {
|
|
23
|
+
const targetNode = this.fNodes.find((y) => y.isContains(x.hostElement));
|
|
24
|
+
const sourceNode = this.fNodes.find((y) => y.isContains(output.hostElement));
|
|
25
|
+
return sourceNode?.hostElement !== targetNode?.hostElement;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
getInputsUnderPointer(payload) {
|
|
29
|
+
let inputs = this.inputsUnderPointerHandler.handle(payload.event);
|
|
30
|
+
const input = this.firstNotConnectedInputOfNodeUnderPointerHandler.handle(payload.event);
|
|
31
|
+
if (input) {
|
|
32
|
+
inputs.push(input);
|
|
33
|
+
}
|
|
34
|
+
inputs = inputs.filter((x) => x.canBeConnected);
|
|
35
|
+
return inputs;
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindInputsUnderPointerHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.InputsUnderPointerHandler }, { token: i3.FirstNotConnectedInputOfNodeUnderPointerHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindInputsUnderPointerHandler }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FindInputsUnderPointerHandler, decorators: [{
|
|
41
|
+
type: Injectable
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.InputsUnderPointerHandler }, { type: i3.FirstNotConnectedInputOfNodeUnderPointerHandler }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9maW5kLWlucHV0cy11bmRlci1wb2ludGVyL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFJakQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyx5QkFBb0QsRUFDcEQsK0NBQWdHO1FBRmhHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCxvREFBK0MsR0FBL0MsK0NBQStDLENBQWlEO0lBRTVHLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBc0M7UUFDbEQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM3RSxPQUFPLFVBQVUsRUFBRSxXQUFXLEtBQUssVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxPQUFzQztRQUNsRSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsK0NBQStDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7UUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBckNVLDZCQUE2QjtrSEFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRmluZElucHV0c1VuZGVyUG9pbnRlclJlcXVlc3QgfSBmcm9tICcuL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIgfSBmcm9tICcuL2lucHV0cy11bmRlci1wb2ludGVyJztcbmltcG9ydCB7IEZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyIH0gZnJvbSAnLi9maXJzdC1ub3QtY29ubmVjdGVkLWlucHV0LW9mLW5vZGUtdW5kZXItcG9pbnRlcic7XG5pbXBvcnQgeyBPdXRwdXROb3RGb3VuZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCwgRkNvbm5lY3RvckJhc2VbXT4ge1xuXG4gIHByaXZhdGUgZ2V0IGZOb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgaW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcjogSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcixcbiAgICAgIHByaXZhdGUgZmlyc3ROb3RDb25uZWN0ZWRJbnB1dE9mTm9kZVVuZGVyUG9pbnRlckhhbmRsZXI6IEZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogRmluZElucHV0c1VuZGVyUG9pbnRlclJlcXVlc3QpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICBjb25zdCBpbnB1dHNVbmRlclBvaW50ZXIgPSB0aGlzLmdldElucHV0c1VuZGVyUG9pbnRlcihwYXlsb2FkKTtcbiAgICBjb25zdCBvdXRwdXQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gcGF5bG9hZC5kcmFnSGFuZGxlci5jb25uZWN0aW9uLm91dHB1dElkKTtcbiAgICBpZiAoIW91dHB1dCkge1xuICAgICAgdGhyb3cgT3V0cHV0Tm90Rm91bmQocGF5bG9hZC5kcmFnSGFuZGxlci5jb25uZWN0aW9uLm91dHB1dElkKTtcbiAgICB9XG4gICAgcmV0dXJuIGlucHV0c1VuZGVyUG9pbnRlci5maWx0ZXIoKHgpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldE5vZGUgPSB0aGlzLmZOb2Rlcy5maW5kKCh5KSA9PiB5LmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICAgICAgY29uc3Qgc291cmNlTm9kZSA9IHRoaXMuZk5vZGVzLmZpbmQoKHkpID0+IHkuaXNDb250YWlucyhvdXRwdXQuaG9zdEVsZW1lbnQpKTtcbiAgICAgIHJldHVybiBzb3VyY2VOb2RlPy5ob3N0RWxlbWVudCAhPT0gdGFyZ2V0Tm9kZT8uaG9zdEVsZW1lbnQ7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0c1VuZGVyUG9pbnRlcihwYXlsb2FkOiBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIGxldCBpbnB1dHMgPSB0aGlzLmlucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIuaGFuZGxlKHBheWxvYWQuZXZlbnQpO1xuXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyLmhhbmRsZShwYXlsb2FkLmV2ZW50KTtcblxuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXRzLnB1c2goaW5wdXQpO1xuICAgIH1cbiAgICBpbnB1dHMgPSBpbnB1dHMuZmlsdGVyKCh4KSA9PiB4LmNhbkJlQ29ubmVjdGVkKTtcbiAgICByZXR1cm4gaW5wdXRzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class FindInputsUnderPointerRequest {
|
|
2
|
+
constructor(event, dragHandler) {
|
|
3
|
+
this.event = event;
|
|
4
|
+
this.dragHandler = dragHandler;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9maW5kLWlucHV0cy11bmRlci1wb2ludGVyL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sNkJBQTZCO0lBRXhDLFlBQ1MsS0FBb0IsRUFDcEIsV0FBd0U7UUFEeEUsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBNkQ7SUFFakYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9jcmVhdGUtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uL3JlYXNzaWduLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgRmluZElucHV0c1VuZGVyUG9pbnRlclJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBldmVudDogSVBvaW50ZXJFdmVudCxcbiAgICBwdWJsaWMgZHJhZ0hhbmRsZXI6IENyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB8IFJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../../f-components-store";
|
|
4
|
+
export class FirstNotConnectedInputOfNodeUnderPointerHandler {
|
|
5
|
+
get fNodes() {
|
|
6
|
+
return this.fComponentsStore.fNodes;
|
|
7
|
+
}
|
|
8
|
+
get fInputs() {
|
|
9
|
+
return this.fComponentsStore.fInputs;
|
|
10
|
+
}
|
|
11
|
+
constructor(fComponentsStore) {
|
|
12
|
+
this.fComponentsStore = fComponentsStore;
|
|
13
|
+
}
|
|
14
|
+
handle(event) {
|
|
15
|
+
const position = event.getPosition();
|
|
16
|
+
const elementsFromPoint = document.elementsFromPoint(position.x, position.y);
|
|
17
|
+
const nodes = elementsFromPoint.map((element) => {
|
|
18
|
+
return this.fNodes.find((x) => x.isContains(element));
|
|
19
|
+
}).filter((x) => !!x);
|
|
20
|
+
const inputs = nodes.map((x) => {
|
|
21
|
+
return this.fInputs.filter((i) => x.isContains(i.hostElement)).find((i) => {
|
|
22
|
+
return !i.isConnected && i.canBeConnected;
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const result = inputs.find((x) => !!x);
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci9maXJzdC1ub3QtY29ubmVjdGVkLWlucHV0LW9mLW5vZGUtdW5kZXItcG9pbnRlci9maXJzdC1ub3QtY29ubmVjdGVkLWlucHV0LW9mLW5vZGUtdW5kZXItcG9pbnRlci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sK0NBQStDO0lBRzFELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQ1ksZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFvQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFrQixDQUFDO1FBRTlGLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFFckMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hFLE9BQU8sQ0FBRSxDQUFvQixDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FoQ1UsK0NBQStDO2tIQUEvQywrQ0FBK0M7OzJGQUEvQywrQ0FBK0M7a0JBRDNELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlLCBGTm9kZUJhc2UsIEZOb2RlSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyXG4gIGltcGxlbWVudHMgSUhhbmRsZXI8SVBvaW50ZXJFdmVudCwgRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQ+IHtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZklucHV0cygpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcG9zaXRpb24gPSBldmVudC5nZXRQb3NpdGlvbigpO1xuICAgIGNvbnN0IGVsZW1lbnRzRnJvbVBvaW50ID0gZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb24ueCwgcG9zaXRpb24ueSkgYXMgSFRNTEVsZW1lbnRbXTtcblxuICAgIGNvbnN0IG5vZGVzID0gZWxlbWVudHNGcm9tUG9pbnQubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mTm9kZXMuZmluZCgoeCkgPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpKVxuICAgIH0pLmZpbHRlcigoeCkgPT4gISF4KSBhcyBGTm9kZUJhc2VbXTtcblxuICAgIGNvbnN0IGlucHV0cyA9IG5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZklucHV0cy5maWx0ZXIoKGkpID0+IHguaXNDb250YWlucyhpLmhvc3RFbGVtZW50KSkuZmluZCgoaSkgPT4ge1xuICAgICAgICByZXR1cm4gIShpIGFzIEZOb2RlSW5wdXRCYXNlKS5pc0Nvbm5lY3RlZCAmJiBpLmNhbkJlQ29ubmVjdGVkO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gaW5wdXRzLmZpbmQoKHgpID0+ICEheCk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './first-not-connected-input-of-node-under-pointer.handler';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIuaGFuZGxlcic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './first-not-connected-input-of-node-under-pointer';
|
|
2
|
+
export * from './inputs-under-pointer';
|
|
3
|
+
export * from './find-inputs-under-pointer.request';
|
|
4
|
+
export * from './find-inputs-under-pointer.handler';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dHMtdW5kZXItcG9pbnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIucmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIuaGFuZGxlcic7XG4iXX0=
|
package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './inputs-under-pointer.handler';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvaW5wdXRzLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXRzLXVuZGVyLXBvaW50ZXIuaGFuZGxlcic7XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { isNodeInput } from '../../../../f-node';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../../f-components-store";
|
|
5
|
+
export class InputsUnderPointerHandler {
|
|
6
|
+
get fInputs() {
|
|
7
|
+
return this.fComponentsStore.fInputs;
|
|
8
|
+
}
|
|
9
|
+
constructor(fComponentsStore) {
|
|
10
|
+
this.fComponentsStore = fComponentsStore;
|
|
11
|
+
}
|
|
12
|
+
handle(event) {
|
|
13
|
+
const position = event.getPosition();
|
|
14
|
+
const elementsFromPoint = document.elementsFromPoint(position.x, position.y);
|
|
15
|
+
return elementsFromPoint.filter((x) => isNodeInput(x)).map((element) => {
|
|
16
|
+
return this.fInputs.find((x) => x.isContains(element));
|
|
17
|
+
}).filter((x) => !!x);
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: InputsUnderPointerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: InputsUnderPointerHandler }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: InputsUnderPointerHandler, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXVuZGVyLXBvaW50ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci9pbnB1dHMtdW5kZXItcG9pbnRlci9pbnB1dHMtdW5kZXItcG9pbnRlci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBR2pFLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFDWSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQW9CO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQWtCLENBQUM7UUFDOUYsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUE7UUFDekQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs4R0FsQlUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlLCBpc05vZGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCBGQ29ubmVjdG9yQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZklucHV0cygpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG4gICAgY29uc3QgZWxlbWVudHNGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChwb3NpdGlvbi54LCBwb3NpdGlvbi55KSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50c0Zyb21Qb2ludC5maWx0ZXIoKHgpID0+IGlzTm9kZUlucHV0KHggYXMgSFRNTEVsZW1lbnQpKS5tYXAoKGVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpKSFcbiAgICB9KS5maWx0ZXIoKHgpID0+ICEheCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './create-connection';
|
|
2
|
+
export * from './find-inputs-under-pointer';
|
|
3
|
+
export * from './reassign-connection';
|
|
4
|
+
export * from './providers';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVhc3NpZ24tY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
|
|
2
|
+
import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler, InputsUnderPointerHandler } from './find-inputs-under-pointer';
|
|
3
|
+
import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
|
|
4
|
+
export const CONNECTIONS_PROVIDERS = [
|
|
5
|
+
FindFirstCanBeConnectedOutputByOutletHandler,
|
|
6
|
+
CreateConnectionOnPointerUp,
|
|
7
|
+
CreateConnectionPrepareDragSequence,
|
|
8
|
+
FirstNotConnectedInputOfNodeUnderPointerHandler,
|
|
9
|
+
InputsUnderPointerHandler,
|
|
10
|
+
FindInputsUnderPointerHandler,
|
|
11
|
+
ReassignConnectionOnPointerUp,
|
|
12
|
+
ReassignConnectionPrepareDragSequence
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsNENBQTRDLEVBQzdDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwrQ0FBK0MsRUFDL0MseUJBQXlCLEVBQzFCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFDQUFxQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFFbkMsNENBQTRDO0lBRTVDLDJCQUEyQjtJQUUzQixtQ0FBbUM7SUFFbkMsK0NBQStDO0lBRS9DLHlCQUF5QjtJQUV6Qiw2QkFBNkI7SUFFN0IsNkJBQTZCO0lBRTdCLHFDQUFxQztDQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3JlYXRlQ29ubmVjdGlvbk9uUG9pbnRlclVwLFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyZURyYWdTZXF1ZW5jZSxcbiAgRmluZEZpcnN0Q2FuQmVDb25uZWN0ZWRPdXRwdXRCeU91dGxldEhhbmRsZXJcbn0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbic7XG5pbXBvcnQge1xuICBGaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcixcbiAgRmlyc3ROb3RDb25uZWN0ZWRJbnB1dE9mTm9kZVVuZGVyUG9pbnRlckhhbmRsZXIsXG4gIElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXJcbn0gZnJvbSAnLi9maW5kLWlucHV0cy11bmRlci1wb2ludGVyJztcbmltcG9ydCB7IFJlYXNzaWduQ29ubmVjdGlvbk9uUG9pbnRlclVwLCBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9yZWFzc2lnbi1jb25uZWN0aW9uJztcblxuZXhwb3J0IGNvbnN0IENPTk5FQ1RJT05TX1BST1ZJREVSUyA9IFtcblxuICBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlcixcblxuICBDcmVhdGVDb25uZWN0aW9uT25Qb2ludGVyVXAsXG5cbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2UsXG5cbiAgRmlyc3ROb3RDb25uZWN0ZWRJbnB1dE9mTm9kZVVuZGVyUG9pbnRlckhhbmRsZXIsXG5cbiAgSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcixcblxuICBGaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcixcblxuICBSZWFzc2lnbkNvbm5lY3Rpb25PblBvaW50ZXJVcCxcblxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlXG5dO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './create-connection/public-api';
|
|
2
|
+
export * from './reassign-connection/public-api';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './reassign-connection.drag-handler';
|
|
2
|
+
export * from './reassign-connection.event';
|
|
3
|
+
export * from './reassign-connection.on-pointer-up';
|
|
4
|
+
export * from './reassign-connection.prepare-drag-sequence';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24uZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVhc3NpZ24tY29ubmVjdGlvbi5wcmVwYXJlLWRyYWctc2VxdWVuY2UnO1xuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './reassign-connection.event';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvcmVhc3NpZ24tY29ubmVjdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24uZXZlbnQnO1xuIl19
|
package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { RectExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
import { EConnectorSide, GetConnectionVectorRequest } from '../../../domain';
|
|
4
|
+
export class ReassignConnectionDragHandler {
|
|
5
|
+
constructor(getInputRectInFlowHandler, getOutputRectInFlowHandler, getConnectionVectorHandler, connection) {
|
|
6
|
+
this.getInputRectInFlowHandler = getInputRectInFlowHandler;
|
|
7
|
+
this.getOutputRectInFlowHandler = getOutputRectInFlowHandler;
|
|
8
|
+
this.getConnectionVectorHandler = getConnectionVectorHandler;
|
|
9
|
+
this.connection = connection;
|
|
10
|
+
this.type = EDraggableType.REASSIGN_CONNECTION;
|
|
11
|
+
this.onPointerDownFromConnectorRect = RectExtensions.initialize();
|
|
12
|
+
this.onPointerDownToConnectorRect = RectExtensions.initialize();
|
|
13
|
+
this.outputSide = EConnectorSide.BOTTOM;
|
|
14
|
+
this.inputSide = EConnectorSide.TOP;
|
|
15
|
+
}
|
|
16
|
+
initialize() {
|
|
17
|
+
const fromConnector = this.getOutputRectInFlowHandler.handle(this.connection.outputId);
|
|
18
|
+
this.inputSide = this.getInputRectInFlowHandler.handle(this.connection.inputId).side;
|
|
19
|
+
this.outputSide = fromConnector.side;
|
|
20
|
+
this.onPointerDownFromConnectorRect = fromConnector.rect;
|
|
21
|
+
this.onPointerDownToConnectorRect = RectExtensions.initialize(this.connection.vector.point2.x, this.connection.vector.point2.y, 0, 0);
|
|
22
|
+
}
|
|
23
|
+
move(difference) {
|
|
24
|
+
const toRect = RectExtensions.addPoint(this.onPointerDownToConnectorRect, difference);
|
|
25
|
+
const vector = this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(this.onPointerDownFromConnectorRect, toRect, this.connection.behavior, this.outputSide, this.inputSide));
|
|
26
|
+
this.connection.setVector(vector.point1, this.outputSide, vector.point2, this.inputSide);
|
|
27
|
+
this.connection.redraw();
|
|
28
|
+
}
|
|
29
|
+
complete() {
|
|
30
|
+
const fromConnector = this.getOutputRectInFlowHandler.handle(this.connection.outputId);
|
|
31
|
+
const toConnector = this.getInputRectInFlowHandler.handle(this.connection.inputId);
|
|
32
|
+
const vector = this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(fromConnector.rect, toConnector.rect, this.connection.behavior, fromConnector.side, toConnector.side));
|
|
33
|
+
this.connection.setVector(vector.point1, fromConnector.side, vector.point2, toConnector.side);
|
|
34
|
+
this.connection.redraw();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFDTCxjQUFjLEVBRWQsMEJBQTBCLEVBRzNCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsTUFBTSxPQUFPLDZCQUE2QjtJQVV4QyxZQUNZLHlCQUFvRCxFQUNwRCwwQkFBc0QsRUFDdEQsMEJBQXNELEVBQ3ZELFVBQTJCO1FBSDFCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3ZELGVBQVUsR0FBVixVQUFVLENBQWlCO1FBWnRCLFNBQUksR0FBbUIsY0FBYyxDQUFDLG1CQUFtQixDQUFDO1FBRWxFLG1DQUE4QixHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwRSxpQ0FBNEIsR0FBVSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEUsZUFBVSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ25ELGNBQVMsR0FBbUIsY0FBYyxDQUFDLEdBQUcsQ0FBQztJQVF2RCxDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckYsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3pELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVNLElBQUksQ0FBQyxVQUFrQjtRQUM1QixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV0RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUNqRCxJQUFJLDBCQUEwQixDQUMxQixJQUFJLENBQUMsOEJBQThCLEVBQ25DLE1BQU0sRUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsU0FBUyxDQUNqQixDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FDakQsSUFBSSwwQkFBMEIsQ0FDMUIsYUFBYSxDQUFDLElBQUksRUFDbEIsV0FBVyxDQUFDLElBQUksRUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQ3hCLGFBQWEsQ0FBQyxJQUFJLEVBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQ25CLENBQ0osQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHtcbiAgRUNvbm5lY3RvclNpZGUsXG4gIEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdCxcbiAgR2V0SW5wdXRSZWN0SW5GbG93SGFuZGxlcixcbiAgR2V0T3V0cHV0UmVjdEluRmxvd0hhbmRsZXJcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogRURyYWdnYWJsZVR5cGUgPSBFRHJhZ2dhYmxlVHlwZS5SRUFTU0lHTl9DT05ORUNUSU9OO1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93bkZyb21Db25uZWN0b3JSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSBvblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIG91dHB1dFNpZGU6IEVDb25uZWN0b3JTaWRlID0gRUNvbm5lY3RvclNpZGUuQk9UVE9NO1xuICBwcml2YXRlIGlucHV0U2lkZTogRUNvbm5lY3RvclNpZGUgPSBFQ29ubmVjdG9yU2lkZS5UT1A7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGdldElucHV0UmVjdEluRmxvd0hhbmRsZXI6IEdldElucHV0UmVjdEluRmxvd0hhbmRsZXIsXG4gICAgICBwcml2YXRlIGdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyOiBHZXRPdXRwdXRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICAgICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21Db25uZWN0b3IgPSB0aGlzLmdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyLmhhbmRsZSh0aGlzLmNvbm5lY3Rpb24ub3V0cHV0SWQpO1xuICAgIHRoaXMuaW5wdXRTaWRlID0gdGhpcy5nZXRJbnB1dFJlY3RJbkZsb3dIYW5kbGVyLmhhbmRsZSh0aGlzLmNvbm5lY3Rpb24uaW5wdXRJZCkuc2lkZTtcbiAgICB0aGlzLm91dHB1dFNpZGUgPSBmcm9tQ29ubmVjdG9yLnNpZGU7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QgPSBmcm9tQ29ubmVjdG9yLnJlY3Q7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLmNvbm5lY3Rpb24udmVjdG9yLnBvaW50Mi54LCB0aGlzLmNvbm5lY3Rpb24udmVjdG9yLnBvaW50Mi55LCAwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IHRvUmVjdCA9IFJlY3RFeHRlbnNpb25zLmFkZFBvaW50KHRoaXMub25Qb2ludGVyRG93blRvQ29ubmVjdG9yUmVjdCwgZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCB2ZWN0b3IgPSB0aGlzLmdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLmhhbmRsZShcbiAgICAgICAgbmV3IEdldENvbm5lY3Rpb25WZWN0b3JSZXF1ZXN0KFxuICAgICAgICAgICAgdGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QsXG4gICAgICAgICAgICB0b1JlY3QsXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uYmVoYXZpb3IsXG4gICAgICAgICAgICB0aGlzLm91dHB1dFNpZGUsXG4gICAgICAgICAgICB0aGlzLmlucHV0U2lkZSxcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0VmVjdG9yKHZlY3Rvci5wb2ludDEsIHRoaXMub3V0cHV0U2lkZSwgdmVjdG9yLnBvaW50MiwgdGhpcy5pbnB1dFNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBmcm9tQ29ubmVjdG9yID0gdGhpcy5nZXRPdXRwdXRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUodGhpcy5jb25uZWN0aW9uLm91dHB1dElkKTtcbiAgICBjb25zdCB0b0Nvbm5lY3RvciA9IHRoaXMuZ2V0SW5wdXRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUodGhpcy5jb25uZWN0aW9uLmlucHV0SWQpO1xuXG4gICAgY29uc3QgdmVjdG9yID0gdGhpcy5nZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlci5oYW5kbGUoXG4gICAgICAgIG5ldyBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdChcbiAgICAgICAgICAgIGZyb21Db25uZWN0b3IucmVjdCxcbiAgICAgICAgICAgIHRvQ29ubmVjdG9yLnJlY3QsXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uYmVoYXZpb3IsXG4gICAgICAgICAgICBmcm9tQ29ubmVjdG9yLnNpZGUsXG4gICAgICAgICAgICB0b0Nvbm5lY3Rvci5zaWRlLFxuICAgICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRWZWN0b3IodmVjdG9yLnBvaW50MSwgZnJvbUNvbm5lY3Rvci5zaWRlLCB2ZWN0b3IucG9pbnQyLCB0b0Nvbm5lY3Rvci5zaWRlKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class ReassignConnectionEvent {
|
|
2
|
+
constructor(connectionId, outputId, oldInputId, newInputId) {
|
|
3
|
+
this.connectionId = connectionId;
|
|
4
|
+
this.outputId = outputId;
|
|
5
|
+
this.oldInputId = oldInputId;
|
|
6
|
+
this.newInputId = newInputId;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDUyxZQUFlLEVBQ2YsUUFBVyxFQUNYLFVBQWEsRUFDYixVQUFhO1FBSGIsaUJBQVksR0FBWixZQUFZLENBQUc7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFHO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBRztRQUNiLGVBQVUsR0FBVixVQUFVLENBQUc7SUFFdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PFQgPSBhbnk+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29ubmVjdGlvbklkOiBULFxuICAgIHB1YmxpYyBvdXRwdXRJZDogVCxcbiAgICBwdWJsaWMgb2xkSW5wdXRJZDogVCxcbiAgICBwdWJsaWMgbmV3SW5wdXRJZDogVFxuICApIHtcbiAgfVxufVxuIl19
|
package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
2
|
+
import { FindInputsUnderPointerRequest, ReassignConnectionEvent } from '../index';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../f-components-store";
|
|
6
|
+
import * as i2 from "../../f-draggable-data-context";
|
|
7
|
+
import * as i3 from "../index";
|
|
8
|
+
export class ReassignConnectionOnPointerUp {
|
|
9
|
+
get fDraggable() {
|
|
10
|
+
return this.fComponentsStore.fDraggable;
|
|
11
|
+
}
|
|
12
|
+
constructor(fComponentsStore, fDraggableDataContext, findInputsUnderPointerHandler) {
|
|
13
|
+
this.fComponentsStore = fComponentsStore;
|
|
14
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
15
|
+
this.findInputsUnderPointerHandler = findInputsUnderPointerHandler;
|
|
16
|
+
}
|
|
17
|
+
handle(event) {
|
|
18
|
+
const isReassignConnection = this.fDraggableDataContext.draggableItems.some((x) => x.type === EDraggableType.REASSIGN_CONNECTION);
|
|
19
|
+
if (isReassignConnection) {
|
|
20
|
+
const handler = this.fDraggableDataContext.draggableItems[0];
|
|
21
|
+
const inputsUnderPointer = this.findInputsUnderPointerHandler.handle(new FindInputsUnderPointerRequest(event, handler));
|
|
22
|
+
if (inputsUnderPointer.length > 0) {
|
|
23
|
+
if (handler.connection.inputId !== inputsUnderPointer[0]?.id) {
|
|
24
|
+
this.fDraggable.fReassignConnection.emit(new ReassignConnectionEvent(handler.connection.id, handler.connection.outputId, handler.connection.inputId, inputsUnderPointer[0]?.id));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
handler.complete();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ReassignConnectionOnPointerUp, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FindInputsUnderPointerHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ReassignConnectionOnPointerUp }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ReassignConnectionOnPointerUp, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FindInputsUnderPointerHandler }]; } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5vbi1wb2ludGVyLXVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9yZWFzc2lnbi1jb25uZWN0aW9uL3JlYXNzaWduLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUVMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDeEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsNkJBQTREO1FBRjVELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO0lBRXhFLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsSSxJQUFJLG9CQUFvQixFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFtQyxDQUFDO1lBRWhHLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FDbEUsSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQ2xELENBQUM7WUFFRixJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssa0JBQWtCLENBQUUsQ0FBQyxDQUFFLEVBQUUsRUFBRSxFQUFFO29CQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDdEMsSUFBSSx1QkFBdUIsQ0FDekIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQ2xELE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUMxQixrQkFBa0IsQ0FBRSxDQUFDLENBQUUsRUFBRSxFQUFFLENBQzVCLENBQ0YsQ0FBQztpQkFDSDthQUNGO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs4R0FwQ1UsNkJBQTZCO2tIQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRURyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7XG4gIEZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyLFxuICBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRXZlbnRcbn0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1iYXNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbk9uUG9pbnRlclVwXG4gIGltcGxlbWVudHMgSUhhbmRsZXI8SVBvaW50ZXJFdmVudCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZEcmFnZ2FibGUoKTogRkRyYWdnYWJsZUJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgICBwcml2YXRlIGZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyOiBGaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc1JlYXNzaWduQ29ubmVjdGlvbiA9IHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHgudHlwZSA9PT0gRURyYWdnYWJsZVR5cGUuUkVBU1NJR05fQ09OTkVDVElPTik7XG4gICAgaWYgKGlzUmVhc3NpZ25Db25uZWN0aW9uKSB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNbIDAgXSBhcyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlcjtcblxuICAgICAgY29uc3QgaW5wdXRzVW5kZXJQb2ludGVyID0gdGhpcy5maW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlci5oYW5kbGUoXG4gICAgICAgIG5ldyBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdChldmVudCwgaGFuZGxlcilcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbnB1dHNVbmRlclBvaW50ZXIubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoaGFuZGxlci5jb25uZWN0aW9uLmlucHV0SWQgIT09IGlucHV0c1VuZGVyUG9pbnRlclsgMCBdPy5pZCkge1xuICAgICAgICAgIHRoaXMuZkRyYWdnYWJsZS5mUmVhc3NpZ25Db25uZWN0aW9uLmVtaXQoXG4gICAgICAgICAgICBuZXcgUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQoXG4gICAgICAgICAgICAgIGhhbmRsZXIuY29ubmVjdGlvbi5pZCwgaGFuZGxlci5jb25uZWN0aW9uLm91dHB1dElkLFxuICAgICAgICAgICAgICBoYW5kbGVyLmNvbm5lY3Rpb24uaW5wdXRJZCxcbiAgICAgICAgICAgICAgaW5wdXRzVW5kZXJQb2ludGVyWyAwIF0/LmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaGFuZGxlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|