@foblex/flow 12.2.3 → 12.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -7
- package/README.md +33 -7
- package/domain/cast-to-enum.d.ts +1 -0
- package/domain/clear-selection/{clear-selection.handler.d.ts → clear-selection.execution.d.ts} +4 -4
- package/domain/clear-selection/index.d.ts +1 -1
- package/domain/create-connection-markers/{create-connection-markers.handler.d.ts → create-connection-markers.execution.d.ts} +4 -4
- package/domain/create-connection-markers/index.d.ts +1 -1
- package/domain/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +2 -0
- package/{f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts → domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts} +6 -7
- package/{f-draggable/selection-area → domain}/get-can-be-selected-items/i-selectable-with-rect.d.ts +1 -1
- package/domain/get-can-be-selected-items/index.d.ts +2 -0
- package/domain/get-connection-line/get-connection-line.execution.d.ts +13 -0
- package/domain/get-connection-line/get-connection-line.request.d.ts +11 -0
- package/domain/get-connection-line/index.d.ts +2 -0
- package/domain/get-element-rect-in-flow/{get-element-rect-in-flow.handler.d.ts → get-element-rect-in-flow.execution.d.ts} +8 -5
- package/domain/get-element-rect-in-flow/index.d.ts +1 -1
- package/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.d.ts +3 -3
- package/domain/get-input-rect-in-flow/{get-input-rect-in-flow.handler.d.ts → get-input-rect-in-flow.execution.d.ts} +4 -5
- package/domain/get-input-rect-in-flow/index.d.ts +1 -1
- package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +12 -0
- package/domain/get-nodes-rect/index.d.ts +1 -1
- package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +3 -3
- package/domain/get-output-rect-in-flow/{get-output-rect-in-flow.handler.d.ts → get-output-rect-in-flow.execution.d.ts} +4 -5
- package/domain/get-output-rect-in-flow/index.d.ts +1 -1
- package/domain/get-position-in-flow/{get-position-in-flow.handler.d.ts → get-position-in-flow.execution.d.ts} +5 -4
- package/domain/get-position-in-flow/index.d.ts +1 -1
- package/domain/get-selection/{get-selection.handler.d.ts → get-selection.execution.d.ts} +4 -4
- package/domain/get-selection/index.d.ts +1 -1
- package/domain/get-value-from-data-attr.d.ts +1 -0
- package/domain/index.d.ts +8 -1
- package/domain/intersections/e-f-connector-shape.d.ts +3 -0
- package/domain/intersections/f-connector-shape.extensions.d.ts +11 -0
- package/domain/intersections/i-connector-shape.d.ts +6 -0
- package/domain/intersections/index.d.ts +5 -0
- package/domain/intersections/intersection-finder.d.ts +67 -0
- package/domain/intersections/rounded-rect/i-rounded-rect.d.ts +8 -0
- package/domain/intersections/rounded-rect/index.d.ts +2 -0
- package/domain/intersections/rounded-rect/rounded-rect.d.ts +22 -0
- package/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 → domain/is-connection-under-node/is-connection-under-node.execution.d.ts} +9 -8
- package/domain/is-connection-under-node/is-connection-under-node.request.d.ts +2 -0
- package/domain/is-element-with-class.d.ts +1 -0
- package/domain/providers.d.ts +17 -14
- package/domain/redraw-connections/index.d.ts +1 -1
- package/domain/redraw-connections/{redraw-connections.handler.d.ts → redraw-connections.execution.d.ts} +5 -6
- package/domain/select/index.d.ts +1 -1
- package/domain/select/{select.handler.d.ts → select.execution.d.ts} +4 -4
- package/domain/select-all/index.d.ts +1 -1
- package/domain/select-all/{select-all.handler.d.ts → select-all.execution.d.ts} +4 -4
- package/domain/select-and-update-node-layer/index.d.ts +2 -0
- package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +16 -0
- package/domain/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +5 -0
- package/domain/update-item-layer/index.d.ts +1 -1
- package/domain/update-item-layer/update-item-layer.execution.d.ts +8 -0
- package/esm2022/domain/cast-to-enum.mjs +31 -0
- package/esm2022/domain/clear-selection/clear-selection.execution.mjs +28 -0
- package/esm2022/domain/clear-selection/index.mjs +2 -2
- package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +49 -0
- package/esm2022/domain/create-connection-markers/index.mjs +2 -2
- package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +3 -0
- package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +57 -0
- package/esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +2 -0
- package/esm2022/domain/get-can-be-selected-items/index.mjs +3 -0
- package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +68 -0
- package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +10 -0
- package/esm2022/domain/get-connection-line/index.mjs +3 -0
- package/esm2022/domain/get-connection.handler.mjs +5 -5
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +41 -0
- package/esm2022/domain/get-element-rect-in-flow/index.mjs +2 -2
- package/esm2022/domain/get-incoming-connections.handler.mjs +4 -4
- package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +1 -1
- package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +33 -0
- package/esm2022/domain/get-input-rect-in-flow/index.mjs +2 -2
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +29 -0
- package/esm2022/domain/get-nodes-rect/index.mjs +2 -2
- package/esm2022/domain/get-outgoing-connections.handler.mjs +4 -4
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +1 -1
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +37 -0
- package/esm2022/domain/get-output-rect-in-flow/index.mjs +2 -2
- package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +32 -0
- package/esm2022/domain/get-position-in-flow/index.mjs +2 -2
- package/esm2022/domain/get-selection/get-selection.execution.mjs +35 -0
- package/esm2022/domain/get-selection/index.mjs +2 -2
- package/esm2022/domain/get-value-from-data-attr.mjs +7 -0
- package/esm2022/domain/index.mjs +9 -2
- package/esm2022/domain/intersections/e-f-connector-shape.mjs +5 -0
- package/esm2022/domain/intersections/f-connector-shape.extensions.mjs +46 -0
- package/esm2022/domain/intersections/i-connector-shape.mjs +2 -0
- package/esm2022/domain/intersections/index.mjs +6 -0
- package/esm2022/domain/intersections/intersection-finder.mjs +156 -0
- package/esm2022/domain/intersections/rounded-rect/i-rounded-rect.mjs +2 -0
- package/esm2022/domain/intersections/rounded-rect/index.mjs +3 -0
- package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +45 -0
- package/esm2022/domain/is-connection-under-node/index.mjs +2 -0
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +80 -0
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs +3 -0
- package/esm2022/domain/is-element-with-class.mjs +8 -0
- package/esm2022/domain/providers.mjs +33 -27
- package/esm2022/domain/redraw-connections/index.mjs +2 -2
- package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +60 -0
- package/esm2022/domain/select/index.mjs +2 -2
- package/esm2022/domain/select/select.execution.mjs +44 -0
- package/esm2022/domain/select-all/index.mjs +2 -2
- package/esm2022/domain/select-all/select-all.execution.mjs +38 -0
- package/esm2022/domain/select-and-update-node-layer/index.mjs +3 -0
- package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +37 -0
- package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs +6 -0
- package/esm2022/domain/update-item-layer/index.mjs +2 -2
- package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +29 -0
- package/esm2022/errors/create-error-class.mjs +1 -2
- package/esm2022/f-backgroud/f-background-base.mjs +4 -4
- package/esm2022/f-backgroud/f-background.component.mjs +5 -5
- package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +4 -4
- package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +4 -4
- package/esm2022/f-backgroud/index.mjs +2 -1
- package/esm2022/f-backgroud/providers.mjs +9 -0
- package/esm2022/f-canvas/f-canvas-base.mjs +8 -6
- package/esm2022/f-canvas/f-canvas.component.mjs +5 -5
- package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +4 -4
- package/esm2022/f-canvas/index.mjs +2 -1
- package/esm2022/f-canvas/providers.mjs +7 -0
- package/esm2022/f-connection/common/f-connection-base.mjs +25 -25
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -4
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +11 -11
- package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +1 -1
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +4 -4
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +7 -7
- package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +1 -1
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -4
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +4 -4
- package/esm2022/f-connection/common/index.mjs +1 -3
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -12
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +4 -4
- package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +4 -4
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +12 -11
- package/esm2022/f-connection/f-marker/f-marker-base.mjs +4 -4
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +4 -4
- package/esm2022/f-connection/index.mjs +2 -1
- package/esm2022/f-connection/providers.mjs +18 -0
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +4 -4
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -4
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +4 -4
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +4 -4
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +4 -4
- package/esm2022/f-connectors/index.mjs +2 -1
- package/esm2022/f-connectors/providers.mjs +9 -0
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +26 -0
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +36 -0
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +43 -0
- package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/canvas/index.mjs +3 -3
- package/esm2022/f-draggable/canvas/providers.mjs +5 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +55 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +39 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +8 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +4 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.mjs +5 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +60 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +4 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.mjs +5 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +46 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +34 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +43 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +32 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +8 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/providers.mjs +13 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +11 -9
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +43 -0
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +6 -0
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +27 -0
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +5 -0
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/create-connection/index.mjs +4 -4
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +72 -0
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +7 -0
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +35 -0
- package/esm2022/f-draggable/connections/get-input-under-pointer/index.mjs +5 -0
- package/esm2022/f-draggable/connections/get-input-under-pointer/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/index.mjs +2 -2
- package/esm2022/f-draggable/connections/providers.mjs +10 -11
- package/esm2022/f-draggable/connections/reassign-connection/index.mjs +3 -3
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +50 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +59 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +42 -0
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +10 -11
- package/esm2022/f-draggable/e-f-draggable-type.mjs +3 -1
- package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +55 -0
- package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/external-item/external-item-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/external-item/external-item-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +41 -0
- package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +29 -0
- package/esm2022/f-draggable/external-item/external-item-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/external-item/external-item-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/external-item/index.mjs +3 -3
- package/esm2022/f-draggable/external-item/providers.mjs +5 -5
- package/esm2022/f-draggable/f-draggable-base.mjs +6 -7
- package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -4
- package/esm2022/f-draggable/f-draggable.directive.mjs +31 -29
- package/esm2022/f-draggable/i-can-run-outside-angular.mjs +2 -0
- package/esm2022/f-draggable/index.mjs +4 -1
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +8 -10
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +8 -10
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +8 -8
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +92 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +3 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +4 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -0
- package/esm2022/f-draggable/node/index.mjs +4 -4
- package/esm2022/f-draggable/node/node-move-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +51 -0
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/node/node-move-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/node/node-move-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +60 -0
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +41 -0
- package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/node/node.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/providers.mjs +7 -7
- package/esm2022/f-draggable/node-resize/index.mjs +5 -0
- package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +26 -0
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +52 -0
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +41 -0
- package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +49 -0
- package/esm2022/f-draggable/node-resize/providers.mjs +7 -0
- package/esm2022/f-draggable/providers.mjs +17 -0
- package/esm2022/f-draggable/selection-area/index.mjs +3 -4
- package/esm2022/f-draggable/selection-area/providers.mjs +5 -7
- package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +5 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/providers.mjs +7 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +26 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +6 -0
- package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +25 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +5 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/providers.mjs +7 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +38 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +6 -0
- package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
- package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +5 -5
- package/esm2022/f-draggable/single-select/index.mjs +4 -2
- package/esm2022/f-draggable/single-select/providers.mjs +5 -3
- package/esm2022/f-draggable/single-select/single-select.execution.mjs +80 -0
- package/esm2022/f-draggable/single-select/single-select.request.mjs +6 -0
- package/esm2022/f-draggable/single-select/single-select.validator.mjs +24 -0
- package/esm2022/f-external-item/f-external-item-base.mjs +4 -4
- package/esm2022/f-external-item/f-external-item.directive.mjs +4 -4
- package/esm2022/f-external-item/f-external-item.service.mjs +4 -4
- package/esm2022/f-external-item/index.mjs +2 -1
- package/esm2022/f-external-item/providers.mjs +5 -0
- package/esm2022/f-flow/f-flow.component.mjs +9 -19
- package/esm2022/f-flow/index.mjs +2 -1
- package/esm2022/f-flow/providers.mjs +5 -0
- package/esm2022/f-flow.module.mjs +58 -107
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +14 -13
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +4 -4
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -12
- package/esm2022/f-line-alignment/index.mjs +2 -1
- package/esm2022/f-line-alignment/providers.mjs +5 -0
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +8 -26
- package/esm2022/f-node/f-drag-handle/index.mjs +1 -2
- package/esm2022/f-node/f-node-base.mjs +8 -4
- package/esm2022/f-node/f-node.directive.mjs +24 -7
- package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +8 -0
- package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +55 -0
- package/esm2022/f-node/f-resize-handle/index.mjs +3 -0
- package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +27 -0
- package/esm2022/f-node/f-rotate-handle/index.mjs +2 -0
- package/esm2022/f-node/index.mjs +4 -1
- package/esm2022/f-node/providers.mjs +10 -0
- package/esm2022/f-selection-area/f-selection-area-base.mjs +4 -4
- package/esm2022/f-selection-area/f-selection-area.component.mjs +4 -4
- package/esm2022/f-selection-area/index.mjs +2 -1
- package/esm2022/f-selection-area/providers.mjs +5 -0
- package/esm2022/f-storage/f-components-store.mjs +4 -5
- package/esm2022/infrastructure/f-mediator/f-execution-register.mjs +7 -0
- package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +29 -0
- package/esm2022/infrastructure/f-mediator/f-validator-register.mjs +7 -0
- package/esm2022/infrastructure/f-mediator/index.mjs +4 -0
- package/esm2022/infrastructure/index.mjs +3 -0
- package/esm2022/infrastructure/pipeline/i-execution.mjs +2 -0
- package/esm2022/infrastructure/pipeline/i-validator.mjs +2 -0
- package/esm2022/infrastructure/pipeline/index.mjs +4 -0
- package/esm2022/infrastructure/pipeline/pipeline.mjs +19 -0
- package/esm2022/public-api.mjs +2 -3
- package/f-backgroud/index.d.ts +1 -0
- package/f-backgroud/providers.d.ts +4 -0
- package/f-canvas/f-canvas-base.d.ts +1 -0
- package/f-canvas/f-canvas.component.d.ts +1 -1
- package/f-canvas/index.d.ts +1 -0
- package/f-canvas/providers.d.ts +3 -0
- package/f-connection/common/f-connection-base.d.ts +8 -6
- package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +2 -2
- package/f-connection/common/f-connection-text/i-connection-text.d.ts +2 -2
- package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +2 -2
- package/f-connection/common/f-gradient/i-connection-gradient.d.ts +2 -2
- package/f-connection/common/index.d.ts +0 -2
- package/f-connection/f-connection/f-connection.component.d.ts +1 -1
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
- package/f-connection/index.d.ts +1 -0
- package/f-connection/providers.d.ts +6 -0
- package/f-connectors/index.d.ts +1 -0
- package/f-connectors/providers.d.ts +4 -0
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +11 -0
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts +5 -0
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.d.ts +11 -0
- package/f-draggable/canvas/canvas-move-finalize/index.d.ts +4 -0
- package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +3 -0
- package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +14 -0
- package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts +5 -0
- package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +17 -0
- package/f-draggable/canvas/canvas-move-preparation/index.d.ts +4 -0
- package/f-draggable/canvas/canvas-move-preparation/providers.d.ts +3 -0
- package/f-draggable/canvas/index.d.ts +2 -2
- package/f-draggable/canvas/providers.d.ts +1 -3
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +21 -0
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.d.ts +5 -0
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.d.ts +11 -0
- package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +4 -0
- package/f-draggable/connections/create-connection/create-connection-finalize/providers.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +16 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +8 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.d.ts +2 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +15 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +5 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.d.ts +2 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +15 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +5 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +14 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +4 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +16 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +5 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +15 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +7 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/providers.d.ts +3 -0
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +1 -1
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +16 -0
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +5 -0
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +12 -0
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +4 -0
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.d.ts +3 -0
- package/f-draggable/connections/create-connection/index.d.ts +3 -3
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +22 -0
- package/f-draggable/connections/{find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts → get-input-under-pointer/get-input-under-pointer.request.d.ts} +1 -1
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +13 -0
- package/f-draggable/connections/get-input-under-pointer/index.d.ts +4 -0
- package/f-draggable/connections/get-input-under-pointer/providers.d.ts +3 -0
- package/f-draggable/connections/index.d.ts +1 -1
- package/f-draggable/connections/providers.d.ts +1 -4
- package/f-draggable/connections/reassign-connection/index.d.ts +2 -2
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +4 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.d.ts +3 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +19 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts +5 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.d.ts +11 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +4 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.d.ts +3 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +21 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +5 -0
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +18 -0
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +1 -1
- package/f-draggable/e-f-draggable-type.d.ts +2 -0
- package/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.d.ts +21 -0
- package/f-draggable/external-item/external-item-finalize/external-item-finalize.request.d.ts +5 -0
- package/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.d.ts +11 -0
- package/f-draggable/external-item/external-item-finalize/index.d.ts +4 -0
- package/f-draggable/external-item/external-item-finalize/providers.d.ts +3 -0
- package/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.d.ts +17 -0
- package/f-draggable/external-item/external-item-preparation/external-item-preparation.request.d.ts +5 -0
- package/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.d.ts +12 -0
- package/f-draggable/external-item/external-item-preparation/index.d.ts +4 -0
- package/f-draggable/external-item/external-item-preparation/providers.d.ts +3 -0
- package/f-draggable/external-item/index.d.ts +2 -2
- package/f-draggable/external-item/providers.d.ts +1 -3
- package/f-draggable/f-draggable-base.d.ts +2 -3
- package/f-draggable/f-draggable.directive.d.ts +3 -4
- package/f-draggable/i-can-run-outside-angular.d.ts +3 -0
- package/f-draggable/index.d.ts +3 -0
- package/f-draggable/node/connection-source.drag-handler.d.ts +1 -1
- package/f-draggable/node/connection-target.drag-handler.d.ts +1 -1
- package/f-draggable/node/connection.drag-handler.d.ts +2 -2
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +27 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts +2 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +3 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +2 -0
- package/f-draggable/node/index.d.ts +3 -3
- package/f-draggable/node/node-move-finalize/index.d.ts +4 -0
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +17 -0
- package/f-draggable/node/node-move-finalize/node-move-finalize.request.d.ts +5 -0
- package/f-draggable/node/node-move-finalize/node-move-finalize.validator.d.ts +11 -0
- package/f-draggable/node/node-move-finalize/providers.d.ts +3 -0
- package/f-draggable/node/node-move-preparation/index.d.ts +4 -0
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +21 -0
- package/f-draggable/node/node-move-preparation/node-move-preparation.request.d.ts +5 -0
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +17 -0
- package/f-draggable/node/node-move-preparation/providers.d.ts +3 -0
- package/f-draggable/node/providers.d.ts +1 -4
- package/f-draggable/node-resize/index.d.ts +4 -0
- package/f-draggable/node-resize/node-resize-finalize/index.d.ts +4 -0
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +11 -0
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.d.ts +5 -0
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.d.ts +11 -0
- package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +3 -0
- package/f-draggable/node-resize/node-resize-preparation/index.d.ts +4 -0
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +18 -0
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.d.ts +5 -0
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +17 -0
- package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +3 -0
- package/f-draggable/node-resize/node-resize.drag-handler.d.ts +19 -0
- package/f-draggable/node-resize/providers.d.ts +1 -0
- package/f-draggable/providers.d.ts +1 -0
- package/f-draggable/selection-area/index.d.ts +2 -3
- package/f-draggable/selection-area/providers.d.ts +1 -4
- package/f-draggable/selection-area/selection-area-finalize/index.d.ts +4 -0
- package/f-draggable/selection-area/selection-area-finalize/providers.d.ts +3 -0
- package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.d.ts +11 -0
- package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.d.ts +5 -0
- package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.d.ts +11 -0
- package/f-draggable/selection-area/selection-area-preparation/index.d.ts +4 -0
- package/f-draggable/selection-area/selection-area-preparation/providers.d.ts +3 -0
- package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.d.ts +15 -0
- package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.d.ts +5 -0
- package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.d.ts +12 -0
- package/f-draggable/selection-area/selection-area.drag-handle.d.ts +3 -3
- package/f-draggable/single-select/index.d.ts +3 -1
- package/f-draggable/single-select/providers.d.ts +3 -2
- package/f-draggable/single-select/{single-select.on-pointer-down.d.ts → single-select.execution.d.ts} +7 -7
- package/f-draggable/single-select/single-select.request.d.ts +5 -0
- package/f-draggable/single-select/single-select.validator.d.ts +11 -0
- package/f-external-item/index.d.ts +1 -0
- package/f-external-item/providers.d.ts +2 -0
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-flow/index.d.ts +1 -0
- package/f-flow/providers.d.ts +2 -0
- package/f-flow.module.d.ts +26 -26
- package/f-line-alignment/domain/nearest-coordinate.d.ts +3 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +3 -2
- package/f-line-alignment/index.d.ts +1 -0
- package/f-line-alignment/providers.d.ts +2 -0
- package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +4 -9
- package/f-node/f-drag-handle/index.d.ts +0 -1
- package/f-node/f-node-base.d.ts +6 -2
- package/f-node/f-node.directive.d.ts +6 -2
- package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -0
- package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +19 -0
- package/f-node/f-resize-handle/index.d.ts +2 -0
- package/f-node/f-rotate-handle/f-rotate-handle.directive.d.ts +9 -0
- package/f-node/f-rotate-handle/index.d.ts +1 -0
- package/f-node/index.d.ts +3 -0
- package/f-node/providers.d.ts +4 -0
- package/f-selection-area/index.d.ts +1 -0
- package/f-selection-area/providers.d.ts +2 -0
- package/f-storage/f-components-store.d.ts +0 -2
- package/fesm2022/foblex-flow.mjs +3934 -2802
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/infrastructure/f-mediator/f-execution-register.d.ts +5 -0
- package/{f-mediator → infrastructure/f-mediator}/f-flow-mediator.d.ts +3 -3
- package/infrastructure/f-mediator/f-validator-register.d.ts +5 -0
- package/infrastructure/f-mediator/index.d.ts +3 -0
- package/infrastructure/index.d.ts +2 -0
- package/infrastructure/pipeline/i-execution.d.ts +3 -0
- package/infrastructure/pipeline/i-validator.d.ts +3 -0
- package/infrastructure/pipeline/index.d.ts +3 -0
- package/infrastructure/pipeline/pipeline.d.ts +11 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -2
- package/domain/get-connection-vector/get-connection-vector.handler.d.ts +0 -12
- package/domain/get-connection-vector/get-connection-vector.request.d.ts +0 -11
- package/domain/get-connection-vector/index.d.ts +0 -2
- package/domain/get-nodes-rect/get-nodes-rect.handler.d.ts +0 -11
- package/domain/update-item-layer/update-item-layer.handler.d.ts +0 -8
- package/esm2022/domain/clear-selection/clear-selection.handler.mjs +0 -28
- package/esm2022/domain/create-connection-markers/create-connection-markers.handler.mjs +0 -49
- package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +0 -79
- package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +0 -10
- package/esm2022/domain/get-connection-vector/index.mjs +0 -3
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +0 -34
- package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.mjs +0 -34
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.handler.mjs +0 -30
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +0 -37
- package/esm2022/domain/get-position-in-flow/get-position-in-flow.handler.mjs +0 -32
- package/esm2022/domain/get-selection/get-selection.handler.mjs +0 -35
- package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +0 -60
- package/esm2022/domain/select/select.handler.mjs +0 -44
- package/esm2022/domain/select-all/select-all.handler.mjs +0 -38
- package/esm2022/domain/update-item-layer/update-item-layer.handler.mjs +0 -29
- package/esm2022/f-connection/common/cast-to-connection-behavior.mjs +0 -9
- package/esm2022/f-connection/common/cast-to-connection-type.mjs +0 -9
- package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +0 -23
- package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +0 -37
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +0 -48
- package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +0 -85
- 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 +0 -34
- package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +0 -2
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +0 -54
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +0 -7
- 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 +0 -34
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +0 -2
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/index.mjs +0 -4
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +0 -36
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +0 -53
- package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +0 -45
- package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +0 -44
- package/esm2022/f-draggable/node/domain/is-connection-under-node/index.mjs +0 -2
- package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +0 -73
- package/esm2022/f-draggable/node/node.on-pointer-up.mjs +0 -41
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +0 -101
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +0 -55
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -2
- package/esm2022/f-draggable/selection-area/get-can-be-selected-items/index.mjs +0 -3
- package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +0 -23
- package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +0 -32
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +0 -75
- package/esm2022/f-group/f-group-base.mjs +0 -6
- package/esm2022/f-group/f-group.directive.mjs +0 -110
- package/esm2022/f-group/index.mjs +0 -4
- package/esm2022/f-group/is-group.mjs +0 -4
- package/esm2022/f-mediator/f-flow-mediator.mjs +0 -24
- package/esm2022/f-mediator/f-handler-register.mjs +0 -7
- package/esm2022/f-mediator/index.mjs +0 -3
- package/esm2022/f-node/f-drag-handle/is-drag-handle.mjs +0 -20
- package/f-connection/common/cast-to-connection-behavior.d.ts +0 -2
- package/f-connection/common/cast-to-connection-type.d.ts +0 -2
- package/f-draggable/canvas/canvas.on-pointer-up.d.ts +0 -10
- package/f-draggable/canvas/canvas.prepare-drag-sequence.d.ts +0 -13
- package/f-draggable/connections/create-connection/create-connection.on-pointer-up.d.ts +0 -16
- package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +0 -20
- 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 +0 -13
- package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.d.ts +0 -1
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +0 -18
- 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 +0 -13
- package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.d.ts +0 -1
- package/f-draggable/connections/find-inputs-under-pointer/index.d.ts +0 -3
- package/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.d.ts +0 -15
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +0 -18
- package/f-draggable/external-item/external-item.on-pointer-up.d.ts +0 -16
- package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +0 -16
- package/f-draggable/node/domain/is-connection-under-node/index.d.ts +0 -1
- package/f-draggable/node/node.on-pointer-up.d.ts +0 -15
- package/f-draggable/node/node.prepare-drag-sequence.d.ts +0 -22
- package/f-draggable/selection-area/get-can-be-selected-items/index.d.ts +0 -2
- package/f-draggable/selection-area/selection-area.on-pointer-up.d.ts +0 -10
- package/f-draggable/selection-area/selection-area.prepare-drag-sequence.d.ts +0 -15
- package/f-group/f-group-base.d.ts +0 -6
- package/f-group/f-group.directive.d.ts +0 -31
- package/f-group/index.d.ts +0 -3
- package/f-group/is-group.d.ts +0 -1
- package/f-mediator/f-handler-register.d.ts +0 -5
- package/f-mediator/index.d.ts +0 -2
- package/f-node/f-drag-handle/is-drag-handle.d.ts +0 -1
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../../f-storage";
|
|
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: "17.3.1", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FirstNotConnectedInputOfNodeUnderPointerHandler, decorators: [{
|
|
32
|
-
type: Injectable
|
|
33
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci9maXJzdC1ub3QtY29ubmVjdGVkLWlucHV0LW9mLW5vZGUtdW5kZXItcG9pbnRlci9maXJzdC1ub3QtY29ubmVjdGVkLWlucHV0LW9mLW5vZGUtdW5kZXItcG9pbnRlci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sK0NBQStDO0lBRzFELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQ1ksZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFvQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFrQixDQUFDO1FBRTlGLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFFckMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hFLE9BQU8sQ0FBRSxDQUFvQixDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FoQ1UsK0NBQStDO2tIQUEvQywrQ0FBK0M7OzJGQUEvQywrQ0FBK0M7a0JBRDNELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlLCBGTm9kZUlucHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlyc3ROb3RDb25uZWN0ZWRJbnB1dE9mTm9kZVVuZGVyUG9pbnRlckhhbmRsZXJcbiAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZOb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gIH1cblxuICBwcml2YXRlIGdldCBmSW5wdXRzKCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShldmVudDogSVBvaW50ZXJFdmVudCk6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG4gICAgY29uc3QgZWxlbWVudHNGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChwb3NpdGlvbi54LCBwb3NpdGlvbi55KSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gICAgY29uc3Qgbm9kZXMgPSBlbGVtZW50c0Zyb21Qb2ludC5tYXAoKGVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkpXG4gICAgfSkuZmlsdGVyKCh4KSA9PiAhIXgpIGFzIEZOb2RlQmFzZVtdO1xuXG4gICAgY29uc3QgaW5wdXRzID0gbm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mSW5wdXRzLmZpbHRlcigoaSkgPT4geC5pc0NvbnRhaW5zKGkuaG9zdEVsZW1lbnQpKS5maW5kKChpKSA9PiB7XG4gICAgICAgIHJldHVybiAhKGkgYXMgRk5vZGVJbnB1dEJhc2UpLmlzQ29ubmVjdGVkICYmIGkuY2FuQmVDb25uZWN0ZWQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBpbnB1dHMuZmluZCgoeCkgPT4gISF4KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './first-not-connected-input-of-node-under-pointer.handler';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlyc3Qtbm90LWNvbm5lY3RlZC1pbnB1dC1vZi1ub2RlLXVuZGVyLXBvaW50ZXIuaGFuZGxlcic7XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './first-not-connected-input-of-node-under-pointer';
|
|
2
|
-
export * from './find-inputs-under-pointer.request';
|
|
3
|
-
export * from './find-inputs-under-pointer.handler';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcnN0LW5vdC1jb25uZWN0ZWQtaW5wdXQtb2Ytbm9kZS11bmRlci1wb2ludGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5oYW5kbGVyJztcbiJdfQ==
|
package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { EFDraggableType } from '../../e-f-draggable-type';
|
|
2
|
-
import { FindInputsUnderPointerRequest, FReassignConnectionEvent } from '../index';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../f-storage";
|
|
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 === EFDraggableType.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.fInputId !== inputsUnderPointer[0]?.id) {
|
|
24
|
-
this.fDraggable.fReassignConnection.emit(new FReassignConnectionEvent(handler.connection.fConnectionId, handler.connection.fOutputId, handler.connection.fInputId, inputsUnderPointer[0]?.id));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
handler.complete();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", 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: "17.3.1", ngImport: i0, type: ReassignConnectionOnPointerUp }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionOnPointerUp, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FindInputsUnderPointerHandler }] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5vbi1wb2ludGVyLXVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9yZWFzc2lnbi1jb25uZWN0aW9uL3JlYXNzaWduLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUVMLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDekIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsNkJBQTREO1FBRjVELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO0lBRXhFLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuSSxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQW1DLENBQUM7WUFFaEcsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUNsRSxJQUFJLDZCQUE2QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDbEQsQ0FBQztZQUVGLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxLQUFLLGtCQUFrQixDQUFFLENBQUMsQ0FBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO29CQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDdEMsSUFBSSx3QkFBd0IsQ0FDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQzlELE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUMzQixrQkFBa0IsQ0FBRSxDQUFDLENBQUUsRUFBRSxFQUFFLENBQzVCLENBQ0YsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQzs4R0FwQ1UsNkJBQTZCO2tIQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRUZEcmFnZ2FibGVUeXBlIH0gZnJvbSAnLi4vLi4vZS1mLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7XG4gIEZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyLFxuICBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50XG59IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWFzc2lnbkNvbm5lY3Rpb25PblBvaW50ZXJVcFxuICBpbXBsZW1lbnRzIElIYW5kbGVyPElQb2ludGVyRXZlbnQsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmRHJhZ2dhYmxlKCk6IEZEcmFnZ2FibGVCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBmaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcjogRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXJcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaXNSZWFzc2lnbkNvbm5lY3Rpb24gPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVGRHJhZ2dhYmxlVHlwZS5SRUFTU0lHTl9DT05ORUNUSU9OKTtcbiAgICBpZiAoaXNSZWFzc2lnbkNvbm5lY3Rpb24pIHtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIFJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyO1xuXG4gICAgICBjb25zdCBpbnB1dHNVbmRlclBvaW50ZXIgPSB0aGlzLmZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyLmhhbmRsZShcbiAgICAgICAgbmV3IEZpbmRJbnB1dHNVbmRlclBvaW50ZXJSZXF1ZXN0KGV2ZW50LCBoYW5kbGVyKVxuICAgICAgKTtcblxuICAgICAgaWYgKGlucHV0c1VuZGVyUG9pbnRlci5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChoYW5kbGVyLmNvbm5lY3Rpb24uZklucHV0SWQgIT09IGlucHV0c1VuZGVyUG9pbnRlclsgMCBdPy5pZCkge1xuICAgICAgICAgIHRoaXMuZkRyYWdnYWJsZS5mUmVhc3NpZ25Db25uZWN0aW9uLmVtaXQoXG4gICAgICAgICAgICBuZXcgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50KFxuICAgICAgICAgICAgICBoYW5kbGVyLmNvbm5lY3Rpb24uZkNvbm5lY3Rpb25JZCwgaGFuZGxlci5jb25uZWN0aW9uLmZPdXRwdXRJZCxcbiAgICAgICAgICAgICAgaGFuZGxlci5jb25uZWN0aW9uLmZJbnB1dElkLFxuICAgICAgICAgICAgICBpbnB1dHNVbmRlclBvaW50ZXJbIDAgXT8uaWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoYW5kbGVyLmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ReassignConnectionDragHandler } from './reassign-connection.drag-handler';
|
|
4
|
-
import { UpdateItemLayerRequest } from '../../../domain';
|
|
5
|
-
import { F_CONNECTION_DRAG_HANDLE_CLASS } from '../../../f-connection';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../f-storage";
|
|
8
|
-
import * as i2 from "../../f-draggable-data-context";
|
|
9
|
-
import * as i3 from "../../../domain";
|
|
10
|
-
import * as i4 from "../../../f-mediator";
|
|
11
|
-
export class ReassignConnectionPrepareDragSequence {
|
|
12
|
-
get transform() {
|
|
13
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
14
|
-
}
|
|
15
|
-
get flowHost() {
|
|
16
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
17
|
-
}
|
|
18
|
-
constructor(fComponentsStore, fDraggableDataContext, getConnectionHandler, fMediator) {
|
|
19
|
-
this.fComponentsStore = fComponentsStore;
|
|
20
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
21
|
-
this.getConnectionHandler = getConnectionHandler;
|
|
22
|
-
this.fMediator = fMediator;
|
|
23
|
-
}
|
|
24
|
-
handle(event) {
|
|
25
|
-
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
26
|
-
const position = event.getPosition();
|
|
27
|
-
const allElements = document.elementsFromPoint(position.x, position.y);
|
|
28
|
-
const dragHandlesOfConnections = allElements.filter((x) => {
|
|
29
|
-
return !!this.getConnectionHandler.handle(x) && x.classList.contains(F_CONNECTION_DRAG_HANDLE_CLASS);
|
|
30
|
-
});
|
|
31
|
-
let connectionToReassign;
|
|
32
|
-
if (dragHandlesOfConnections.length) {
|
|
33
|
-
const connections = dragHandlesOfConnections.map((x) => this.getConnectionHandler.handle(x)).filter((x) => !x?.fDraggingDisabled);
|
|
34
|
-
if (connections.length) {
|
|
35
|
-
connectionToReassign = this.getConnectionHandler.handle(dragHandlesOfConnections[0]);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (connectionToReassign && !this.fDraggableDataContext.draggableItems.length) {
|
|
39
|
-
this.fMediator.send(new UpdateItemLayerRequest(connectionToReassign, this.fComponentsStore.fCanvas.fConnectionsContainer.nativeElement));
|
|
40
|
-
this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
|
|
41
|
-
this.fDraggableDataContext.onPointerDownPosition = pointerPositionInFlow.div(this.transform.scale);
|
|
42
|
-
this.fDraggableDataContext.draggableItems = [
|
|
43
|
-
new ReassignConnectionDragHandler(this.fMediator, connectionToReassign)
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetConnectionHandler }, { token: i4.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReassignConnectionPrepareDragSequence, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetConnectionHandler }, { type: i4.FFlowMediator }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5wcmVwYXJlLWRyYWctc2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5wcmVwYXJlLWRyYWctc2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQ2lCLHNCQUFzQixFQUM3QyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSw4QkFBOEIsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBSXhGLE1BQU0sT0FBTyxxQ0FBcUM7SUFHaEQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsb0JBQTBDLEVBQzFDLFNBQXdCO1FBSHhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFFcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFvQjtRQUVoQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkUsTUFBTSx3QkFBd0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksb0JBQWlELENBQUM7UUFDdEQsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pKLElBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFFLENBQUMsQ0FBaUIsQ0FBQyxDQUFDO1lBQ3hHLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksc0JBQXNCLENBQ3hCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUN6RixDQUNGLENBQUM7WUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFFckUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRW5HLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUc7Z0JBQzFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQzthQUN4RSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBbkRVLHFDQUFxQztrSEFBckMscUNBQXFDOzsyRkFBckMscUNBQXFDO2tCQURqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElQb2ludGVyRXZlbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEdldENvbm5lY3Rpb25IYW5kbGVyLCBVcGRhdGVJdGVtTGF5ZXJSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fRFJBR19IQU5ETEVfQ0xBU1MsIEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vLi4vZi1tZWRpYXRvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgICBwcml2YXRlIGdldENvbm5lY3Rpb25IYW5kbGVyOiBHZXRDb25uZWN0aW9uSGFuZGxlcixcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuXG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5GbG93ID0gUG9pbnQuZnJvbVBvaW50KGV2ZW50LmdldFBvc2l0aW9uKCkpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5mbG93SG9zdCk7XG4gICAgY29uc3QgcG9zaXRpb24gPSBldmVudC5nZXRQb3NpdGlvbigpO1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb24ueCwgcG9zaXRpb24ueSk7XG5cbiAgICBjb25zdCBkcmFnSGFuZGxlc09mQ29ubmVjdGlvbnMgPSBhbGxFbGVtZW50cy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2V0Q29ubmVjdGlvbkhhbmRsZXIuaGFuZGxlKHggYXMgSFRNTEVsZW1lbnQpICYmIHguY2xhc3NMaXN0LmNvbnRhaW5zKEZfQ09OTkVDVElPTl9EUkFHX0hBTkRMRV9DTEFTUyk7XG4gICAgfSk7XG5cbiAgICBsZXQgY29ubmVjdGlvblRvUmVhc3NpZ246IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoZHJhZ0hhbmRsZXNPZkNvbm5lY3Rpb25zLmxlbmd0aCkge1xuICAgICAgY29uc3QgY29ubmVjdGlvbnMgPSBkcmFnSGFuZGxlc09mQ29ubmVjdGlvbnMubWFwKCh4KSA9PiB0aGlzLmdldENvbm5lY3Rpb25IYW5kbGVyLmhhbmRsZSh4IGFzIEhUTUxFbGVtZW50KSkuZmlsdGVyKCh4KSA9PiAheD8uZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgICAgaWYoY29ubmVjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbm5lY3Rpb25Ub1JlYXNzaWduID0gdGhpcy5nZXRDb25uZWN0aW9uSGFuZGxlci5oYW5kbGUoZHJhZ0hhbmRsZXNPZkNvbm5lY3Rpb25zWyAwIF0gYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb25uZWN0aW9uVG9SZWFzc2lnbiAmJiAhdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KFxuICAgICAgICBuZXcgVXBkYXRlSXRlbUxheWVyUmVxdWVzdChcbiAgICAgICAgICBjb25uZWN0aW9uVG9SZWFzc2lnbiwgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZDb25uZWN0aW9uc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUgPSB0aGlzLnRyYW5zZm9ybS5zY2FsZTtcblxuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gcG9pbnRlclBvc2l0aW9uSW5GbG93LmRpdih0aGlzLnRyYW5zZm9ybS5zY2FsZSk7XG5cbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW1xuICAgICAgICBuZXcgUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIGNvbm5lY3Rpb25Ub1JlYXNzaWduKVxuICAgICAgXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { EFDraggableType } from '../e-f-draggable-type';
|
|
4
|
-
import { FCreateNodeEvent } from './f-create-node.event';
|
|
5
|
-
import { GetElementRectInFlowRequest } from '../../domain';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../f-storage";
|
|
8
|
-
import * as i2 from "../f-draggable-data-context";
|
|
9
|
-
import * as i3 from "../../f-mediator";
|
|
10
|
-
export class ExternalItemOnPointerUp {
|
|
11
|
-
get flowHost() {
|
|
12
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
13
|
-
}
|
|
14
|
-
get fCreateNode() {
|
|
15
|
-
return this.fComponentsStore.fDraggable.fCreateNode;
|
|
16
|
-
}
|
|
17
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
18
|
-
this.fComponentsStore = fComponentsStore;
|
|
19
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
20
|
-
this.fMediator = fMediator;
|
|
21
|
-
}
|
|
22
|
-
handle(event) {
|
|
23
|
-
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
24
|
-
let difference = pointerPositionInFlow.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
|
|
25
|
-
const isDragPaletteItem = this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.PALETTE_ITEM);
|
|
26
|
-
if (isDragPaletteItem) {
|
|
27
|
-
const dragHandler = this.fDraggableDataContext.draggableItems[0];
|
|
28
|
-
dragHandler.move(difference);
|
|
29
|
-
let elementsFromPoint = document.elementsFromPoint(event.getPosition().x, event.getPosition().y);
|
|
30
|
-
elementsFromPoint = elementsFromPoint.filter((x, i) => !x.closest('.f-external-item'));
|
|
31
|
-
const isPointerInCanvasRect = elementsFromPoint.length ? this.flowHost.contains(elementsFromPoint[0]) : false;
|
|
32
|
-
if (isPointerInCanvasRect) {
|
|
33
|
-
const rectInCanvas = this.fMediator.send(new GetElementRectInFlowRequest(dragHandler.placeholder));
|
|
34
|
-
this.fCreateNode.emit(new FCreateNodeEvent(rectInCanvas, dragHandler.externalItem.fData));
|
|
35
|
-
}
|
|
36
|
-
dragHandler.complete();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemOnPointerUp, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemOnPointerUp }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemOnPointerUp, decorators: [{
|
|
43
|
-
type: Injectable
|
|
44
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaXRlbS5vbi1wb2ludGVyLXVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9leHRlcm5hbC1pdGVtL2V4dGVybmFsLWl0ZW0ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQUczRCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFZLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVyxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQXdCO1FBRnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxjQUFTLEdBQVQsU0FBUyxDQUFlO0lBRWxDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRyxJQUFJLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRWhKLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpILElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBNkIsQ0FBQTtZQUM3RixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTdCLElBQUksaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFFdkYsTUFBTSxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5RyxJQUFJLHFCQUFxQixFQUFFLENBQUM7Z0JBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksMkJBQTJCLENBQUMsV0FBVyxDQUFDLFdBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUNuRSxDQUFDO1lBQ0osQ0FBQztZQUVELFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQzs4R0F4Q1UsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCwgSVJlY3QsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRUZEcmFnZ2FibGVUeXBlIH0gZnJvbSAnLi4vZS1mLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7IEV4dGVybmFsSXRlbURyYWdIYW5kbGVyIH0gZnJvbSAnLi9leHRlcm5hbC1pdGVtLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ3JlYXRlTm9kZUV2ZW50IH0gZnJvbSAnLi9mLWNyZWF0ZS1ub2RlLmV2ZW50JztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFeHRlcm5hbEl0ZW1PblBvaW50ZXJVcCBpbXBsZW1lbnRzIElIYW5kbGVyPElQb2ludGVyRXZlbnQsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBmQ3JlYXRlTm9kZSgpOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuZkNyZWF0ZU5vZGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkZsb3cgPSBQb2ludC5mcm9tUG9pbnQoZXZlbnQuZ2V0UG9zaXRpb24oKSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLmZsb3dIb3N0KTtcbiAgICBsZXQgZGlmZmVyZW5jZSA9IHBvaW50ZXJQb3NpdGlvbkluRmxvdy5kaXYodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlKS5zdWIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uKTtcblxuICAgIGNvbnN0IGlzRHJhZ1BhbGV0dGVJdGVtID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZSgoeCkgPT4geC50eXBlID09PSBFRkRyYWdnYWJsZVR5cGUuUEFMRVRURV9JVEVNKTtcblxuICAgIGlmIChpc0RyYWdQYWxldHRlSXRlbSkge1xuICAgICAgY29uc3QgZHJhZ0hhbmRsZXIgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIEV4dGVybmFsSXRlbURyYWdIYW5kbGVyXG4gICAgICBkcmFnSGFuZGxlci5tb3ZlKGRpZmZlcmVuY2UpO1xuXG4gICAgICBsZXQgZWxlbWVudHNGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpLngsIGV2ZW50LmdldFBvc2l0aW9uKCkueSk7XG4gICAgICBlbGVtZW50c0Zyb21Qb2ludCA9IGVsZW1lbnRzRnJvbVBvaW50LmZpbHRlcigoeCwgaSkgPT4gIXguY2xvc2VzdCgnLmYtZXh0ZXJuYWwtaXRlbScpKTtcblxuICAgICAgY29uc3QgaXNQb2ludGVySW5DYW52YXNSZWN0ID0gZWxlbWVudHNGcm9tUG9pbnQubGVuZ3RoID8gdGhpcy5mbG93SG9zdC5jb250YWlucyhlbGVtZW50c0Zyb21Qb2ludFswXSkgOiBmYWxzZTtcbiAgICAgIGlmIChpc1BvaW50ZXJJbkNhbnZhc1JlY3QpIHtcbiAgICAgICAgY29uc3QgcmVjdEluQ2FudmFzID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdChkcmFnSGFuZGxlci5wbGFjZWhvbGRlciEpKTtcbiAgICAgICAgdGhpcy5mQ3JlYXRlTm9kZS5lbWl0KFxuICAgICAgICAgIG5ldyBGQ3JlYXRlTm9kZUV2ZW50KHJlY3RJbkNhbnZhcywgZHJhZ0hhbmRsZXIuZXh0ZXJuYWxJdGVtLmZEYXRhKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBkcmFnSGFuZGxlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ExternalItemDragHandler } from './external-item.drag-handler';
|
|
4
|
-
import { getExternalItem, isExternalItem } from '../../f-external-item';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../f-storage";
|
|
7
|
-
import * as i2 from "../f-draggable-data-context";
|
|
8
|
-
import * as i3 from "../../f-external-item";
|
|
9
|
-
export class ExternalItemPrepareDragSequence {
|
|
10
|
-
get transform() {
|
|
11
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
12
|
-
}
|
|
13
|
-
get flowHost() {
|
|
14
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
15
|
-
}
|
|
16
|
-
constructor(fComponentsStore, fDraggableDataContext, fExternalItemService) {
|
|
17
|
-
this.fComponentsStore = fComponentsStore;
|
|
18
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
19
|
-
this.fExternalItemService = fExternalItemService;
|
|
20
|
-
}
|
|
21
|
-
handle(event) {
|
|
22
|
-
if (isExternalItem(event.targetElement)) {
|
|
23
|
-
const item = this.fExternalItemService.getItem(getExternalItem(event.targetElement));
|
|
24
|
-
if (!item) {
|
|
25
|
-
throw new Error('External item not found');
|
|
26
|
-
}
|
|
27
|
-
if (item.fDisabled) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
31
|
-
this.fDraggableDataContext.onPointerDownScale = 1;
|
|
32
|
-
this.fDraggableDataContext.onPointerDownPosition = pointerPositionInFlow.div(1);
|
|
33
|
-
this.fDraggableDataContext.draggableItems = [
|
|
34
|
-
new ExternalItemDragHandler(item)
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemPrepareDragSequence, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FExternalItemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemPrepareDragSequence }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExternalItemPrepareDragSequence, decorators: [{
|
|
42
|
-
type: Injectable
|
|
43
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FExternalItemService }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaXRlbS5wcmVwYXJlLWRyYWctc2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2V4dGVybmFsLWl0ZW0vZXh0ZXJuYWwtaXRlbS5wcmVwYXJlLWRyYWctc2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFHOUYsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxvQkFBMEM7UUFGMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFFcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUV4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRW5HLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFFbEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVoRixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxHQUFHO2dCQUMxQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQzthQUNsQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBdkNVLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElQb2ludGVyRXZlbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRXh0ZXJuYWxJdGVtRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2V4dGVybmFsLWl0ZW0uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZFeHRlcm5hbEl0ZW1TZXJ2aWNlLCBnZXRFeHRlcm5hbEl0ZW0sIGlzRXh0ZXJuYWxJdGVtIH0gZnJvbSAnLi4vLi4vZi1leHRlcm5hbC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsSXRlbVByZXBhcmVEcmFnU2VxdWVuY2UgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZFeHRlcm5hbEl0ZW1TZXJ2aWNlOiBGRXh0ZXJuYWxJdGVtU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoaXNFeHRlcm5hbEl0ZW0oZXZlbnQudGFyZ2V0RWxlbWVudCkpIHtcblxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZkV4dGVybmFsSXRlbVNlcnZpY2UuZ2V0SXRlbShnZXRFeHRlcm5hbEl0ZW0oZXZlbnQudGFyZ2V0RWxlbWVudCkpO1xuICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXh0ZXJuYWwgaXRlbSBub3QgZm91bmQnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0uZkRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5GbG93ID0gUG9pbnQuZnJvbVBvaW50KGV2ZW50LmdldFBvc2l0aW9uKCkpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5mbG93SG9zdCk7XG5cbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IDE7XG5cbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHBvaW50ZXJQb3NpdGlvbkluRmxvdy5kaXYoMSk7XG5cbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW1xuICAgICAgICBuZXcgRXh0ZXJuYWxJdGVtRHJhZ0hhbmRsZXIoaXRlbSlcbiAgICAgIF07XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './is-connection-under-node.handler';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuaGFuZGxlcic7XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { RectExtensions } from '@foblex/core';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { EFDraggableType } from '../../../e-f-draggable-type';
|
|
4
|
-
import { GetElementRectInFlowRequest } from '../../../../domain';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../../f-storage";
|
|
7
|
-
import * as i2 from "../../../f-draggable-data-context";
|
|
8
|
-
import * as i3 from "../../../../f-mediator";
|
|
9
|
-
import * as i4 from "../../../../domain";
|
|
10
|
-
export class IsConnectionUnderNodeHandler {
|
|
11
|
-
get transform() {
|
|
12
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
13
|
-
}
|
|
14
|
-
get flowHost() {
|
|
15
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
16
|
-
}
|
|
17
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator, getOutgoingConnectionsHandler, getIncomingConnectionsHandler) {
|
|
18
|
-
this.fComponentsStore = fComponentsStore;
|
|
19
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
20
|
-
this.fMediator = fMediator;
|
|
21
|
-
this.getOutgoingConnectionsHandler = getOutgoingConnectionsHandler;
|
|
22
|
-
this.getIncomingConnectionsHandler = getIncomingConnectionsHandler;
|
|
23
|
-
}
|
|
24
|
-
handle() {
|
|
25
|
-
const isValid = this.isValidRequest();
|
|
26
|
-
if (!isValid) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const fNode = this.fDraggableDataContext.draggableItems[0].fNode;
|
|
30
|
-
const outputsOfNode = this.getOutputsForNode(fNode);
|
|
31
|
-
const inputsOfNode = this.getInputsForNode(fNode);
|
|
32
|
-
const isCantBeConnectedByOutput = outputsOfNode.some((x) => !x.canBeConnected);
|
|
33
|
-
const isCantBeConnectedByInput = this.fComponentsStore.fConnections.some((x) => {
|
|
34
|
-
return inputsOfNode.find((input) => input.id === x.fInputId);
|
|
35
|
-
});
|
|
36
|
-
if (!isCantBeConnectedByInput && outputsOfNode.length && !isCantBeConnectedByOutput && inputsOfNode.length) {
|
|
37
|
-
const output = outputsOfNode[0];
|
|
38
|
-
const input = inputsOfNode[0];
|
|
39
|
-
const outgoingConnections = this.getOutgoingConnectionsHandler.handle([output]);
|
|
40
|
-
const incomingConnections = this.getIncomingConnectionsHandler.handle([input]);
|
|
41
|
-
if (outgoingConnections.length === 0 && incomingConnections.length === 0) {
|
|
42
|
-
const connections = this.findConnectionsUnderNode(fNode);
|
|
43
|
-
if (connections.length) {
|
|
44
|
-
//TODO: need to implement
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
isValidRequest() {
|
|
50
|
-
const result = this.fDraggableDataContext.draggableItems.length === 1 &&
|
|
51
|
-
this.fDraggableDataContext.draggableItems[0].type === EFDraggableType.NODE;
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
getOutputsForNode(node) {
|
|
55
|
-
return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
|
|
56
|
-
}
|
|
57
|
-
getInputsForNode(node) {
|
|
58
|
-
return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
|
|
59
|
-
}
|
|
60
|
-
findConnectionsUnderNode(node) {
|
|
61
|
-
const nodeRect = this.fMediator.send(new GetElementRectInFlowRequest(node.hostElement));
|
|
62
|
-
return this.fComponentsStore.fConnections.filter((x) => {
|
|
63
|
-
const intersection = RectExtensions.intersectionWithVector(nodeRect, x.vector.point1, x.vector.point2);
|
|
64
|
-
return (intersection || []).length > 0;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: IsConnectionUnderNodeHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }, { token: i4.GetOutgoingConnectionsHandler }, { token: i4.GetIncomingConnectionsHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: IsConnectionUnderNodeHandler }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: IsConnectionUnderNodeHandler, decorators: [{
|
|
71
|
-
type: Injectable
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }, { type: i4.GetOutgoingConnectionsHandler }, { type: i4.GetIncomingConnectionsHandler }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsMkJBQTJCLEVBRzVCLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQU81QixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDWSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQXdCLEVBQ3hCLDZCQUE0RCxFQUM1RCw2QkFBNEQ7UUFKNUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO0lBRXhFLENBQUM7SUFFTSxNQUFNO1FBRVgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxP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QUFDLEVBQUUsRUFBRTtZQUNyRCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkcsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F6RVUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgTm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vbm9kZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRUZEcmFnZ2FibGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZS1mLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7XG4gIEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCxcbiAgR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG4gIEdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW1lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElzQ29ubmVjdGlvblVuZGVyTm9kZUhhbmRsZXIgaW1wbGVtZW50cyBJSGFuZGxlcjx2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgICAgIHByaXZhdGUgZ2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXI6IEdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyLFxuICAgICAgcHJpdmF0ZSBnZXRJbmNvbWluZ0Nvbm5lY3Rpb25zSGFuZGxlcjogR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXJcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKCk6IHZvaWQge1xuXG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuaXNWYWxpZFJlcXVlc3QoKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmTm9kZSA9ICh0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIE5vZGVEcmFnSGFuZGxlcikuZk5vZGU7XG5cbiAgICBjb25zdCBvdXRwdXRzT2ZOb2RlID0gdGhpcy5nZXRPdXRwdXRzRm9yTm9kZShmTm9kZSk7XG4gICAgY29uc3QgaW5wdXRzT2ZOb2RlID0gdGhpcy5nZXRJbnB1dHNGb3JOb2RlKGZOb2RlKTtcblxuICAgIGNvbnN0IGlzQ2FudEJlQ29ubmVjdGVkQnlPdXRwdXQgPSBvdXRwdXRzT2ZOb2RlLnNvbWUoKHgpID0+ICF4LmNhbkJlQ29ubmVjdGVkKTtcblxuICAgIGNvbnN0IGlzQ2FudEJlQ29ubmVjdGVkQnlJbnB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuc29tZSgoeCkgPT4ge1xuICAgICAgcmV0dXJuIGlucHV0c09mTm9kZS5maW5kKChpbnB1dCkgPT4gaW5wdXQuaWQgPT09IHguZklucHV0SWQpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0NhbnRCZUNvbm5lY3RlZEJ5SW5wdXQgJiYgb3V0cHV0c09mTm9kZS5sZW5ndGggJiYgIWlzQ2FudEJlQ29ubmVjdGVkQnlPdXRwdXQgJiYgaW5wdXRzT2ZOb2RlLmxlbmd0aCkge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c09mTm9kZVsgMCBdO1xuICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dHNPZk5vZGVbIDAgXTtcbiAgICAgIGNvbnN0IG91dGdvaW5nQ29ubmVjdGlvbnMgPSB0aGlzLmdldE91dGdvaW5nQ29ubmVjdGlvbnNIYW5kbGVyLmhhbmRsZShbIG91dHB1dCBdKTtcbiAgICAgIGNvbnN0IGluY29taW5nQ29ubmVjdGlvbnMgPSB0aGlzLmdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyLmhhbmRsZShbIGlucHV0IF0pO1xuICAgICAgaWYgKG91dGdvaW5nQ29ubmVjdGlvbnMubGVuZ3RoID09PSAwICYmIGluY29taW5nQ29ubmVjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25zID0gdGhpcy5maW5kQ29ubmVjdGlvbnNVbmRlck5vZGUoZk5vZGUpO1xuICAgICAgICBpZiAoY29ubmVjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgLy9UT0RPOiBuZWVkIHRvIGltcGxlbWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkUmVxdWVzdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNbIDAgXS50eXBlID09PSBFRkRyYWdnYWJsZVR5cGUuTk9ERTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb25uZWN0aW9uc1VuZGVyTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3Qgbm9kZVJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KG5vZGUuaG9zdEVsZW1lbnQpKTtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIGNvbnN0IGludGVyc2VjdGlvbiA9IFJlY3RFeHRlbnNpb25zLmludGVyc2VjdGlvbldpdGhWZWN0b3Iobm9kZVJlY3QsIHgudmVjdG9yLnBvaW50MSwgeC52ZWN0b3IucG9pbnQyKTtcbiAgICAgIHJldHVybiAoaW50ZXJzZWN0aW9uIHx8IFtdKS5sZW5ndGggPiAwXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { EFDraggableType } from '../e-f-draggable-type';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../f-storage";
|
|
6
|
-
import * as i2 from "../f-draggable-data-context";
|
|
7
|
-
import * as i3 from "./domain/is-connection-under-node";
|
|
8
|
-
export class NodeOnPointerUp {
|
|
9
|
-
get flowHost() {
|
|
10
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
11
|
-
}
|
|
12
|
-
constructor(fComponentsStore, fDraggableDataContext, isConnectionUnderNodeHandler) {
|
|
13
|
-
this.fComponentsStore = fComponentsStore;
|
|
14
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
15
|
-
this.isConnectionUnderNodeHandler = isConnectionUnderNodeHandler;
|
|
16
|
-
}
|
|
17
|
-
handle(event) {
|
|
18
|
-
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
19
|
-
let difference = pointerPositionInFlow.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
|
|
20
|
-
const isDragNodes = this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.NODE);
|
|
21
|
-
if (isDragNodes) {
|
|
22
|
-
const nearestIntersection = this.fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
|
|
23
|
-
if (nearestIntersection) {
|
|
24
|
-
difference.x = nearestIntersection.xResult.value ? (difference.x - nearestIntersection.xResult.distance) : difference.x;
|
|
25
|
-
difference.y = nearestIntersection.yResult.value ? (difference.y - nearestIntersection.yResult.distance) : difference.y;
|
|
26
|
-
}
|
|
27
|
-
this.fDraggableDataContext.draggableItems.forEach((x) => {
|
|
28
|
-
x.move(difference);
|
|
29
|
-
x.complete?.();
|
|
30
|
-
});
|
|
31
|
-
this.isConnectionUnderNodeHandler.handle();
|
|
32
|
-
this.fDraggableDataContext.fLineAlignment?.complete();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodeOnPointerUp, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.IsConnectionUnderNodeHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodeOnPointerUp }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodeOnPointerUp, decorators: [{
|
|
39
|
-
type: Injectable
|
|
40
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.IsConnectionUnderNodeHandler }] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5vbi1wb2ludGVyLXVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL25vZGUub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFJM0MsTUFBTSxPQUFPLGVBQWU7SUFHMUIsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQ1ksZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1Qyw0QkFBMEQ7UUFGMUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7SUFFdEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFvQjtRQUNoQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25HLElBQUksVUFBVSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFaEosTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNHLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztnQkFDeEIsVUFBVSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN6SCxVQUFVLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDM0gsQ0FBQztZQUNELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7OEdBakNVLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUG9pbnRlckV2ZW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXNDb25uZWN0aW9uVW5kZXJOb2RlSGFuZGxlciB9IGZyb20gJy4vZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb2RlT25Qb2ludGVyVXBcbiAgICBpbXBsZW1lbnRzIElIYW5kbGVyPElQb2ludGVyRXZlbnQsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgICBwcml2YXRlIGlzQ29ubmVjdGlvblVuZGVyTm9kZUhhbmRsZXI6IElzQ29ubmVjdGlvblVuZGVyTm9kZUhhbmRsZXIsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluRmxvdyA9IFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpO1xuICAgIGxldCBkaWZmZXJlbmNlID0gcG9pbnRlclBvc2l0aW9uSW5GbG93LmRpdih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpLnN1Yih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuXG4gICAgY29uc3QgaXNEcmFnTm9kZXMgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVGRHJhZ2dhYmxlVHlwZS5OT0RFKTtcblxuICAgIGlmIChpc0RyYWdOb2Rlcykge1xuICAgICAgY29uc3QgbmVhcmVzdEludGVyc2VjdGlvbiA9IHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmZMaW5lQWxpZ25tZW50Py5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgICBpZiAobmVhcmVzdEludGVyc2VjdGlvbikge1xuICAgICAgICBkaWZmZXJlbmNlLnggPSBuZWFyZXN0SW50ZXJzZWN0aW9uLnhSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS54IC0gbmVhcmVzdEludGVyc2VjdGlvbi54UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLng7XG4gICAgICAgIGRpZmZlcmVuY2UueSA9IG5lYXJlc3RJbnRlcnNlY3Rpb24ueVJlc3VsdC52YWx1ZSA/IChkaWZmZXJlbmNlLnkgLSBuZWFyZXN0SW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgeC5tb3ZlKGRpZmZlcmVuY2UpO1xuICAgICAgICB4LmNvbXBsZXRlPy4oKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0Nvbm5lY3Rpb25VbmRlck5vZGVIYW5kbGVyLmhhbmRsZSgpO1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQ/LmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { EFDraggableType } from '../e-f-draggable-type';
|
|
4
|
-
import { NodeDragHandler } from './node.drag-handler';
|
|
5
|
-
import { ConnectionTargetDragHandler } from './connection-target.drag-handler';
|
|
6
|
-
import { ConnectionSourceDragHandler } from './connection-source.drag-handler';
|
|
7
|
-
import { ConnectionDragHandler } from './connection.drag-handler';
|
|
8
|
-
import { UpdateItemLayerRequest } from '../../domain';
|
|
9
|
-
import { isNodeDragHandle } from '../../f-node';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../../f-storage";
|
|
12
|
-
import * as i2 from "../f-draggable-data-context";
|
|
13
|
-
import * as i3 from "../../domain";
|
|
14
|
-
import * as i4 from "../../f-mediator";
|
|
15
|
-
export class NodePrepareDragSequence {
|
|
16
|
-
get transform() {
|
|
17
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
18
|
-
}
|
|
19
|
-
get flowHost() {
|
|
20
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
21
|
-
}
|
|
22
|
-
constructor(fComponentsStore, fDraggableDataContext, getOutgoingConnectionsHandler, getIncomingConnectionsHandler, fMediator) {
|
|
23
|
-
this.fComponentsStore = fComponentsStore;
|
|
24
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
25
|
-
this.getOutgoingConnectionsHandler = getOutgoingConnectionsHandler;
|
|
26
|
-
this.getIncomingConnectionsHandler = getIncomingConnectionsHandler;
|
|
27
|
-
this.fMediator = fMediator;
|
|
28
|
-
}
|
|
29
|
-
handle(event) {
|
|
30
|
-
const node = this.fComponentsStore.findNode(event.targetElement);
|
|
31
|
-
const pointerPositionInFlow = Point.fromPoint(event.getPosition()).elementTransform(this.flowHost);
|
|
32
|
-
if (node && !node.fDraggingDisabled && !this.fDraggableDataContext.draggableItems.length) {
|
|
33
|
-
if (isNodeDragHandle(event.targetElement)) {
|
|
34
|
-
if (!this.fDraggableDataContext.selectedItems.includes(node) && !node.fSelectionDisabled) {
|
|
35
|
-
this.fDraggableDataContext.selectedItems.push(node);
|
|
36
|
-
node.select();
|
|
37
|
-
this.fDraggableDataContext.isSelectedChanged = true;
|
|
38
|
-
}
|
|
39
|
-
this.fMediator.send(new UpdateItemLayerRequest(node, this.fComponentsStore.fCanvas.fNodesContainer.nativeElement));
|
|
40
|
-
const itemsToDrag = this.calculateDraggableConnectionsAndNodes();
|
|
41
|
-
const draggedNodes = itemsToDrag.filter((x) => {
|
|
42
|
-
return x.type === EFDraggableType.NODE;
|
|
43
|
-
}).map((x) => x.fNode);
|
|
44
|
-
this.fDraggableDataContext.fLineAlignment?.initialize(this.fComponentsStore.fNodes, draggedNodes);
|
|
45
|
-
this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
|
|
46
|
-
this.fDraggableDataContext.onPointerDownPosition = pointerPositionInFlow.div(this.transform.scale);
|
|
47
|
-
this.fDraggableDataContext.draggableItems = itemsToDrag;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
calculateDraggableConnectionsAndNodes() {
|
|
52
|
-
let itemsToDrag = [];
|
|
53
|
-
const selectedNodes = this.fDraggableDataContext.selectedItems.map((x) => {
|
|
54
|
-
return this.fComponentsStore.findNode(x.hostElement);
|
|
55
|
-
}).filter((x) => !!x);
|
|
56
|
-
const nodeDragHandlers = selectedNodes.map((x) => new NodeDragHandler(this.fDraggableDataContext, x));
|
|
57
|
-
itemsToDrag = nodeDragHandlers;
|
|
58
|
-
const allOutputIds = selectedNodes.reduce((result, x) => {
|
|
59
|
-
return result.concat(this.getOutputsForNode(x));
|
|
60
|
-
}, []).map((x) => x.id);
|
|
61
|
-
const allInputIds = selectedNodes.reduce((result, x) => {
|
|
62
|
-
return result.concat(this.getInputsForNode(x));
|
|
63
|
-
}, []).map((x) => x.id);
|
|
64
|
-
nodeDragHandlers.forEach((nodeHandler) => {
|
|
65
|
-
const outputConnections = this.getOutgoingConnectionsHandler.handle(this.getOutputsForNode(nodeHandler.fNode));
|
|
66
|
-
outputConnections.forEach((c) => {
|
|
67
|
-
if (allInputIds.includes(c.fInputId)) {
|
|
68
|
-
itemsToDrag.push(new ConnectionDragHandler(this.fMediator, c));
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
itemsToDrag.push(new ConnectionSourceDragHandler(this.fMediator, c));
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
const inputConnections = this.getIncomingConnectionsHandler.handle(this.getInputsForNode(nodeHandler.fNode));
|
|
75
|
-
inputConnections.forEach((c) => {
|
|
76
|
-
if (allOutputIds.includes(c.fOutputId)) {
|
|
77
|
-
const index = itemsToDrag.findIndex((x) => x.type === EFDraggableType.CONNECTION && x.connection.fConnectionId === c.fConnectionId);
|
|
78
|
-
if (index !== -1) {
|
|
79
|
-
itemsToDrag.push(new ConnectionDragHandler(this.fMediator, c));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
itemsToDrag.push(new ConnectionTargetDragHandler(this.fMediator, c));
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
return itemsToDrag;
|
|
88
|
-
}
|
|
89
|
-
getInputsForNode(node) {
|
|
90
|
-
return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
|
|
91
|
-
}
|
|
92
|
-
getOutputsForNode(node) {
|
|
93
|
-
return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
|
|
94
|
-
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodePrepareDragSequence, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetOutgoingConnectionsHandler }, { token: i3.GetIncomingConnectionsHandler }, { token: i4.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
96
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodePrepareDragSequence }); }
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NodePrepareDragSequence, decorators: [{
|
|
99
|
-
type: Injectable
|
|
100
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetOutgoingConnectionsHandler }, { type: i3.GetIncomingConnectionsHandler }, { type: i4.FFlowMediator }] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5wcmVwYXJlLWRyYWctc2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS5wcmVwYXJlLWRyYWctc2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFHTCxzQkFBc0IsRUFDdkIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFLM0QsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQ1ksZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1Qyw2QkFBNEQsRUFDNUQsNkJBQTRELEVBQzVELFNBQXdCO1FBSnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1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QUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQWU7UUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDOzhHQXZHVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUG9pbnRlckV2ZW50LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgTm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uVGFyZ2V0RHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyLFxuICBHZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlcixcbiAgVXBkYXRlSXRlbUxheWVyUmVxdWVzdFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlLCBpc05vZGVEcmFnSGFuZGxlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi9mLW1lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVQcmVwYXJlRHJhZ1NlcXVlbmNlIGltcGxlbWVudHMgSUhhbmRsZXI8SVBvaW50ZXJFdmVudCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlcjogR2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG4gICAgICBwcml2YXRlIGdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyOiBHZXRJbmNvbWluZ0Nvbm5lY3Rpb25zSGFuZGxlcixcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5maW5kTm9kZShldmVudC50YXJnZXRFbGVtZW50KTtcbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkZsb3cgPSBQb2ludC5mcm9tUG9pbnQoZXZlbnQuZ2V0UG9zaXRpb24oKSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLmZsb3dIb3N0KTtcblxuICAgIGlmIChub2RlICYmICFub2RlLmZEcmFnZ2luZ0Rpc2FibGVkICYmICF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGgpIHtcbiAgICAgIGlmIChpc05vZGVEcmFnSGFuZGxlKGV2ZW50LnRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgIGlmICghdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhub2RlKSAmJiAhbm9kZS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2gobm9kZSk7XG4gICAgICAgICAgbm9kZS5zZWxlY3QoKTtcbiAgICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgVXBkYXRlSXRlbUxheWVyUmVxdWVzdChub2RlLCB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEuZk5vZGVzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICAgICAgY29uc3QgaXRlbXNUb0RyYWc6IElEcmFnZ2FibGVJdGVtW10gPSB0aGlzLmNhbGN1bGF0ZURyYWdnYWJsZUNvbm5lY3Rpb25zQW5kTm9kZXMoKTtcblxuICAgICAgICBjb25zdCBkcmFnZ2VkTm9kZXMgPSBpdGVtc1RvRHJhZy5maWx0ZXIoKHgpID0+IHtcbiAgICAgICAgICByZXR1cm4geC50eXBlID09PSBFRkRyYWdnYWJsZVR5cGUuTk9ERTtcbiAgICAgICAgfSkubWFwKCh4KSA9PiAoeCBhcyBOb2RlRHJhZ0hhbmRsZXIpLmZOb2RlKTtcblxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5mTGluZUFsaWdubWVudD8uaW5pdGlhbGl6ZSh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCBkcmFnZ2VkTm9kZXMpO1xuXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMudHJhbnNmb3JtLnNjYWxlO1xuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24gPSBwb2ludGVyUG9zaXRpb25JbkZsb3cuZGl2KHRoaXMudHJhbnNmb3JtLnNjYWxlKTtcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBpdGVtc1RvRHJhZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURyYWdnYWJsZUNvbm5lY3Rpb25zQW5kTm9kZXMoKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IGl0ZW1zVG9EcmFnOiBJRHJhZ2dhYmxlSXRlbVtdID0gW107XG5cbiAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZmluZE5vZGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSkuZmlsdGVyKCh4KSA9PiAhIXgpIGFzIEZOb2RlQmFzZVtdO1xuXG4gICAgY29uc3Qgbm9kZURyYWdIYW5kbGVycyA9IHNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiBuZXcgTm9kZURyYWdIYW5kbGVyKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LCB4KSk7XG4gICAgaXRlbXNUb0RyYWcgPSBub2RlRHJhZ0hhbmRsZXJzO1xuXG4gICAgY29uc3QgYWxsT3V0cHV0SWRzOiBhbnlbXSA9IHNlbGVjdGVkTm9kZXMucmVkdWNlKChyZXN1bHQ6IEZDb25uZWN0b3JCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQodGhpcy5nZXRPdXRwdXRzRm9yTm9kZSh4KSk7XG4gICAgfSwgW10pLm1hcCgoeCkgPT4geC5pZCk7XG5cbiAgICBjb25zdCBhbGxJbnB1dElkczogYW55W10gPSBzZWxlY3RlZE5vZGVzLnJlZHVjZSgocmVzdWx0OiBGQ29ubmVjdG9yQmFzZVtdLCB4OiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHJldHVybiByZXN1bHQuY29uY2F0KHRoaXMuZ2V0SW5wdXRzRm9yTm9kZSh4KSk7XG4gICAgfSwgW10pLm1hcCgoeCkgPT4geC5pZCk7XG5cbiAgICBub2RlRHJhZ0hhbmRsZXJzLmZvckVhY2goKG5vZGVIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBvdXRwdXRDb25uZWN0aW9ucyA9IHRoaXMuZ2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIuaGFuZGxlKHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUobm9kZUhhbmRsZXIuZk5vZGUpKTtcbiAgICAgIG91dHB1dENvbm5lY3Rpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgaWYgKGFsbElucHV0SWRzLmluY2x1ZGVzKGMuZklucHV0SWQpKSB7XG4gICAgICAgICAgaXRlbXNUb0RyYWcucHVzaChcbiAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLmZNZWRpYXRvciwgYylcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zVG9EcmFnLnB1c2goXG4gICAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIGMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCBpbnB1dENvbm5lY3Rpb25zID0gdGhpcy5nZXRJbmNvbWluZ0Nvbm5lY3Rpb25zSGFuZGxlci5oYW5kbGUodGhpcy5nZXRJbnB1dHNGb3JOb2RlKG5vZGVIYW5kbGVyLmZOb2RlKSk7XG4gICAgICBpbnB1dENvbm5lY3Rpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgaWYgKGFsbE91dHB1dElkcy5pbmNsdWRlcyhjLmZPdXRwdXRJZCkpIHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zVG9EcmFnLmZpbmRJbmRleCgoeCkgPT4geC50eXBlID09PSBFRkRyYWdnYWJsZVR5cGUuQ09OTkVDVElPTiAmJiAoeCBhcyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIpLmNvbm5lY3Rpb24uZkNvbm5lY3Rpb25JZCA9PT0gYy5mQ29ubmVjdGlvbklkKTtcbiAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBpdGVtc1RvRHJhZy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIGMpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtc1RvRHJhZy5wdXNoKFxuICAgICAgICAgICAgICBuZXcgQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyKHRoaXMuZk1lZGlhdG9yLCBjKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBpdGVtc1RvRHJhZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxufVxuIl19
|