@foblex/flow 17.0.9 → 17.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/css-cls.d.ts +13 -0
- package/domain/f-connection/index.d.ts +0 -3
- package/domain/f-connection/providers.d.ts +1 -4
- package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.d.ts +11 -0
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.d.ts +7 -0
- package/domain/f-connectors/calculate-closest-input/index.d.ts +2 -0
- package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +24 -0
- package/domain/f-connectors/find-input-at-position/find-input-at-position.request.d.ts +8 -0
- package/domain/f-connectors/find-input-at-position/index.d.ts +2 -0
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +14 -0
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +5 -0
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +2 -0
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +5 -0
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.d.ts +11 -0
- package/domain/f-connectors/get-connector-and-rect/index.d.ts +2 -0
- package/domain/{f-connection/find-closest-input → f-connectors}/i-closest-input.d.ts +1 -1
- package/domain/{f-connection/get-connector-with-rect/i-connector-with-rect.d.ts → f-connectors/i-connector-and-rect.d.ts} +2 -2
- package/domain/f-connectors/index.d.ts +8 -0
- package/domain/f-connectors/mark-all-can-be-connected-inputs/index.d.ts +2 -0
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.d.ts +10 -0
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.d.ts +5 -0
- package/domain/f-connectors/providers.d.ts +7 -1
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/index.d.ts +2 -0
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.d.ts +10 -0
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.d.ts +5 -0
- package/domain/f-draggable/providers.d.ts +1 -1
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +2 -3
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +2 -2
- package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +4 -6
- package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +3 -0
- package/domain/f-node/providers.d.ts +1 -1
- package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +2 -0
- package/domain/f-selection/select/select.execution.d.ts +2 -5
- package/domain/f-selection/select-all/select-all.execution.d.ts +2 -5
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +5 -0
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +9 -0
- package/domain/f-zoom/add-zoom-to-store/index.d.ts +2 -0
- package/domain/f-zoom/f-zoom-tag.d.ts +1 -0
- package/domain/f-zoom/index.d.ts +6 -0
- package/domain/f-zoom/providers.d.ts +5 -0
- package/domain/f-zoom/remove-zoom-from-store/index.d.ts +2 -0
- package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.d.ts +2 -0
- package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +9 -0
- package/domain/f-zoom/reset-zoom/index.d.ts +2 -0
- package/domain/f-zoom/reset-zoom/reset-zoom-request.d.ts +2 -0
- package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +10 -0
- package/domain/f-zoom/set-zoom/index.d.ts +2 -0
- package/domain/f-zoom/set-zoom/set-zoom-request.d.ts +8 -0
- package/domain/f-zoom/set-zoom/set-zoom.execution.d.ts +16 -0
- package/domain/i-f-action-trigger.d.ts +14 -0
- package/domain/index.d.ts +5 -0
- package/domain/log-deprecated.d.ts +1 -0
- package/domain/log-execution-time.d.ts +1 -0
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/css-cls.mjs +14 -0
- package/esm2022/domain/f-connection/index.mjs +1 -4
- package/esm2022/domain/f-connection/providers.mjs +1 -7
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +9 -9
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.mjs +42 -0
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.mjs +9 -0
- package/esm2022/domain/f-connectors/calculate-closest-input/index.mjs +3 -0
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +89 -0
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.request.mjs +11 -0
- package/esm2022/domain/f-connectors/find-input-at-position/index.mjs +3 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +45 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +7 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +3 -0
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +7 -0
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +28 -0
- package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +3 -0
- package/esm2022/domain/f-connectors/i-closest-input.mjs +2 -0
- package/esm2022/domain/f-connectors/i-connector-and-rect.mjs +2 -0
- package/esm2022/domain/f-connectors/index.mjs +9 -1
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/index.mjs +3 -0
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.mjs +7 -0
- package/esm2022/domain/f-connectors/providers.mjs +14 -2
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/index.mjs +3 -0
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.mjs +7 -0
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +3 -2
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +3 -2
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +17 -19
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -5
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +14 -19
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +2 -2
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +2 -2
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +4 -4
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +5 -1
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +39 -5
- package/esm2022/domain/f-selection/select/select.execution.mjs +15 -19
- package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +15 -19
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +7 -0
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +25 -0
- package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +3 -0
- package/esm2022/domain/f-zoom/f-zoom-tag.mjs +2 -0
- package/esm2022/domain/f-zoom/index.mjs +7 -0
- package/esm2022/domain/f-zoom/providers.mjs +11 -0
- package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +3 -0
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.mjs +3 -0
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +25 -0
- package/esm2022/domain/f-zoom/reset-zoom/index.mjs +3 -0
- package/esm2022/domain/f-zoom/reset-zoom/reset-zoom-request.mjs +3 -0
- package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +27 -0
- package/esm2022/domain/f-zoom/set-zoom/index.mjs +3 -0
- package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +13 -0
- package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +50 -0
- package/esm2022/domain/i-f-action-trigger.mjs +11 -0
- package/esm2022/domain/index.mjs +6 -1
- package/esm2022/domain/log-deprecated.mjs +11 -0
- package/esm2022/domain/log-execution-time.mjs +16 -0
- package/esm2022/domain/providers.mjs +3 -1
- package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +1 -1
- package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
- package/esm2022/f-canvas/f-canvas.component.mjs +25 -2
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +7 -5
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +7 -5
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +9 -6
- package/esm2022/f-connectors/f-connector-base.mjs +9 -5
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +23 -23
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +16 -17
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +28 -24
- package/esm2022/f-connectors/index.mjs +1 -2
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +8 -11
- package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +1 -2
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +36 -19
- package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +1 -3
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +8 -8
- package/esm2022/f-draggable/canvas/providers.mjs +5 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +13 -10
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +2 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +4 -4
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +7 -7
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +5 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +54 -50
- package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +2 -0
- package/esm2022/f-draggable/connections/index.mjs +2 -2
- package/esm2022/f-draggable/connections/providers.mjs +1 -4
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +38 -34
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +1 -1
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +73 -50
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +8 -17
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +6 -6
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +25 -19
- package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -2
- package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +4 -4
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +5 -7
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +5 -7
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +37 -22
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +40 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +7 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +3 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +42 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +9 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +3 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +16 -21
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +4 -4
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +1 -1
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +3 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -3
- package/esm2022/f-draggable/node/index.mjs +3 -1
- package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +67 -0
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +3 -0
- package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +61 -0
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +5 -3
- package/esm2022/f-draggable/node/node-move-preparation/index.mjs +1 -2
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +26 -21
- package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +1 -3
- package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -19
- package/esm2022/f-draggable/node/providers.mjs +3 -1
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -78
- package/esm2022/f-node/f-group.directive.mjs +9 -7
- package/esm2022/f-node/f-node.directive.mjs +10 -8
- package/esm2022/f-storage/f-components-store.mjs +3 -1
- package/esm2022/f-zoom/e-f-zoom-action.mjs +6 -0
- package/esm2022/f-zoom/e-f-zoom-direction.mjs +6 -0
- package/esm2022/f-zoom/f-zoom-base.mjs +2 -98
- package/esm2022/f-zoom/f-zoom.directive.mjs +139 -21
- package/esm2022/f-zoom/index.mjs +3 -1
- package/f-backgroud/providers.d.ts +1 -1
- package/f-canvas/f-canvas-base.d.ts +2 -2
- package/f-canvas/f-canvas.component.d.ts +9 -0
- package/f-connection/f-connection/f-connection.component.d.ts +2 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -0
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +3 -0
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/f-connector-base.d.ts +4 -2
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +6 -6
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +6 -6
- package/f-connectors/f-node-output/f-node-output.directive.d.ts +8 -7
- package/f-connectors/index.d.ts +0 -1
- package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -3
- package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -1
- package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +7 -6
- package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
- package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
- package/f-draggable/canvas/providers.d.ts +3 -1
- package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +3 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +3 -3
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +2 -2
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +14 -15
- package/f-draggable/connections/i-create-reassign-connection-drag-data.d.ts +7 -0
- package/f-draggable/connections/index.d.ts +1 -1
- package/f-draggable/connections/providers.d.ts +1 -2
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +13 -13
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +19 -15
- package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +3 -6
- package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +3 -3
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +3 -2
- package/f-draggable/domain/providers.d.ts +1 -1
- package/f-draggable/f-draggable-data-context.d.ts +1 -2
- package/f-draggable/i-draggable-item.d.ts +2 -1
- package/f-draggable/node/connection-base-drag-handler.d.ts +5 -6
- package/f-draggable/node/connection-source.drag-handler.d.ts +3 -4
- package/f-draggable/node/connection-target.drag-handler.d.ts +3 -4
- package/f-draggable/node/connection.drag-handler.d.ts +3 -3
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +6 -3
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +13 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +5 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +2 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +12 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{get-node-move-restrictions/get-node-move-restrictions.request.d.ts → calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts} +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +2 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +4 -6
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +4 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +2 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -2
- package/f-draggable/node/index.d.ts +2 -0
- package/f-draggable/node/line-alignment-preparation/index.d.ts +2 -0
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +21 -0
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +2 -0
- package/f-draggable/node/line-alignment.drag-handler.d.ts +20 -0
- package/f-draggable/node/node-move-preparation/index.d.ts +0 -1
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +4 -3
- package/f-draggable/node/node-move-preparation/providers.d.ts +1 -2
- package/f-draggable/node/node.drag-handler.d.ts +4 -7
- package/f-draggable/node/providers.d.ts +2 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-line-alignment/f-line-alignment-base.d.ts +2 -8
- package/f-line-alignment/f-line-alignment.component.d.ts +6 -25
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/f-group.directive.d.ts +4 -0
- package/f-node/f-node.directive.d.ts +4 -0
- package/f-node/providers.d.ts +1 -1
- package/f-storage/f-components-store.d.ts +4 -0
- package/f-storage/providers.d.ts +1 -1
- package/f-zoom/e-f-zoom-action.d.ts +4 -0
- package/f-zoom/e-f-zoom-direction.d.ts +4 -0
- package/f-zoom/f-zoom-base.d.ts +0 -17
- package/f-zoom/f-zoom.directive.d.ts +40 -5
- package/f-zoom/index.d.ts +2 -0
- package/fesm2022/foblex-flow.mjs +1766 -1435
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +2 -2
- package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +0 -11
- package/domain/f-connection/find-closest-input/find-closest-input.request.d.ts +0 -7
- package/domain/f-connection/find-closest-input/index.d.ts +0 -3
- package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.d.ts +0 -21
- package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.d.ts +0 -4
- package/domain/f-connection/get-all-can-be-connected-input-positions/index.d.ts +0 -2
- package/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.d.ts +0 -5
- package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +0 -10
- package/domain/f-connection/get-connector-with-rect/index.d.ts +0 -3
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +0 -42
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +0 -9
- package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +0 -2
- package/esm2022/domain/f-connection/find-closest-input/index.mjs +0 -4
- package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +0 -57
- package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.mjs +0 -7
- package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/index.mjs +0 -3
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +0 -7
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +0 -25
- package/esm2022/domain/f-connection/get-connector-with-rect/i-connector-with-rect.mjs +0 -2
- package/esm2022/domain/f-connection/get-connector-with-rect/index.mjs +0 -4
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +0 -3
- package/esm2022/f-connectors/domain/index.mjs +0 -2
- package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +0 -5
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -46
- package/esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs +0 -7
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -88
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
- package/esm2022/f-draggable/connections/get-input-under-pointer/index.mjs +0 -4
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -42
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -9
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -4
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -39
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +0 -6
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +0 -7
- package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +0 -2
- package/f-connectors/domain/index.d.ts +0 -1
- package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +0 -2
- package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +0 -17
- package/f-draggable/canvas/canvas-move-preparation/providers.d.ts +0 -3
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +0 -27
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.d.ts +0 -8
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +0 -13
- package/f-draggable/connections/get-input-under-pointer/index.d.ts +0 -3
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +0 -12
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +0 -5
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +0 -3
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +0 -14
package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs
CHANGED
|
@@ -1,79 +1,102 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CalculateClosestInputRequest, GetAllCanBeConnectedInputsAndRectsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkAllCanBeConnectedInputsRequest, UnmarkAllCanBeConnectedInputsRequest } from '../../../domain';
|
|
2
|
+
import { RectExtensions, RoundedRect } from '@foblex/2d';
|
|
3
3
|
export class ReassignConnectionDragHandler {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get
|
|
9
|
-
return this.
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
_fMediator;
|
|
5
|
+
_fComponentsStore;
|
|
6
|
+
_fConnection;
|
|
7
|
+
_toConnectorRect = new RoundedRect();
|
|
8
|
+
get _fSnapConnection() {
|
|
9
|
+
return this._fComponentsStore.fSnapConnection;
|
|
10
|
+
}
|
|
11
|
+
_fOutputWithRect;
|
|
12
|
+
_fInputWithRect;
|
|
13
|
+
_canBeConnectedInputs = [];
|
|
14
|
+
get _fOutput() {
|
|
15
|
+
const result = this._fComponentsStore.fOutputs.find((x) => x.fId === this._fConnection.fOutputId);
|
|
16
|
+
if (!result) {
|
|
17
|
+
throw new Error('Connection output not found');
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
get _fInput() {
|
|
22
|
+
const result = this._fComponentsStore.fInputs.find((x) => x.fId === this._fConnection.fInputId);
|
|
23
|
+
if (!result) {
|
|
24
|
+
throw new Error('Connection input not found');
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
constructor(_fMediator, _fComponentsStore, _fConnection) {
|
|
29
|
+
this._fMediator = _fMediator;
|
|
30
|
+
this._fComponentsStore = _fComponentsStore;
|
|
31
|
+
this._fConnection = _fConnection;
|
|
32
|
+
this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this._fConnection.line.point2.x, this._fConnection.line.point2.y));
|
|
18
33
|
}
|
|
19
34
|
prepareDragSequence() {
|
|
35
|
+
this._getAndMarkCanBeConnectedInputs();
|
|
20
36
|
this._initializeSnapConnection();
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
37
|
+
this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
|
|
38
|
+
this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
|
|
39
|
+
}
|
|
40
|
+
_getAndMarkCanBeConnectedInputs() {
|
|
41
|
+
this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutput));
|
|
42
|
+
this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
|
|
25
43
|
}
|
|
26
44
|
_initializeSnapConnection() {
|
|
27
|
-
if (!this.
|
|
45
|
+
if (!this._fSnapConnection) {
|
|
28
46
|
return;
|
|
29
47
|
}
|
|
30
|
-
this.
|
|
31
|
-
this.
|
|
32
|
-
}
|
|
33
|
-
getOutput() {
|
|
34
|
-
return this.fComponentsStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
|
|
35
|
-
}
|
|
36
|
-
getInput() {
|
|
37
|
-
return this.fComponentsStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
|
|
48
|
+
this._fSnapConnection.fOutputId = this._fConnection.fOutputId;
|
|
49
|
+
this._fSnapConnection.initialize();
|
|
38
50
|
}
|
|
39
51
|
onPointerMove(difference) {
|
|
40
52
|
const fClosestInput = this._findClosestInput(difference);
|
|
41
|
-
this._drawConnection(this.
|
|
42
|
-
if (this.
|
|
53
|
+
this._drawConnection(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this._fInputWithRect.fConnector.fConnectableSide);
|
|
54
|
+
if (this._fSnapConnection) {
|
|
43
55
|
this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
|
|
44
56
|
}
|
|
45
57
|
}
|
|
46
|
-
_drawConnection(
|
|
47
|
-
const line = this.
|
|
48
|
-
this.
|
|
49
|
-
this.
|
|
58
|
+
_drawConnection(difference, fSide) {
|
|
59
|
+
const line = this._getLineToPointer(difference, fSide);
|
|
60
|
+
this._fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
|
|
61
|
+
this._fConnection.redraw();
|
|
62
|
+
}
|
|
63
|
+
_getLineToPointer(difference, fSide) {
|
|
64
|
+
return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, RoundedRect.fromRect(RectExtensions.initialize(difference.x, difference.y)), this._fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
|
|
50
65
|
}
|
|
51
66
|
_drawSnapConnection(fClosestInput) {
|
|
52
67
|
if (fClosestInput) {
|
|
53
|
-
const line = this.
|
|
54
|
-
this.
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
68
|
+
const line = this._getLineToClosestInput(fClosestInput);
|
|
69
|
+
this._fSnapConnection.show();
|
|
70
|
+
this._fSnapConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
|
|
71
|
+
this._fSnapConnection.redraw();
|
|
57
72
|
}
|
|
58
73
|
else {
|
|
59
|
-
this.
|
|
74
|
+
this._fSnapConnection?.hide();
|
|
60
75
|
}
|
|
61
76
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
|
|
77
|
+
_getLineToClosestInput(fClosestInput) {
|
|
78
|
+
return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._fSnapConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
|
|
67
79
|
}
|
|
68
80
|
_findClosestInput(difference) {
|
|
69
|
-
return this.
|
|
81
|
+
return this._fMediator.execute(new CalculateClosestInputRequest(this._toConnectorRect.addPoint(difference), this._canBeConnectedInputs));
|
|
70
82
|
}
|
|
71
83
|
_getClosestInputForSnapConnection(fClosestInput) {
|
|
72
|
-
return fClosestInput && fClosestInput.distance < this.
|
|
84
|
+
return fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
|
|
73
85
|
}
|
|
74
86
|
onPointerUp() {
|
|
75
|
-
this._drawConnection(this.
|
|
76
|
-
this.
|
|
87
|
+
this._drawConnection(this._fInputWithRect.fRect, this._fInputWithRect.fConnector.fConnectableSide);
|
|
88
|
+
this._fSnapConnection?.hide();
|
|
89
|
+
this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
|
|
90
|
+
}
|
|
91
|
+
getData() {
|
|
92
|
+
return {
|
|
93
|
+
toConnectorRect: this._toConnectorRect,
|
|
94
|
+
fOutputId: this._fConnection.fOutputId,
|
|
95
|
+
canBeConnectedInputs: this._canBeConnectedInputs
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
getConnection() {
|
|
99
|
+
return this._fConnection;
|
|
77
100
|
}
|
|
78
101
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQUUsMkJBQTJCLEVBRXRFLE1BQU0saUJBQWlCLENBQUM7QUFJekIsT0FBTyxFQUErQixLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUc3RixNQUFNLE9BQU8sNkJBQTZCO0lBYzlCO0lBQ0E7SUFDRDtJQWRGLGVBQWUsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUV4RCxJQUFZLGVBQWU7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBMkMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sZUFBZSxDQUFzQjtJQUNyQyxjQUFjLENBQXNCO0lBRXBDLG9CQUFvQixHQUF5QixFQUFFLENBQUM7SUFFeEQsWUFDVSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbkMsV0FBNEI7UUFGM0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUVyQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDN0MsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUMxRSxDQUFDO1FBRUYsSUFBSSxDQUFDLGVB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QyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgRmluZENsb3Nlc3RJbnB1dFJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0LFxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LCBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JXaXRoUmVjdCwgSUNsb3Nlc3RJbnB1dFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUsIEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0LCBQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyB0b0Nvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHJpdmF0ZSBnZXQgZlNuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBmT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG4gIHByaXZhdGUgZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG5cbiAgcHJpdmF0ZSBjYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvcldpdGhSZWN0W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTtcblxuICAgIHRoaXMuY2FuQmVDb25uZWN0ZWRJbnB1dHMgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdFtdPihcbiAgICAgIG5ldyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdCh0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZClcbiAgICApO1xuXG4gICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdD4obmV3IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCh0aGlzLmdldE91dHB1dCgpKSk7XG4gICAgdGhpcy5mSW5wdXRXaXRoUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0PihuZXcgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KHRoaXMuZ2V0SW5wdXQoKSkpO1xuICAgIHRoaXMudG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMuZkNvbm5lY3Rpb24ubGluZS5wb2ludDIueCwgdGhpcy5mQ29ubmVjdGlvbi5saW5lLnBvaW50Mi55KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZDtcbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZCkhXG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmQ2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy50b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICBmQ2xvc2VzdElucHV0Py5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgfHwgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApO1xuICAgIGlmICh0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKGZDbG9zZXN0SW5wdXQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kcmF3Q29ubmVjdGlvbihmSW5wdXRSZWN0OiBJUm91bmRlZFJlY3QsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgIGZJbnB1dFJlY3QsXG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgZlNpZGUpO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgZkNsb3Nlc3RJbnB1dC5mUmVjdCxcbiAgICAgICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuZkJlaGF2aW9yLFxuICAgICAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNob3coKTtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENsb3NldElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5mU25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbih0aGlzLl9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0SW5wdXQoZGlmZmVyZW5jZTogSVBvaW50KTogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgRmluZENsb3Nlc3RJbnB1dFJlcXVlc3QoXG4gICAgICAgIFBvaW50LmZyb21Qb2ludCh0aGlzLnRvQ29ubmVjdG9yUmVjdCkuYWRkKGRpZmZlcmVuY2UpLFxuICAgICAgICB0aGlzLmNhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkKTogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGZDbG9zZXN0SW5wdXQgJiYgZkNsb3Nlc3RJbnB1dC5kaXN0YW5jZSA8IHRoaXMuZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0SW5wdXQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24odGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCwgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL3JlYXNzaWduLWNvbm5lY3Rpb24vcmVhc3NpZ24tY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQUUsMEJBQTBCLEVBQ2xDLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUMzRyxNQUFNLGlCQUFpQixDQUFDO0FBSXpCLE9BQU8sRUFBaUIsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUl4RSxNQUFNLE9BQU8sNkJBQTZCO0lBOEI5QjtJQUNBO0lBQ0E7SUE5Qk8sZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUV0RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUEyQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFDckMsZUFBZSxDQUFxQjtJQUVwQyxxQkFBcUIsR0FBd0IsRUFBRSxDQUFDO0lBRXhELElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixN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QUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzlGLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTO1lBQ3RDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ2xvc2VzdElucHV0UmVxdWVzdCxcbiAgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsIEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0LFxuICBJQ29ubmVjdG9yQW5kUmVjdCwgSUNsb3Nlc3RJbnB1dCwgTWFya0FsbENhbkJlQ29ubmVjdGVkSW5wdXRzUmVxdWVzdCwgVW5tYXJrQWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSwgRkNvbm5lY3RvckJhc2UsIEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElDcmVhdGVSZWFzc2lnbkNvbm5lY3Rpb25EcmFnRGF0YSB9IGZyb20gJy4uL2ktY3JlYXRlLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1kYXRhJztcblxuZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW08SUNyZWF0ZVJlYXNzaWduQ29ubmVjdGlvbkRyYWdEYXRhPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdG9Db25uZWN0b3JSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZTbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZTbmFwQ29ubmVjdGlvbiBhcyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJpdmF0ZSBfZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIF9jYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvckFuZFJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IF9mT3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLl9mQ29ubmVjdGlvbi5mT3V0cHV0SWQpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gb3V0cHV0IG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLl9mQ29ubmVjdGlvbi5mSW5wdXRJZCk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29ubmVjdGlvbiBpbnB1dCBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBfZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMuX2ZDb25uZWN0aW9uLmxpbmUucG9pbnQyLngsIHRoaXMuX2ZDb25uZWN0aW9uLmxpbmUucG9pbnQyLnkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEFuZE1hcmtDYW5CZUNvbm5lY3RlZElucHV0cygpO1xuICAgIHRoaXMuX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpO1xuXG4gICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mT3V0cHV0KSk7XG4gICAgdGhpcy5fZklucHV0V2l0aFJlY3QgPSB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4obmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuX2ZJbnB1dCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fZk91dHB1dCBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZSlcbiAgICApO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0FsbENhbkJlQ29ubmVjdGVkSW5wdXRzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2ZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5fZkNvbm5lY3Rpb24uZk91dHB1dElkO1xuICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmQ2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgZkNsb3Nlc3RJbnB1dD8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX2ZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZVxuICAgICk7XG4gICAgaWYgKHRoaXMuX2ZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKGZDbG9zZXN0SW5wdXQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kcmF3Q29ubmVjdGlvbihkaWZmZXJlbmNlOiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9Qb2ludGVyKGRpZmZlcmVuY2UsIGZTaWRlKTtcbiAgICB0aGlzLl9mQ29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgZlNpZGUpO1xuICAgIHRoaXMuX2ZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvUG9pbnRlcihkaWZmZXJlbmNlOiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgIFJvdW5kZWRSZWN0LmZyb21SZWN0KFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoZGlmZmVyZW5jZS54LCBkaWZmZXJlbmNlLnkpKSxcbiAgICAgICAgdGhpcy5fZkNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZ2V0TGluZVRvQ2xvc2VzdElucHV0KGZDbG9zZXN0SW5wdXQpO1xuICAgICAgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5zaG93KCk7XG4gICAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24hLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24hLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lVG9DbG9zZXN0SW5wdXQoZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RJbnB1dCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mUmVjdCxcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEuZkJlaGF2aW9yLFxuICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0SW5wdXQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDbG9zZXN0SW5wdXRSZXF1ZXN0KFxuICAgICAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdElucHV0IHwgdW5kZWZpbmVkKTogSUNsb3Nlc3RJbnB1dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGZDbG9zZXN0SW5wdXQgJiYgZkNsb3Nlc3RJbnB1dC5kaXN0YW5jZSA8IHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGQgPyBmQ2xvc2VzdElucHV0IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKHRoaXMuX2ZJbnB1dFdpdGhSZWN0LmZSZWN0LCB0aGlzLl9mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldERhdGEoKTogSUNyZWF0ZVJlYXNzaWduQ29ubmVjdGlvbkRyYWdEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9Db25uZWN0b3JSZWN0OiB0aGlzLl90b0Nvbm5lY3RvclJlY3QsXG4gICAgICBmT3V0cHV0SWQ6IHRoaXMuX2ZDb25uZWN0aW9uLmZPdXRwdXRJZCxcbiAgICAgIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0c1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGlvbigpOiBGQ29ubmVjdGlvbkJhc2Uge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGlvbjtcbiAgfVxufVxuIl19
|
package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs
CHANGED
|
@@ -2,27 +2,18 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { IsArrayHasParentNodeRequest } from './is-array-has-parent-node.request';
|
|
4
4
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import { GetParentNodesRequest } from '../../../domain/f-node/get-parent-nodes';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@foblex/mediator";
|
|
8
6
|
let IsArrayHasParentNodeExecution = class IsArrayHasParentNodeExecution {
|
|
9
|
-
fMediator;
|
|
10
|
-
constructor(fMediator) {
|
|
11
|
-
this.fMediator = fMediator;
|
|
12
|
-
}
|
|
13
7
|
handle(request) {
|
|
14
|
-
return this.
|
|
15
|
-
}
|
|
16
|
-
getParentNodeIds(fNode) {
|
|
17
|
-
return this.getParentNodes(fNode).map((x) => x.fId);
|
|
8
|
+
return this._isParentNodeInArray(this._getParentNodeIds(request.fParentNodes), request.fDraggedNodes);
|
|
18
9
|
}
|
|
19
|
-
|
|
20
|
-
return
|
|
10
|
+
_getParentNodeIds(fParentNodes) {
|
|
11
|
+
return fParentNodes.map((x) => x.fId);
|
|
21
12
|
}
|
|
22
|
-
|
|
23
|
-
return
|
|
13
|
+
_isParentNodeInArray(parentNodeIds, fDraggedNodes) {
|
|
14
|
+
return fDraggedNodes.some((x) => parentNodeIds.includes(x.fId));
|
|
24
15
|
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsArrayHasParentNodeExecution, deps: [
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsArrayHasParentNodeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
17
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsArrayHasParentNodeExecution });
|
|
27
18
|
};
|
|
28
19
|
IsArrayHasParentNodeExecution = __decorate([
|
|
@@ -31,5 +22,5 @@ IsArrayHasParentNodeExecution = __decorate([
|
|
|
31
22
|
export { IsArrayHasParentNodeExecution };
|
|
32
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsArrayHasParentNodeExecution, decorators: [{
|
|
33
24
|
type: Injectable
|
|
34
|
-
}]
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOztBQUszRCxJQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE2QjtJQUdqQyxNQUFNLENBQUMsT0FBb0M7UUFDaEQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFlBQXlCO1FBQ2pELE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxhQUF1QixFQUFFLGFBQTBCO1FBQzlFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO3VHQWJVLDZCQUE2QjsyR0FBN0IsNkJBQTZCOztBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBY3pDOzsyRkFkWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgSXNBcnJheUhhc1BhcmVudE5vZGVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCwgYm9vbGVhbj4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzUGFyZW50Tm9kZUluQXJyYXkodGhpcy5fZ2V0UGFyZW50Tm9kZUlkcyhyZXF1ZXN0LmZQYXJlbnROb2RlcyksIHJlcXVlc3QuZkRyYWdnZWROb2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYXJlbnROb2RlSWRzKGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZQYXJlbnROb2Rlcy5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzUGFyZW50Tm9kZUluQXJyYXkocGFyZW50Tm9kZUlkczogc3RyaW5nW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZEcmFnZ2VkTm9kZXMuc29tZSgoeCkgPT4gcGFyZW50Tm9kZUlkcy5pbmNsdWRlcyh4LmZJZCkpO1xuICB9XG59XG5cblxuIl19
|
package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export class IsArrayHasParentNodeRequest {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
6
|
-
this.
|
|
2
|
+
fParentNodes;
|
|
3
|
+
fDraggedNodes;
|
|
4
|
+
constructor(fParentNodes, fDraggedNodes) {
|
|
5
|
+
this.fParentNodes = fParentNodes;
|
|
6
|
+
this.fDraggedNodes = fDraggedNodes;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUvaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDJCQUEyQjtJQUc3QjtJQUNBO0lBRlQsWUFDUyxZQUF5QixFQUN6QixhQUEwQjtRQUQxQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBYTtJQUVuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5leHBvcnQgY2xhc3MgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSxcbiAgICBwdWJsaWMgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW11cbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs
CHANGED
|
@@ -11,27 +11,30 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
|
11
11
|
_fMediator = inject(FMediator);
|
|
12
12
|
_fComponentsStore = inject(FComponentsStore);
|
|
13
13
|
handle(request) {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const canBeConnectedInputs = fInputConnectors.filter((x) => x.canBeConnected);
|
|
19
|
-
if (canBeConnectedOutputs.length && canBeConnectedInputs.length) {
|
|
20
|
-
const fOutputConnections = this._getOutputConnectionsId(canBeConnectedOutputs);
|
|
21
|
-
const fInputConnections = this._getInputConnectionsId(canBeConnectedInputs);
|
|
22
|
-
const fConnectionsUnderNode = this._calculateConnectionsUnderNode(fNode).filter((x) => {
|
|
23
|
-
return !fOutputConnections.includes(x.fId) && !fInputConnections.includes(x.fId);
|
|
24
|
-
});
|
|
25
|
-
if (fConnectionsUnderNode.length) {
|
|
26
|
-
this._fComponentsStore.fDraggable?.fNodeIntersectedWithConnections.emit(new FNodeIntersectedWithConnections(fNode.fId, fConnectionsUnderNode.map((x) => x.fId)));
|
|
27
|
-
}
|
|
14
|
+
const fOutputConnectors = this._getOutputConnectors(request.fNode);
|
|
15
|
+
const fInputConnectors = this._getInputConnectors(request.fNode);
|
|
16
|
+
if (!fOutputConnectors.length || !fInputConnectors.length) {
|
|
17
|
+
return;
|
|
28
18
|
}
|
|
19
|
+
const fOutputConnections = this._getOutputConnectionsId(fOutputConnectors);
|
|
20
|
+
const fInputConnections = this._getInputConnectionsId(fInputConnectors);
|
|
21
|
+
const fConnectionsUnderNode = this._calculateConnectionsUnderNode(request.fNode).filter((x) => {
|
|
22
|
+
return !fOutputConnections.includes(x.fId) && !fInputConnections.includes(x.fId);
|
|
23
|
+
});
|
|
24
|
+
if (!fConnectionsUnderNode.length) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this._emitNodeIntersectedWithConnections(request.fNode, fConnectionsUnderNode);
|
|
29
28
|
}
|
|
30
|
-
|
|
31
|
-
return this._fComponentsStore.fOutputs.filter((x) =>
|
|
29
|
+
_getOutputConnectors(fNode) {
|
|
30
|
+
return this._fComponentsStore.fOutputs.filter((x) => {
|
|
31
|
+
return fNode.isContains(x.hostElement) && x.canBeConnected;
|
|
32
|
+
});
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
return this._fComponentsStore.fInputs.filter((x) =>
|
|
34
|
+
_getInputConnectors(fNode) {
|
|
35
|
+
return this._fComponentsStore.fInputs.filter((x) => {
|
|
36
|
+
return fNode.isContains(x.hostElement) && x.canBeConnected;
|
|
37
|
+
});
|
|
35
38
|
}
|
|
36
39
|
_getOutputConnectionsId(connectors) {
|
|
37
40
|
const connectorsId = this._getConnectorsId(connectors);
|
|
@@ -55,6 +58,9 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
|
|
|
55
58
|
_isConnectionHasIntersectionsWithNode(fConnection, fNodeRect) {
|
|
56
59
|
return GetIntersections.getRoundedRectIntersectionsWithSVGPath(fConnection.fPath.hostElement, fNodeRect).length > 0;
|
|
57
60
|
}
|
|
61
|
+
_emitNodeIntersectedWithConnections(fNode, fConnections) {
|
|
62
|
+
this._fComponentsStore.fDraggable?.fNodeIntersectedWithConnections.emit(new FNodeIntersectedWithConnections(fNode.fId, fConnections.map((x) => x.fId)));
|
|
63
|
+
}
|
|
58
64
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
65
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeExecution });
|
|
60
66
|
};
|
|
@@ -65,4 +71,4 @@ export { IsConnectionUnderNodeExecution };
|
|
|
65
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeExecution, decorators: [{
|
|
66
72
|
type: Injectable
|
|
67
73
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTNELElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRWpDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQXFDO1FBRWpELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFD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QUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8scUNBQXFDLENBQUMsV0FBNEIsRUFBRSxTQUF1QjtRQUNqRyxPQUFPLGdCQUFnQixDQUFDLHNDQUFzQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLG1DQUFtQyxDQUFDLEtBQWdCLEVBQUUsWUFBK0I7UUFDM0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQ3JFLElBQUksK0JBQStCLENBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQ1QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO3VHQTFFVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQTJFMUM7OzJGQTNFWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRJbnRlcnNlY3Rpb25zLCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QpOiB2b2lkIHtcblxuICAgIGNvbnN0IGZPdXRwdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdG9ycyhyZXF1ZXN0LmZOb2RlKTtcbiAgICBjb25zdCBmSW5wdXRDb25uZWN0b3JzID0gdGhpcy5fZ2V0SW5wdXRDb25uZWN0b3JzKHJlcXVlc3QuZk5vZGUpO1xuXG4gICAgaWYgKCFmT3V0cHV0Q29ubmVjdG9ycy5sZW5ndGggfHwgIWZJbnB1dENvbm5lY3RvcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZk91dHB1dENvbm5lY3Rpb25zID0gdGhpcy5fZ2V0T3V0cHV0Q29ubmVjdGlvbnNJZChmT3V0cHV0Q29ubmVjdG9ycyk7XG4gICAgY29uc3QgZklucHV0Q29ubmVjdGlvbnMgPSB0aGlzLl9nZXRJbnB1dENvbm5lY3Rpb25zSWQoZklucHV0Q29ubmVjdG9ycyk7XG5cbiAgICBjb25zdCBmQ29ubmVjdGlvbnNVbmRlck5vZGUgPSB0aGlzLl9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShyZXF1ZXN0LmZOb2RlKS5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhZk91dHB1dENvbm5lY3Rpb25zLmluY2x1ZGVzKHguZklkKSAmJiAhZklucHV0Q29ubmVjdGlvbnMuaW5jbHVkZXMoeC5mSWQpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFmQ29ubmVjdGlvbnNVbmRlck5vZGUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhyZXF1ZXN0LmZOb2RlLCBmQ29ubmVjdGlvbnNVbmRlck5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3V0cHV0Q29ubmVjdG9ycyhmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gZk5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSAmJiB4LmNhbkJlQ29ubmVjdGVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0b3JzKGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuIGZOb2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkgJiYgeC5jYW5CZUNvbm5lY3RlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE91dHB1dENvbm5lY3Rpb25zSWQoY29ubmVjdG9yczogRkNvbm5lY3RvckJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb25uZWN0b3JzSWQgPSB0aGlzLl9nZXRDb25uZWN0b3JzSWQoY29ubmVjdG9ycyk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zXG4gICAgICAuZmlsdGVyKCh4KSA9PiBjb25uZWN0b3JzSWQuaW5jbHVkZXMoeC5mT3V0cHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0aW9uc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29ubmVjdG9yc0lkID0gdGhpcy5fZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnMpO1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeCkgPT4gY29ubmVjdG9yc0lkLmluY2x1ZGVzKHguZklucHV0SWQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdG9yc0lkKGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVDb25uZWN0aW9uc1VuZGVyTm9kZShmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGZOb2RlUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPElSb3VuZGVkUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoZk5vZGUuaG9zdEVsZW1lbnQsIHRydWUpKTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZmlsdGVyKCh4KSA9PiB0aGlzLl9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoeCwgZk5vZGVSZWN0KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0Nvbm5lY3Rpb25IYXNJbnRlcnNlY3Rpb25zV2l0aE5vZGUoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgZk5vZGVSZWN0OiBJUm91bmRlZFJlY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnNXaXRoU1ZHUGF0aChmQ29ubmVjdGlvbi5mUGF0aC5ob3N0RWxlbWVudCwgZk5vZGVSZWN0KS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdE5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhmTm9kZTogRk5vZGVCYXNlLCBmQ29ubmVjdGlvbnM6IEZDb25uZWN0aW9uQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zLmVtaXQoXG4gICAgICBuZXcgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyhcbiAgICAgICAgZk5vZGUuZklkLFxuICAgICAgICBmQ29ubmVjdGlvbnMubWFwKCh4KSA9PiB4LmZJZClcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -7,7 +7,6 @@ export class FDraggableDataContext {
|
|
|
7
7
|
onPointerDownScale = 1;
|
|
8
8
|
onPointerDownPosition = new Point(0, 0);
|
|
9
9
|
draggableItems = [];
|
|
10
|
-
fLineAlignment;
|
|
11
10
|
reset() {
|
|
12
11
|
this.draggableItems = [];
|
|
13
12
|
this.onPointerDownScale = 1;
|
|
@@ -16,10 +15,13 @@ export class FDraggableDataContext {
|
|
|
16
15
|
markSelectionAsChanged() {
|
|
17
16
|
this.isSelectedChanged = true;
|
|
18
17
|
}
|
|
18
|
+
isEmpty() {
|
|
19
|
+
return !this.draggableItems.length;
|
|
20
|
+
}
|
|
19
21
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
22
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext });
|
|
21
23
|
}
|
|
22
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, decorators: [{
|
|
23
25
|
type: Injectable
|
|
24
26
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUtuQyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLGFBQWEsR0FBMEIsRUFBRSxDQUFDO0lBRTFDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFFL0IscUJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBcUIsRUFBRSxDQUFDO0lBRXRDLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7dUdBeEJVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi9taXhpbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURhdGFDb250ZXh0IHtcblxuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogSUNhbkNoYW5nZVNlbGVjdGlvbltdID0gW107XG5cbiAgcHVibGljIGlzU2VsZWN0ZWRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG9uUG9pbnRlckRvd25TY2FsZTogbnVtYmVyID0gMTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blBvc2l0aW9uOiBQb2ludCA9IG5ldyBQb2ludCgwLCAwKTtcblxuICBwdWJsaWMgZHJhZ2dhYmxlSXRlbXM6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnZ2FibGVJdGVtcyA9IFtdO1xuICAgIHRoaXMub25Qb2ludGVyRG93blNjYWxlID0gMTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IG5ldyBQb2ludCgwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmRyYWdnYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1kcmFnZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZUl0ZW08VERhdGEgPSBhbnk+IHtcblxuICBwcmVwYXJlRHJhZ1NlcXVlbmNlPygpOiB2b2lkO1xuXG4gIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZDtcblxuICBvblBvaW50ZXJVcD8oKTogdm9pZDtcblxuICBnZXREYXRhPygpOiBURGF0YTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { GetConnectorAndRectRequest } from '../../domain';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@foblex/mediator";
|
|
5
5
|
import * as i2 from "../../f-storage";
|
|
@@ -16,8 +16,8 @@ export class ConnectionBaseDragHandler {
|
|
|
16
16
|
this.connection = connection;
|
|
17
17
|
}
|
|
18
18
|
prepareDragSequence() {
|
|
19
|
-
this.fOutputWithRect = this.fMediator.send(new
|
|
20
|
-
this.fInputWithRect = this.fMediator.send(new
|
|
19
|
+
this.fOutputWithRect = this.fMediator.send(new GetConnectorAndRectRequest(this.getOutput()));
|
|
20
|
+
this.fInputWithRect = this.fMediator.send(new GetConnectorAndRectRequest(this.getInput()));
|
|
21
21
|
}
|
|
22
22
|
getOutput() {
|
|
23
23
|
const result = this.fComponentsStore.fOutputs.find((x) => x.fId === this.connection.fOutputId);
|
|
@@ -52,4 +52,4 @@ export class ConnectionBaseDragHandler {
|
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
|
|
53
53
|
type: Directive
|
|
54
54
|
}], ctorParameters: () => [{ type: i1.FMediator }, { type: i2.FComponentsStore }, { type: i3.FConnectionBase }] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFxQixNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHN0UsTUFBTSxPQUFnQix5QkFBeUI7SUFNakM7SUFDQTtJQUNIO0lBTkMsZUFBZSxDQUFxQjtJQUNwQyxjQUFjLENBQXFCO0lBRTdDLFlBQ1ksU0FBb0IsRUFDcEIsZ0JBQWtDLEVBQ3JDLFVBQTJCO1FBRnhCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUVwQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQW9CLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFvQixJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBRSxDQUFDO1FBQ2hHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1CQUFvQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM1RyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQzlGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFtQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQWU7UUFDN0MsT0FBTyx5REFBMEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFVLGVBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxLQUFNLE9BQVEsZ0ZBQWdGLENBQUM7SUFDck8sQ0FBQztJQUlTLHVCQUF1QixDQUFDLFVBQWtCLEVBQUUsWUFBMEI7UUFDOUUsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVFLENBQUE7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBVztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNySixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7dUdBakRtQix5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lLCBJTWluTWF4UG9pbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCwgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByb3RlY3RlZCBmT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJvdGVjdGVkIGZJbnB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcm90ZWN0ZWQgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yQW5kUmVjdD4obmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuZ2V0T3V0cHV0KCkpKTtcbiAgICB0aGlzLmZJbnB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yQW5kUmVjdD4obmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuZ2V0SW5wdXQoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZCkhO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZk91dHB1dCB3aXRoIGlkICR7IHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQgfSBub3QgZm91bmRgKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5jb25uZWN0aW9uLmZJbnB1dElkKSE7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmNvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQgfSBub3QgZm91bmRgKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3Rvck5vdEZvdW5kUHJlZml4KG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgRXJyb3I6IENvbm5lY3Rpb24gRnJvbSAoZk91dHB1dCkkeyB0aGlzLmNvbm5lY3Rpb24uZk91dHB1dElkIH0gVG8gKGZJbnB1dCkkeyB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQgfS4gJHsgbWVzc2FnZSB9LiBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGYtY29ubmVjdGlvbnMgYXJlIGFzc29jaWF0ZWQgd2l0aCBleGlzdGluZyBjb25uZWN0b3JzYDtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGdldFJlc3RyaWN0ZWREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgcmVzdHJpY3Rpb25zOiBJTWluTWF4UG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHJlc3RyaWN0aW9ucy5taW4ueCksIHJlc3RyaWN0aW9ucy5tYXgueCksXG4gICAgICB5OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLnksIHJlc3RyaWN0aW9ucy5taW4ueSksIHJlc3RyaWN0aW9ucy5tYXgueSlcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3Q29ubmVjdGlvbihsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCB0aGlzLmZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgdGhpcy5jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,18 +2,16 @@ import { RoundedRect } from '@foblex/2d';
|
|
|
2
2
|
import { CalculateConnectionLineByBehaviorRequest } from '../../domain';
|
|
3
3
|
import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
|
|
4
4
|
export class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(fMediator, fComponentsStore, connection, minDistance, maxDistance) {
|
|
5
|
+
restrictions;
|
|
6
|
+
constructor(fMediator, fComponentsStore, connection, restrictions) {
|
|
8
7
|
super(fMediator, fComponentsStore, connection);
|
|
9
|
-
this.
|
|
10
|
-
this.maxDistance = maxDistance;
|
|
8
|
+
this.restrictions = restrictions;
|
|
11
9
|
}
|
|
12
10
|
onPointerMove(difference) {
|
|
13
11
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
14
12
|
}
|
|
15
13
|
getNewLineValue(difference) {
|
|
16
|
-
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference },
|
|
14
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.restrictions)), this.fInputWithRect.fRect, this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFNL0Q7SUFKVCxZQUNFLFNBQW9CLEVBQ3BCLGdCQUFrQyxFQUNsQyxVQUEyQixFQUNwQixZQUEwQjtRQUVqQyxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRnhDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBR25DLENBQUM7SUFFZSxhQUFhLENBQUMsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQVEsSUFBSSx3Q0FBd0MsQ0FDL0UsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUNwSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElNaW5NYXhQb2ludCwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25Tb3VyY2VEcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHB1YmxpYyByZXN0cmljdGlvbnM6IElNaW5NYXhQb2ludCxcbiAgKSB7XG4gICAgc3VwZXIoZk1lZGlhdG9yLCBmQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMucmVkcmF3Q29ubmVjdGlvbih0aGlzLmdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldFJlc3RyaWN0ZWREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnJlc3RyaWN0aW9ucykpLFxuICAgICAgdGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgIHRoaXMuY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICB0aGlzLmZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZVxuICAgICkpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,18 +2,16 @@ import { RoundedRect } from '@foblex/2d';
|
|
|
2
2
|
import { CalculateConnectionLineByBehaviorRequest, } from '../../domain';
|
|
3
3
|
import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
|
|
4
4
|
export class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(fMediator, fComponentsStore, connection, minDistance, maxDistance) {
|
|
5
|
+
restrictions;
|
|
6
|
+
constructor(fMediator, fComponentsStore, connection, restrictions) {
|
|
8
7
|
super(fMediator, fComponentsStore, connection);
|
|
9
|
-
this.
|
|
10
|
-
this.maxDistance = maxDistance;
|
|
8
|
+
this.restrictions = restrictions;
|
|
11
9
|
}
|
|
12
10
|
onPointerMove(difference) {
|
|
13
11
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
14
12
|
}
|
|
15
13
|
getNewLineValue(difference) {
|
|
16
|
-
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference },
|
|
14
|
+
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.restrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQ0wsd0NBQXdDLEdBQ3pDLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFNL0Q7SUFKVCxZQUNFLFNBQW9CLEVBQ3BCLGdCQUFrQyxFQUNsQyxVQUEyQixFQUNwQixZQUEwQjtRQUVqQyxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRnhDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBR25DLENBQUM7SUFFZSxhQUFhLENBQUMsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQVEsSUFBSSx3Q0FBd0MsQ0FDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQzFCLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFDbkksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElNaW5NYXhQb2ludCwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uVGFyZ2V0RHJhZ0hhbmRsZXIgZXh0ZW5kcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwdWJsaWMgcmVzdHJpY3Rpb25zOiBJTWluTWF4UG9pbnQsXG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuZ2V0UmVzdHJpY3RlZERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHRoaXMucmVzdHJpY3Rpb25zKSksXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxufVxuIl19
|
|
@@ -7,11 +7,11 @@ export class ConnectionDragHandler extends ConnectionBaseDragHandler {
|
|
|
7
7
|
constructor(fMediator, fComponentsStore, connection) {
|
|
8
8
|
super(fMediator, fComponentsStore, connection);
|
|
9
9
|
}
|
|
10
|
-
setOutputRestrictions(
|
|
11
|
-
this.sourceRestrictions =
|
|
10
|
+
setOutputRestrictions(restrictions) {
|
|
11
|
+
this.sourceRestrictions = restrictions;
|
|
12
12
|
}
|
|
13
|
-
setInputRestrictions(
|
|
14
|
-
this.targetRestrictions =
|
|
13
|
+
setInputRestrictions(restrictions) {
|
|
14
|
+
this.targetRestrictions = restrictions;
|
|
15
15
|
}
|
|
16
16
|
onPointerMove(difference) {
|
|
17
17
|
this.redrawConnection(this.getNewLineValue(difference));
|
|
@@ -20,4 +20,4 @@ export class ConnectionDragHandler extends ConnectionBaseDragHandler {
|
|
|
20
20
|
return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHdEUsT0FBTyxFQUNMLHdDQUF3QyxHQUN6QyxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBRTFELGtCQUFrQixDQUFnQjtJQUNsQyxrQkFBa0IsQ0FBZ0I7SUFFMUMsWUFDRSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsVUFBMkI7UUFFM0IsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0scUJBQXFCLENBQUMsWUFBMEI7UUFDckQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsWUFBMEI7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRWUsYUFBYSxDQUFDLFVBQWtCO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksd0NBQXdDLENBQy9FLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUMxSSxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFDekksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElNaW5NYXhQb2ludCwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIHtcblxuICBwcml2YXRlIHNvdXJjZVJlc3RyaWN0aW9ucyE6IElNaW5NYXhQb2ludDtcbiAgcHJpdmF0ZSB0YXJnZXRSZXN0cmljdGlvbnMhOiBJTWluTWF4UG9pbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2V0T3V0cHV0UmVzdHJpY3Rpb25zKHJlc3RyaWN0aW9uczogSU1pbk1heFBvaW50KSB7XG4gICAgdGhpcy5zb3VyY2VSZXN0cmljdGlvbnMgPSByZXN0cmljdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc2V0SW5wdXRSZXN0cmljdGlvbnMocmVzdHJpY3Rpb25zOiBJTWluTWF4UG9pbnQpIHtcbiAgICB0aGlzLnRhcmdldFJlc3RyaWN0aW9ucyA9IHJlc3RyaWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMucmVkcmF3Q29ubmVjdGlvbih0aGlzLmdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldFJlc3RyaWN0ZWREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnNvdXJjZVJlc3RyaWN0aW9ucykpLFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuZ2V0UmVzdHJpY3RlZERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHRoaXMudGFyZ2V0UmVzdHJpY3Rpb25zKSksXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxufVxuIl19
|