@foblex/flow 17.2.2 → 17.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-event-trigger.d.ts +4 -4
- package/domain/index.d.ts +0 -1
- package/esm2022/domain/f-event-trigger.mjs +1 -1
- package/esm2022/domain/index.mjs +1 -2
- package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +6 -2
- package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +4 -2
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +6 -2
- package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +7 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/index.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +75 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +9 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/index.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +39 -20
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +57 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +7 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +74 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +7 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/f-drop-to-group/f-drop-to-group.event.mjs +11 -0
- package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +66 -0
- package/esm2022/f-draggable/f-drop-to-group/index.mjs +6 -0
- package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/index.mjs +5 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +109 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +7 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +59 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +11 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +59 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +11 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +10 -0
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +13 -0
- package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +63 -0
- package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +30 -0
- package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +33 -0
- package/esm2022/f-draggable/f-node-move/index.mjs +11 -0
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +56 -0
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +88 -0
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +7 -0
- package/esm2022/f-draggable/f-node-move/move-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +80 -0
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +41 -0
- package/esm2022/f-draggable/f-node-move/providers.mjs +11 -0
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +53 -0
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +49 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +25 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +13 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +34 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +11 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +72 -0
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +39 -0
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +4 -0
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +38 -0
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/index.mjs +12 -0
- package/esm2022/f-draggable/f-node-resize/providers.mjs +19 -0
- package/esm2022/f-draggable/f-node-resize/resize-direction.mjs +12 -0
- package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +31 -0
- package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +7 -0
- package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +72 -0
- package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +9 -0
- package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +1 -1
- package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +3 -2
- package/esm2022/f-draggable/index.mjs +6 -5
- package/esm2022/f-draggable/providers.mjs +5 -3
- package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +6 -2
- package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +4 -2
- package/esm2022/f-flow.module.mjs +27 -31
- package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
- package/esm2022/f-selection-area/f-selection-area.component.mjs +4 -4
- package/esm2022/f-zoom/f-zoom.directive.mjs +19 -52
- package/esm2022/f-zoom/index.mjs +1 -3
- package/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +1 -0
- package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts +3 -1
- package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +1 -0
- package/f-draggable/f-connection/f-reassign-connection/index.d.ts +2 -2
- package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/f-reassign-connection-preparation.execution.d.ts +1 -0
- package/f-draggable/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-draggable-base.d.ts +1 -1
- package/f-draggable/f-draggable.directive.d.ts +8 -3
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +15 -0
- package/f-draggable/{node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.request.d.ts → f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.d.ts} +1 -1
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -0
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +19 -0
- package/f-draggable/{node-resize/node-resize-finalize/node-resize-finalize.request.d.ts → f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.d.ts} +1 -1
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -0
- package/f-draggable/{node/node-drag-to-parent.drag-handler.d.ts → f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts} +7 -9
- package/f-draggable/f-drop-to-group/index.d.ts +5 -0
- package/f-draggable/f-drop-to-group/providers.d.ts +3 -0
- package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +3 -3
- package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +3 -3
- package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +3 -3
- package/f-draggable/{node/line-alignment.drag-handler.d.ts → f-node-move/f-line-alignment.drag-handler.d.ts} +1 -1
- package/f-draggable/{node/node.drag-handler.d.ts → f-node-move/f-node-move.drag-handler.d.ts} +1 -1
- package/f-draggable/{node/summary-node.drag-handler.d.ts → f-node-move/f-summary-node-move.drag-handler.d.ts} +4 -4
- package/f-draggable/f-node-move/index.d.ts +10 -0
- package/f-draggable/{node/node-move-finalize/node-move-finalize.execution.d.ts → f-node-move/move-finalize/f-node-move-finalize.execution.d.ts} +5 -5
- package/f-draggable/{node/node-move-finalize/node-move-finalize.request.d.ts → f-node-move/move-finalize/f-node-move-finalize.request.d.ts} +1 -1
- package/f-draggable/f-node-move/move-finalize/index.d.ts +2 -0
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +20 -0
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +7 -0
- package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -0
- package/f-draggable/f-node-move/providers.d.ts +4 -0
- package/f-draggable/{node-resize/node-resize.drag-handler.d.ts → f-node-resize/f-node-resize.drag-handler.d.ts} +2 -2
- package/f-draggable/{node-resize → f-node-resize}/index.d.ts +3 -3
- package/f-draggable/{node-resize → f-node-resize}/providers.d.ts +3 -2
- package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +10 -0
- package/f-draggable/{node/node-move-preparation/node-move-preparation.request.d.ts → f-node-resize/resize-finalize/f-node-resize-finalize.request.d.ts} +1 -1
- package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -0
- package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +21 -0
- package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.d.ts +7 -0
- package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -0
- package/f-draggable/i-f-drag-and-drop-plugin.d.ts +2 -1
- package/f-draggable/index.d.ts +5 -4
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +1 -0
- package/f-external-item/domain/preparation/f-external-item-preparation.request.d.ts +3 -1
- package/f-flow.module.d.ts +28 -29
- package/f-storage/providers.d.ts +1 -1
- package/f-zoom/f-zoom.directive.d.ts +6 -12
- package/f-zoom/index.d.ts +0 -2
- package/fesm2022/foblex-flow.mjs +594 -631
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/domain/i-f-action-trigger.d.ts +0 -14
- package/esm2022/domain/i-f-action-trigger.mjs +0 -11
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +0 -63
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +0 -7
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +0 -72
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +0 -9
- package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +0 -56
- package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +0 -5
- package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +0 -11
- package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +0 -22
- package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +0 -11
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -109
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -7
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +0 -69
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +0 -7
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +0 -49
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +0 -9
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -3
- 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 +0 -59
- 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.request.mjs +0 -11
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -3
- 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 +0 -59
- 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.request.mjs +0 -11
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
- package/esm2022/f-draggable/node/f-drop-to-group.event.mjs +0 -11
- package/esm2022/f-draggable/node/index.mjs +0 -15
- package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -56
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -9
- package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +0 -63
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/index.mjs +0 -4
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +0 -61
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.request.mjs +0 -7
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/providers.mjs +0 -5
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +0 -80
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.request.mjs +0 -7
- package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +0 -67
- package/esm2022/f-draggable/node/node-move-finalize/index.mjs +0 -3
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -88
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +0 -7
- package/esm2022/f-draggable/node/node-move-preparation/index.mjs +0 -4
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -77
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +0 -7
- package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +0 -5
- package/esm2022/f-draggable/node/node.drag-handler.mjs +0 -30
- package/esm2022/f-draggable/node/point-bounds-limiter.mjs +0 -41
- package/esm2022/f-draggable/node/providers.mjs +0 -15
- package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +0 -41
- package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
- package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -9
- package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
- package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -9
- package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
- package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -13
- package/esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
- package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -11
- package/esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -9
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +0 -4
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -9
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/index.mjs +0 -12
- package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +0 -4
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -31
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +0 -7
- package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +0 -5
- package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -69
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +0 -7
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -72
- package/esm2022/f-draggable/node-resize/providers.mjs +0 -19
- package/esm2022/f-draggable/node-resize/resize-direction.mjs +0 -12
- package/esm2022/f-zoom/e-f-zoom-action.mjs +0 -6
- package/esm2022/f-zoom/providers.mjs +0 -5
- package/f-draggable/node/index.d.ts +0 -14
- package/f-draggable/node/node-drag-to-parent-finalize/index.d.ts +0 -3
- package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.d.ts +0 -18
- package/f-draggable/node/node-drag-to-parent-finalize/providers.d.ts +0 -2
- package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +0 -22
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.request.d.ts +0 -5
- package/f-draggable/node/node-move-finalize/index.d.ts +0 -2
- package/f-draggable/node/node-move-preparation/index.d.ts +0 -3
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +0 -19
- package/f-draggable/node/node-move-preparation/providers.d.ts +0 -2
- package/f-draggable/node/providers.d.ts +0 -4
- package/f-draggable/node-resize/node-resize-finalize/index.d.ts +0 -3
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +0 -10
- package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +0 -2
- package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +0 -20
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.d.ts +0 -5
- package/f-zoom/e-f-zoom-action.d.ts +0 -4
- package/f-zoom/providers.d.ts +0 -2
- /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/f-reassign-connection-finalize.execution.d.ts +0 -0
- /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/f-reassign-connection-finalize.request.d.ts +0 -0
- /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/index.d.ts +0 -0
- /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/f-reassign-connection-preparation.request.d.ts +0 -0
- /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/index.d.ts +0 -0
- /package/f-draggable/{node → f-drop-to-group}/f-drop-to-group.event.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/connection-drag-handlers/base-connection.drag-handler.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/connection-drag-handlers/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/connection-drag-handlers/source-connection.drag-handler.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/connection-drag-handlers/source-target-connection.drag-handler.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/connection-drag-handlers/target-connection.drag-handler.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/line-alignment-preparation/index.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -0
- /package/f-draggable/{node → f-node-move}/point-bounds-limiter.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/calculate-changed-position.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/calculate-changed-size.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/index.d.ts +0 -0
- /package/f-draggable/{node-resize → f-node-resize}/resize-direction.d.ts +0 -0
package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CreateMoveNodesDragModelFromSelectionExecution } from './create-move-nodes-drag-model-from-selection.execution';
|
|
2
|
+
import { CalculateNodeMoveLimitsExecution } from './domain/calculate-node-move-limits';
|
|
3
|
+
import { PutInputConnectionHandlersToArrayExecution } from './domain/put-input-connection-handlers-to-array';
|
|
4
|
+
import { PutOutputConnectionHandlersToArrayExecution } from './domain/put-output-connection-handlers-to-array';
|
|
5
|
+
import { CalculateCommonNodeMoveLimitsExecution } from './domain/calculate-common-node-move-limits';
|
|
6
|
+
export const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
|
|
7
|
+
CalculateCommonNodeMoveLimitsExecution,
|
|
8
|
+
CalculateNodeMoveLimitsExecution,
|
|
9
|
+
PutInputConnectionHandlersToArrayExecution,
|
|
10
|
+
PutOutputConnectionHandlersToArrayExecution,
|
|
11
|
+
CreateMoveNodesDragModelFromSelectionExecution,
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN6SCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxvREFBb0QsR0FBRztJQUVsRSxzQ0FBc0M7SUFFdEMsZ0NBQWdDO0lBRWhDLDBDQUEwQztJQUUxQywyQ0FBMkM7SUFFM0MsOENBQThDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbic7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c0V4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzJztcbmltcG9ydCB7IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1saW1pdHMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyA9IFtcblxuICBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c0V4ZWN1dGlvbixcblxuICBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24sXG5cbiAgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbixcblxuICBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uRXhlY3V0aW9uLFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { findClosestAlignment, RectExtensions } from '@foblex/2d';
|
|
2
|
+
import { fInject } from '../index';
|
|
3
|
+
import { FComponentsStore } from '../../f-storage';
|
|
4
|
+
export class FLineAlignmentDragHandler {
|
|
5
|
+
_lineService;
|
|
6
|
+
_size;
|
|
7
|
+
_draggedNodeRect;
|
|
8
|
+
_rects;
|
|
9
|
+
_restrictions;
|
|
10
|
+
fEventType = 'line-alignment';
|
|
11
|
+
_fComponentsStore = fInject(FComponentsStore);
|
|
12
|
+
_debounceTimer = null;
|
|
13
|
+
_transform;
|
|
14
|
+
constructor(_lineService, _size, _draggedNodeRect, _rects, _restrictions) {
|
|
15
|
+
this._lineService = _lineService;
|
|
16
|
+
this._size = _size;
|
|
17
|
+
this._draggedNodeRect = _draggedNodeRect;
|
|
18
|
+
this._rects = _rects;
|
|
19
|
+
this._restrictions = _restrictions;
|
|
20
|
+
this._transform = this._fComponentsStore.fCanvas?.transform;
|
|
21
|
+
}
|
|
22
|
+
onPointerMove(difference) {
|
|
23
|
+
const restrictedDifference = this._getDifference(difference);
|
|
24
|
+
if (this._debounceTimer) {
|
|
25
|
+
clearTimeout(this._debounceTimer);
|
|
26
|
+
}
|
|
27
|
+
this._debounceTimer = setTimeout(() => this._drawIntersectingLines(restrictedDifference), 15);
|
|
28
|
+
}
|
|
29
|
+
_drawIntersectingLines(difference) {
|
|
30
|
+
const intersect = this.findNearestCoordinate(difference);
|
|
31
|
+
if (intersect.xResult.value !== undefined) {
|
|
32
|
+
this._lineService.drawVerticalLine(intersect.xResult.value, this._size, this._transform);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this._lineService.hideVerticalLine();
|
|
36
|
+
}
|
|
37
|
+
if (intersect.yResult.value !== undefined) {
|
|
38
|
+
this._lineService.drawHorizontalLine(intersect.yResult.value, this._size, this._transform);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this._lineService.hideHorizontalLine();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
_getDifference(difference) {
|
|
45
|
+
return {
|
|
46
|
+
x: Math.min(Math.max(difference.x, this._restrictions.min.x), this._restrictions.max.x),
|
|
47
|
+
y: Math.min(Math.max(difference.y, this._restrictions.min.y), this._restrictions.max.y)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
findNearestCoordinate(difference) {
|
|
51
|
+
const rect = RectExtensions.addPoint(this._draggedNodeRect, difference);
|
|
52
|
+
return findClosestAlignment(this._rects, rect, this._fComponentsStore.fLineAlignment.fAlignThreshold);
|
|
53
|
+
}
|
|
54
|
+
onPointerUp() {
|
|
55
|
+
this._lineService.hideVerticalLine();
|
|
56
|
+
this._lineService.hideHorizontalLine();
|
|
57
|
+
if (this._debounceTimer) {
|
|
58
|
+
clearTimeout(this._debounceTimer);
|
|
59
|
+
this._debounceTimer = null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2YtbGluZS1hbGlnbm1lbnQuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUQsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxPQUFPLEVBQXFDLE1BQU0sVUFBVSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25ELE1BQU0sT0FBTyx5QkFBeUI7SUFXMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWJILFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztJQUU3QixpQkFBaUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxjQUFjLEdBQVEsSUFBSSxDQUFDO0lBRWxCLFVBQVUsQ0FBa0I7SUFFN0MsWUFDVSxZQUF5QixFQUN6QixLQUFZLEVBQ1osZ0JBQXVCLEVBQ3ZCLE1BQWUsRUFDZixhQUEyQjtRQUozQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1oscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFPO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUVuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsU0FBVSxDQUFDO0lBQy9ELENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUFrQjtRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0YsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsVUFBa0I7UUFDdkMsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkYsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4RixDQUFBO0lBQ0gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFVBQWtCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbmRDbG9zZXN0QWxpZ25tZW50LCBJTWluTWF4UG9pbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmSW5qZWN0LCBJRkRyYWdIYW5kbGVyLCBQb2ludEJvdW5kc0xpbWl0ZXIgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBMaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuXG5leHBvcnQgY2xhc3MgRkxpbmVBbGlnbm1lbnREcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ2xpbmUtYWxpZ25tZW50JztcblxuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBhbnkgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2xpbmVTZXJ2aWNlOiBMaW5lU2VydmljZSxcbiAgICBwcml2YXRlIF9zaXplOiBJU2l6ZSxcbiAgICBwcml2YXRlIF9kcmFnZ2VkTm9kZVJlY3Q6IElSZWN0LFxuICAgIHByaXZhdGUgX3JlY3RzOiBJUmVjdFtdLFxuICAgIHByaXZhdGUgX3Jlc3RyaWN0aW9uczogSU1pbk1heFBvaW50LFxuICApIHtcbiAgICB0aGlzLl90cmFuc2Zvcm0gPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/LnRyYW5zZm9ybSE7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXN0cmljdGVkRGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9kcmF3SW50ZXJzZWN0aW5nTGluZXMocmVzdHJpY3RlZERpZmZlcmVuY2UpLCAxNSk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmRyYXdWZXJ0aWNhbExpbmUoaW50ZXJzZWN0LnhSZXN1bHQudmFsdWUsIHRoaXMuX3NpemUsIHRoaXMuX3RyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB9XG4gICAgaWYgKGludGVyc2VjdC55UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmRyYXdIb3Jpem9udGFsTGluZShpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSwgdGhpcy5fc2l6ZSwgdGhpcy5fdHJhbnNmb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHRoaXMuX3Jlc3RyaWN0aW9ucy5taW4ueCksIHRoaXMuX3Jlc3RyaWN0aW9ucy5tYXgueCksXG4gICAgICB5OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLnksIHRoaXMuX3Jlc3RyaWN0aW9ucy5taW4ueSksIHRoaXMuX3Jlc3RyaWN0aW9ucy5tYXgueSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lQWxpZ25tZW50UmVzdWx0IHtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQodGhpcy5fZHJhZ2dlZE5vZGVSZWN0LCBkaWZmZXJlbmNlKTtcbiAgICByZXR1cm4gZmluZENsb3Nlc3RBbGlnbm1lbnQodGhpcy5fcmVjdHMsIHJlY3QsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQhLmZBbGlnblRocmVzaG9sZCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fbGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuXG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PointExtensions } from '@foblex/2d';
|
|
2
|
+
export class FNodeMoveDragHandler {
|
|
3
|
+
fNode;
|
|
4
|
+
fSourceHandlers;
|
|
5
|
+
fTargetHandlers;
|
|
6
|
+
fEventType = 'move-node';
|
|
7
|
+
_onPointerDownPosition = PointExtensions.initialize();
|
|
8
|
+
constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
|
|
9
|
+
this.fNode = fNode;
|
|
10
|
+
this.fSourceHandlers = fSourceHandlers;
|
|
11
|
+
this.fTargetHandlers = fTargetHandlers;
|
|
12
|
+
this._onPointerDownPosition = { ...fNode.position };
|
|
13
|
+
}
|
|
14
|
+
onPointerMove(difference) {
|
|
15
|
+
this._redraw(this._calculateNewPosition(difference));
|
|
16
|
+
this.fSourceHandlers.forEach((x) => x.setSourceDifference(difference));
|
|
17
|
+
this.fTargetHandlers.forEach((x) => x.setTargetDifference(difference));
|
|
18
|
+
}
|
|
19
|
+
_calculateNewPosition(difference) {
|
|
20
|
+
return PointExtensions.sum(this._onPointerDownPosition, difference);
|
|
21
|
+
}
|
|
22
|
+
_redraw(position) {
|
|
23
|
+
this.fNode.updatePosition(position);
|
|
24
|
+
this.fNode.redraw();
|
|
25
|
+
}
|
|
26
|
+
onPointerUp() {
|
|
27
|
+
this.fNode.positionChange.emit(this.fNode.position);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9mLW5vZGUtbW92ZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUtyRCxNQUFNLE9BQU8sb0JBQW9CO0lBT3RCO0lBQ0E7SUFDQTtJQVBGLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFFZixzQkFBc0IsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdkUsWUFDUyxLQUFnQixFQUNoQixrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUZqRCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQztRQUNqRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFFeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFVBQWtCO1FBQzlDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFnQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ21vdmUtbm9kZSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uID0geyAuLi5mTm9kZS5wb3NpdGlvbiB9O1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5mVGFyZ2V0SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uLCBkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FComponentsStore } from '../../f-storage';
|
|
2
|
+
import { fInject } from '../f-injector';
|
|
3
|
+
import { PointBoundsLimiter } from './point-bounds-limiter';
|
|
4
|
+
export class FSummaryNodeMoveDragHandler {
|
|
5
|
+
limits;
|
|
6
|
+
fHandlers;
|
|
7
|
+
commonRect;
|
|
8
|
+
fEventType = 'move-node';
|
|
9
|
+
fData;
|
|
10
|
+
_fComponentStore = fInject(FComponentsStore);
|
|
11
|
+
_fBoundsLimiter;
|
|
12
|
+
constructor(limits, fHandlers, commonRect) {
|
|
13
|
+
this.limits = limits;
|
|
14
|
+
this.fHandlers = fHandlers;
|
|
15
|
+
this.commonRect = commonRect;
|
|
16
|
+
this._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
|
|
17
|
+
this.fData = {
|
|
18
|
+
fNodeIds: this.fHandlers.map((x) => x.fNode.fId)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
onPointerMove(difference) {
|
|
22
|
+
const adjustCellSize = this._fComponentStore.fDraggable.fCellSizeWhileDragging;
|
|
23
|
+
const differenceWithRestrictions = this._fBoundsLimiter.limit(difference, adjustCellSize);
|
|
24
|
+
this.fHandlers.forEach((x) => x.onPointerMove(differenceWithRestrictions));
|
|
25
|
+
}
|
|
26
|
+
onPointerUp() {
|
|
27
|
+
this.fHandlers.forEach((x) => x.onPointerUp());
|
|
28
|
+
}
|
|
29
|
+
calculateRestrictedDifference(difference) {
|
|
30
|
+
return this._fBoundsLimiter.limit(difference, true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdW1tYXJ5LW5vZGUtbW92ZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2Ytc3VtbWFyeS1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsTUFBTSxPQUFPLDJCQUEyQjtJQVU3QjtJQUNBO0lBQ0E7SUFWRixVQUFVLEdBQUcsV0FBVyxDQUFDO0lBQ3pCLEtBQUssQ0FBTTtJQUVWLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXBDLGVBQWUsQ0FBcUI7SUFFckQsWUFDUyxNQUFvQixFQUNwQixTQUFpQyxFQUNqQyxVQUFpQjtRQUZqQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQXdCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQU87UUFFeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDakQsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUNoRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSw2QkFBNkIsQ0FBQyxVQUFrQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluTWF4UG9pbnQsIElQb2ludCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGZJbmplY3QgfSBmcm9tICcuLi9mLWluamVjdG9yJztcbmltcG9ydCB7IFBvaW50Qm91bmRzTGltaXRlciB9IGZyb20gJy4vcG9pbnQtYm91bmRzLWxpbWl0ZXInO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Ytbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcblxuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdtb3ZlLW5vZGUnO1xuICBwdWJsaWMgZkRhdGE6IGFueTtcblxuICBwcml2YXRlIF9mQ29tcG9uZW50U3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZCb3VuZHNMaW1pdGVyOiBQb2ludEJvdW5kc0xpbWl0ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxpbWl0czogSU1pbk1heFBvaW50LFxuICAgIHB1YmxpYyBmSGFuZGxlcnM6IEZOb2RlTW92ZURyYWdIYW5kbGVyW10sXG4gICAgcHVibGljIGNvbW1vblJlY3Q6IElSZWN0XG4gICkge1xuICAgIHRoaXMuX2ZCb3VuZHNMaW1pdGVyID0gbmV3IFBvaW50Qm91bmRzTGltaXRlcih0aGlzLmNvbW1vblJlY3QsIGxpbWl0cyk7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZOb2RlSWRzOiB0aGlzLmZIYW5kbGVycy5tYXAoKHgpID0+IHguZk5vZGUuZklkKVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhZGp1c3RDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRTdG9yZS5mRHJhZ2dhYmxlIS5mQ2VsbFNpemVXaGlsZURyYWdnaW5nO1xuICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zID0gdGhpcy5fZkJvdW5kc0xpbWl0ZXIubGltaXQoZGlmZmVyZW5jZSwgYWRqdXN0Q2VsbFNpemUpO1xuXG4gICAgdGhpcy5mSGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5mSGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGVSZXN0cmljdGVkRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mQm91bmRzTGltaXRlci5saW1pdChkaWZmZXJlbmNlLCB0cnVlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './connection-drag-handlers';
|
|
2
|
+
export * from './create-move-nodes-drag-model-from-selection';
|
|
3
|
+
export * from './line-alignment-preparation';
|
|
4
|
+
export * from './move-preparation';
|
|
5
|
+
export * from './move-finalize';
|
|
6
|
+
export * from './f-line-alignment.drag-handler';
|
|
7
|
+
export * from './f-node-move.drag-handler';
|
|
8
|
+
export * from './point-bounds-limiter';
|
|
9
|
+
export * from './providers';
|
|
10
|
+
export * from './f-summary-node-move.drag-handler';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9wb2ludC1ib3VuZHMtbGltaXRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './line-alignment-preparation.execution';
|
|
2
|
+
export * from './line-alignment-preparation.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24uZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { LineAlignmentPreparationRequest } from './line-alignment-preparation.request';
|
|
4
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
5
|
+
import { GetFlowHostElementRequest } from '../../../domain';
|
|
6
|
+
import { GetNormalizedElementRectRequest } from '../../../domain';
|
|
7
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
8
|
+
import { FDraggableDataContext, FSummaryNodeMoveDragHandler } from '../../index';
|
|
9
|
+
import { FLineAlignmentDragHandler } from '../f-line-alignment.drag-handler';
|
|
10
|
+
import { LineService } from '../../../f-line-alignment';
|
|
11
|
+
import { BrowserService } from '@foblex/platform';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
let LineAlignmentPreparationExecution = class LineAlignmentPreparationExecution {
|
|
14
|
+
_fMediator = inject(FMediator);
|
|
15
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
16
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
17
|
+
_fBrowser = inject(BrowserService);
|
|
18
|
+
_lineService;
|
|
19
|
+
handle(request) {
|
|
20
|
+
this._addLineAlignmentDragHandler(request.fNodes, request.commonRect);
|
|
21
|
+
}
|
|
22
|
+
_addLineAlignmentDragHandler(fNodes, commonRect) {
|
|
23
|
+
this._fDraggableDataContext.draggableItems.push(new FLineAlignmentDragHandler(this._lineService || this._createLineService(), this._getFlowHostSize(), commonRect, this._getStaticNodeRects(fNodes), this._getCommonRestrictions()));
|
|
24
|
+
}
|
|
25
|
+
_getFlowHostSize() {
|
|
26
|
+
return this._fMediator.execute(new GetFlowHostElementRequest())
|
|
27
|
+
.getBoundingClientRect();
|
|
28
|
+
}
|
|
29
|
+
_createLineService() {
|
|
30
|
+
this._lineService = new LineService(this._fBrowser, this._fComponentsStore.fLineAlignment.hostElement);
|
|
31
|
+
return this._lineService;
|
|
32
|
+
}
|
|
33
|
+
_getStaticNodeRects(fNodes) {
|
|
34
|
+
return this._getStaticNodes(fNodes).map((x) => {
|
|
35
|
+
return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
_getStaticNodes(fNodes) {
|
|
39
|
+
return this._fComponentsStore.fNodes
|
|
40
|
+
.filter((x) => !fNodes.includes(x));
|
|
41
|
+
}
|
|
42
|
+
_getCommonRestrictions() {
|
|
43
|
+
return this._fDraggableDataContext.draggableItems
|
|
44
|
+
.filter((x) => x instanceof FSummaryNodeMoveDragHandler)[0].limits;
|
|
45
|
+
}
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution });
|
|
48
|
+
};
|
|
49
|
+
LineAlignmentPreparationExecution = __decorate([
|
|
50
|
+
FExecutionRegister(LineAlignmentPreparationRequest)
|
|
51
|
+
], LineAlignmentPreparationExecution);
|
|
52
|
+
export { LineAlignmentPreparationExecution };
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution, decorators: [{
|
|
54
|
+
type: Injectable
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJM0MsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFFcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV2RCxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5DLFlBQVksQ0FBMEI7SUFFdkMsTUFBTSxDQUFDLE9BQXdDO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sNEJBQTRCLENBQUMsTUFBbUIsRUFBRSxVQUFpQjtRQUN6RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0MsSUFBSSx5QkFBeUIsQ0FDM0IsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFDOUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQ3ZCLFVBQVUsRUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUM5QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQWMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO2FBQ3pFLHFCQUFxQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUNqQyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFlLENBQUMsV0FBVyxDQUNuRCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUFtQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBbUI7UUFDekMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTTthQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYzthQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2RSxDQUFDO3VHQXJEVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQXNEN0M7OzJGQXREWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSU1pbk1heFBvaW50LCBJUmVjdCwgSVNpemUgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTGluZUFsaWdubWVudFByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2xpbmVTZXJ2aWNlOiBMaW5lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGRMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIocmVxdWVzdC5mTm9kZXMsIHJlcXVlc3QuY29tbW9uUmVjdCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIoZk5vZGVzOiBGTm9kZUJhc2VbXSwgY29tbW9uUmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMucHVzaChcbiAgICAgIG5ldyBGTGluZUFsaWdubWVudERyYWdIYW5kbGVyKFxuICAgICAgICB0aGlzLl9saW5lU2VydmljZSB8fCB0aGlzLl9jcmVhdGVMaW5lU2VydmljZSgpLFxuICAgICAgICB0aGlzLl9nZXRGbG93SG9zdFNpemUoKSxcbiAgICAgICAgY29tbW9uUmVjdCxcbiAgICAgICAgdGhpcy5fZ2V0U3RhdGljTm9kZVJlY3RzKGZOb2RlcyksXG4gICAgICAgIHRoaXMuX2dldENvbW1vblJlc3RyaWN0aW9ucygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZsb3dIb3N0U2l6ZSgpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEhUTUxFbGVtZW50PihuZXcgR2V0Rmxvd0hvc3RFbGVtZW50UmVxdWVzdCgpKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTGluZVNlcnZpY2UoKTogTGluZVNlcnZpY2Uge1xuICAgIHRoaXMuX2xpbmVTZXJ2aWNlID0gbmV3IExpbmVTZXJ2aWNlKFxuICAgICAgdGhpcy5fZkJyb3dzZXIsXG4gICAgICB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZMaW5lQWxpZ25tZW50IS5ob3N0RWxlbWVudFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuX2xpbmVTZXJ2aWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RhdGljTm9kZVJlY3RzKGZOb2RlczogRk5vZGVCYXNlW10pOiBJUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0U3RhdGljTm9kZXMoZk5vZGVzKS5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoeC5ob3N0RWxlbWVudCwgZmFsc2UpKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RhdGljTm9kZXMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maWx0ZXIoKHgpID0+ICFmTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tbW9uUmVzdHJpY3Rpb25zKCk6IElNaW5NYXhQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbHRlcigoeCkgPT4geCBpbnN0YW5jZW9mIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcilbMF0ubGltaXRzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class LineAlignmentPreparationRequest {
|
|
2
|
+
fNodes;
|
|
3
|
+
commonRect;
|
|
4
|
+
constructor(fNodes, commonRect) {
|
|
5
|
+
this.fNodes = fNodes;
|
|
6
|
+
this.commonRect = commonRect;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24ucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sK0JBQStCO0lBR2pDO0lBQ0E7SUFGVCxZQUNTLE1BQW1CLEVBQ25CLFVBQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBTztJQUUxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmTm9kZXM6IEZOb2RlQmFzZVtdLFxuICAgIHB1YmxpYyBjb21tb25SZWN0OiBJUmVjdFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FNodeMoveFinalizeRequest } from './f-node-move-finalize.request';
|
|
4
|
+
import { Point } from '@foblex/2d';
|
|
5
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
7
|
+
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
8
|
+
import { IsConnectionUnderNodeRequest } from '../../domain';
|
|
9
|
+
import { FNodeDropToGroupDragHandler } from '../../f-drop-to-group';
|
|
10
|
+
import { FLineAlignmentDragHandler } from '../f-line-alignment.drag-handler';
|
|
11
|
+
import { FSummaryNodeMoveDragHandler } from '../f-summary-node-move.drag-handler';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
let FNodeMoveFinalizeExecution = class FNodeMoveFinalizeExecution {
|
|
14
|
+
_fMediator = inject(FMediator);
|
|
15
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
16
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
17
|
+
get _fHost() {
|
|
18
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
19
|
+
}
|
|
20
|
+
handle(request) {
|
|
21
|
+
if (!this._isValid()) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
|
|
25
|
+
const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
|
|
26
|
+
.find((x) => x instanceof FSummaryNodeMoveDragHandler);
|
|
27
|
+
this._finalizeMove(firstNodeOrGroup.calculateRestrictedDifference(difference));
|
|
28
|
+
this._applyConnectionUnderDroppedNode();
|
|
29
|
+
}
|
|
30
|
+
_isValid() {
|
|
31
|
+
return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FSummaryNodeMoveDragHandler);
|
|
32
|
+
}
|
|
33
|
+
_finalizeMove(difference) {
|
|
34
|
+
this._getItems().forEach((x) => {
|
|
35
|
+
x.onPointerMove({ ...difference });
|
|
36
|
+
x.onPointerUp?.();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
_getItems() {
|
|
40
|
+
return this._fDraggableDataContext.draggableItems
|
|
41
|
+
.filter((x) => !(x instanceof FNodeDropToGroupDragHandler));
|
|
42
|
+
}
|
|
43
|
+
_getDifferenceBetweenPreparationAndFinalize(position) {
|
|
44
|
+
return Point.fromPoint(position).elementTransform(this._fHost)
|
|
45
|
+
.div(this._fDraggableDataContext.onPointerDownScale)
|
|
46
|
+
.sub(this._fDraggableDataContext.onPointerDownPosition);
|
|
47
|
+
}
|
|
48
|
+
_getDifferenceWithLineAlignment(difference) {
|
|
49
|
+
return this._applyLineAlignmentDifference(difference, this._getLineAlignmentDifference(difference));
|
|
50
|
+
}
|
|
51
|
+
_getLineAlignmentDifference(difference) {
|
|
52
|
+
return this._fDraggableDataContext.draggableItems
|
|
53
|
+
.find((x) => x instanceof FLineAlignmentDragHandler)
|
|
54
|
+
?.findNearestCoordinate(difference);
|
|
55
|
+
}
|
|
56
|
+
_applyLineAlignmentDifference(difference, intersection) {
|
|
57
|
+
if (intersection) {
|
|
58
|
+
difference.x = this._isIntersectValue(intersection.xResult) ? (difference.x - intersection.xResult.distance) : difference.x;
|
|
59
|
+
difference.y = this._isIntersectValue(intersection.yResult) ? (difference.y - intersection.yResult.distance) : difference.y;
|
|
60
|
+
}
|
|
61
|
+
return difference;
|
|
62
|
+
}
|
|
63
|
+
_isIntersectValue(result) {
|
|
64
|
+
return result.value !== undefined && result.value !== null;
|
|
65
|
+
}
|
|
66
|
+
_applyConnectionUnderDroppedNode() {
|
|
67
|
+
if (this._isDraggedJustOneNode() && this._fComponentsStore.fDraggable?.fEmitOnNodeIntersect) {
|
|
68
|
+
const fNode = this._getFirstNodeOrGroup();
|
|
69
|
+
setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_isDraggedJustOneNode() {
|
|
73
|
+
return this._fDraggableDataContext.draggableItems[0].fHandlers.length === 1;
|
|
74
|
+
}
|
|
75
|
+
_getFirstNodeOrGroup() {
|
|
76
|
+
return this._fDraggableDataContext.draggableItems[0].fHandlers[0].fNode;
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution });
|
|
80
|
+
};
|
|
81
|
+
FNodeMoveFinalizeExecution = __decorate([
|
|
82
|
+
FExecutionRegister(FNodeMoveFinalizeRequest)
|
|
83
|
+
], FNodeMoveFinalizeExecution);
|
|
84
|
+
export { FNodeMoveFinalizeExecution };
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution, decorators: [{
|
|
86
|
+
type: Injectable
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLWZpbmFsaXplL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFLM0UsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFFN0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FB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LFFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9ILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBZ0M7UUFDeEQsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztJQUM3RCxDQUFDO0lBRU8sZ0NBQWdDO1FBQ3RDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBRTVGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFRLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFrQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBa0MsQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFFLENBQUMsS0FBSyxDQUFDO0lBQy9HLENBQUM7dUdBeEZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBeUZ0Qzs7MkZBekZZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0JztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQge1xuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcm9wLXRvLWdyb3VwJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkaWZmZXJlbmNlID0gdGhpcy5fZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KFxuICAgICAgdGhpcy5fZ2V0RGlmZmVyZW5jZUJldHdlZW5QcmVwYXJhdGlvbkFuZEZpbmFsaXplKHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICApO1xuXG4gICAgY29uc3QgZmlyc3ROb2RlT3JHcm91cDogRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyID0gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcikhO1xuXG4gICAgdGhpcy5fZmluYWxpemVNb3ZlKGZpcnN0Tm9kZU9yR3JvdXAuY2FsY3VsYXRlUmVzdHJpY3RlZERpZmZlcmVuY2UoZGlmZmVyZW5jZSkpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluYWxpemVNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEl0ZW1zKCkuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5vblBvaW50ZXJNb3ZlKHsgLi4uZGlmZmVyZW5jZSB9KTtcbiAgICAgIHgub25Qb2ludGVyVXA/LigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbXMoKTogSUZEcmFnSGFuZGxlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG5cbiAgICByZXR1cm4gdGhpcy5fYXBwbHlMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShcbiAgICAgIGRpZmZlcmVuY2UsXG4gICAgICB0aGlzLl9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBGTGluZUFsaWdubWVudERyYWdIYW5kbGVyKVxuICAgICAgPy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUxpbmVBbGlnbm1lbnREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgaW50ZXJzZWN0aW9uOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCk6IElQb2ludCB7XG4gICAgaWYgKGludGVyc2VjdGlvbikge1xuICAgICAgZGlmZmVyZW5jZS54ID0gdGhpcy5faXNJbnRlcnNlY3RWYWx1ZShpbnRlcnNlY3Rpb24ueFJlc3VsdCkgPyAoZGlmZmVyZW5jZS54IC0gaW50ZXJzZWN0aW9uLnhSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueDtcbiAgICAgIGRpZmZlcmVuY2UueSA9IHRoaXMuX2lzSW50ZXJzZWN0VmFsdWUoaW50ZXJzZWN0aW9uLnlSZXN1bHQpID8gKGRpZmZlcmVuY2UueSAtIGludGVyc2VjdGlvbi55UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLnk7XG4gICAgfVxuICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnRlcnNlY3RWYWx1ZShyZXN1bHQ6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQudmFsdWUgIT09IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnZWRKdXN0T25lTm9kZSgpICYmIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcblxuICAgICAgY29uc3QgZk5vZGUgPSB0aGlzLl9nZXRGaXJzdE5vZGVPckdyb3VwKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKS5mSGFuZGxlcnMubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Rmlyc3ROb2RlT3JHcm91cCgpOiBGTm9kZUJhc2Uge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKS5mSGFuZGxlcnNbIDAgXS5mTm9kZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class FNodeMoveFinalizeRequest {
|
|
2
|
+
event;
|
|
3
|
+
constructor(event) {
|
|
4
|
+
this.event = event;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1maW5hbGl6ZS9mLW5vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFHMUI7SUFEVCxZQUNTLEtBQW9CO1FBQXBCLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcblxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50XG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './f-node-move-finalize.execution';
|
|
2
|
+
export * from './f-node-move-finalize.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtZmluYWxpemUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtbW92ZS1maW5hbGl6ZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuIl19
|
package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FNodeMovePreparationRequest } from './f-node-move-preparation.request';
|
|
4
|
+
import { Point } from '@foblex/2d';
|
|
5
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
7
|
+
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
8
|
+
import { CreateMoveNodesDragModelFromSelectionRequest } from '../create-move-nodes-drag-model-from-selection';
|
|
9
|
+
import { isValidEventTrigger, SelectAndUpdateNodeLayerRequest } from '../../../domain';
|
|
10
|
+
import { isClosestElementHasClass } from '@foblex/utils';
|
|
11
|
+
import { LineAlignmentPreparationRequest } from '../line-alignment-preparation';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
let FNodeMovePreparationExecution = class FNodeMovePreparationExecution {
|
|
14
|
+
_fMediator = inject(FMediator);
|
|
15
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
16
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
17
|
+
get _transform() {
|
|
18
|
+
return this._fComponentsStore.fCanvas.transform;
|
|
19
|
+
}
|
|
20
|
+
get _fHost() {
|
|
21
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
22
|
+
}
|
|
23
|
+
_fNode;
|
|
24
|
+
handle(request) {
|
|
25
|
+
if (!this._isValid(request) || !this._isValidTrigger(request)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const summaryDragHandler = this._calculateDraggedItems(this._fNode);
|
|
29
|
+
this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
|
|
30
|
+
this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
|
|
31
|
+
.elementTransform(this._fHost).div(this._transform.scale);
|
|
32
|
+
this._fDraggableDataContext.draggableItems = [summaryDragHandler];
|
|
33
|
+
if (this._fComponentsStore.fLineAlignment) {
|
|
34
|
+
this._fMediator.execute(new LineAlignmentPreparationRequest(summaryDragHandler.fHandlers.map((x) => x.fNode), summaryDragHandler.commonRect));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
_isValid(request) {
|
|
38
|
+
return this._fDraggableDataContext.isEmpty()
|
|
39
|
+
&& this._isDragHandleElement(request.event.targetElement)
|
|
40
|
+
&& !!this._getNode(request.event.targetElement);
|
|
41
|
+
}
|
|
42
|
+
_isDragHandleElement(element) {
|
|
43
|
+
return isClosestElementHasClass(element, '.f-drag-handle');
|
|
44
|
+
}
|
|
45
|
+
_getNode(element) {
|
|
46
|
+
this._fNode = this._fComponentsStore.fNodes
|
|
47
|
+
.find(x => x.isContains(element) && !x.fDraggingDisabled);
|
|
48
|
+
return this._fNode;
|
|
49
|
+
}
|
|
50
|
+
_isValidTrigger(request) {
|
|
51
|
+
return isValidEventTrigger(request.event.originalEvent, request.fTrigger);
|
|
52
|
+
}
|
|
53
|
+
//We drag nodes from selection model
|
|
54
|
+
_calculateDraggedItems(fNode) {
|
|
55
|
+
let result;
|
|
56
|
+
if (!fNode.fSelectionDisabled) {
|
|
57
|
+
// Need to select node before drag
|
|
58
|
+
this._fMediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
|
|
59
|
+
result = this._dragModelFromSelection();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// User can drag node that can't be selected
|
|
63
|
+
result = this._dragModelFromSelection(fNode);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
_dragModelFromSelection(nodeWithDisabledSelection) {
|
|
68
|
+
return this._fMediator.execute(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution });
|
|
72
|
+
};
|
|
73
|
+
FNodeMovePreparationExecution = __decorate([
|
|
74
|
+
FExecutionRegister(FNodeMovePreparationRequest)
|
|
75
|
+
], FNodeMovePreparationExecution);
|
|
76
|
+
export { FNodeMovePreparationExecution };
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution, decorators: [{
|
|
78
|
+
type: Injectable
|
|
79
|
+
}] });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLXByZXBhcmF0aW9uL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLekUsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFFaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJ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QUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyx5QkFBcUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDNUIsSUFBSSw0Q0FBNEMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQzt1R0E1RVUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0E2RXpDOzsyRkE3RVksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciwgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpIHx8ICF0aGlzLl9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1bW1hcnlEcmFnSGFuZGxlciA9IHRoaXMuX2NhbGN1bGF0ZURyYWdnZWRJdGVtcyh0aGlzLl9mTm9kZSEpO1xuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbc3VtbWFyeURyYWdIYW5kbGVyXTtcblxuICAgIGlmKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgICBuZXcgTGluZUFsaWdubWVudFByZXBhcmF0aW9uUmVxdWVzdChcbiAgICAgICAgICBzdW1tYXJ5RHJhZ0hhbmRsZXIuZkhhbmRsZXJzLm1hcCgoeCkgPT4geC5mTm9kZSksIHN1bW1hcnlEcmFnSGFuZGxlci5jb21tb25SZWN0XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRUcmlnZ2VyKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRXZlbnRUcmlnZ2VyKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCwgcmVxdWVzdC5mVHJpZ2dlcik7XG4gIH1cblxuICAvL1dlIGRyYWcgbm9kZXMgZnJvbSBzZWxlY3Rpb24gbW9kZWxcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRHJhZ2dlZEl0ZW1zKGZOb2RlOiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcjtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgLy8gTmVlZCB0byBzZWxlY3Qgbm9kZSBiZWZvcmUgZHJhZ1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QoZk5vZGUpKTtcblxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2VyIGNhbiBkcmFnIG5vZGUgdGhhdCBjYW4ndCBiZSBzZWxlY3RlZFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihmTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdChub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class FNodeMovePreparationRequest {
|
|
2
|
+
event;
|
|
3
|
+
fTrigger;
|
|
4
|
+
constructor(event, fTrigger) {
|
|
5
|
+
this.event = event;
|
|
6
|
+
this.fTrigger = fTrigger;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1wcmVwYXJhdGlvbi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFHN0I7SUFDQTtJQUZULFlBQ1MsS0FBb0IsRUFDcEIsUUFBdUI7UUFEdkIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFlO0lBRWhDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcblxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50LFxuICAgIHB1YmxpYyBmVHJpZ2dlcjogRkV2ZW50VHJpZ2dlclxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './f-node-move-preparation.execution';
|
|
2
|
+
export * from './f-node-move-preparation.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtcHJlcGFyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { fInject } from '../f-injector';
|
|
2
|
+
import { FComponentsStore } from '../../f-storage';
|
|
3
|
+
export class PointBoundsLimiter {
|
|
4
|
+
_onPointerDown;
|
|
5
|
+
_limit;
|
|
6
|
+
_fComponentsStore = fInject(FComponentsStore);
|
|
7
|
+
_vCellSize = this._fComponentsStore.fDraggable.vCellSize;
|
|
8
|
+
_hCellSize = this._fComponentsStore.fDraggable.hCellSize;
|
|
9
|
+
constructor(_onPointerDown, _limit) {
|
|
10
|
+
this._onPointerDown = _onPointerDown;
|
|
11
|
+
this._limit = _limit;
|
|
12
|
+
}
|
|
13
|
+
limit(difference, adjustCellSize) {
|
|
14
|
+
const { min, max } = this._limit;
|
|
15
|
+
const { x, y } = this._cellSizeStrategies[+adjustCellSize](difference);
|
|
16
|
+
return {
|
|
17
|
+
x: this._clamp(x, min.x, max.x),
|
|
18
|
+
y: this._clamp(y, min.y, max.y),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
_cellSizeStrategies = {
|
|
22
|
+
0: this._skipCellSize.bind(this),
|
|
23
|
+
1: this._applyCellSize.bind(this)
|
|
24
|
+
};
|
|
25
|
+
_applyCellSize(difference) {
|
|
26
|
+
return {
|
|
27
|
+
x: this._snapToGrid(this._onPointerDown.x + difference.x, this._hCellSize) - this._onPointerDown.x,
|
|
28
|
+
y: this._snapToGrid(this._onPointerDown.y + difference.y, this._vCellSize) - this._onPointerDown.y
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
_skipCellSize(difference) {
|
|
32
|
+
return difference;
|
|
33
|
+
}
|
|
34
|
+
_clamp(value, min, max) {
|
|
35
|
+
return Math.min(Math.max(value, min), max);
|
|
36
|
+
}
|
|
37
|
+
_snapToGrid(value, cellSize) {
|
|
38
|
+
return Math.round(value / cellSize) * cellSize;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtYm91bmRzLWxpbWl0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL3BvaW50LWJvdW5kcy1saW1pdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsTUFBTSxPQUFPLGtCQUFrQjtJQVFuQjtJQUNTO0lBUFgsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsU0FBUyxDQUFDO0lBQzFELFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVyxDQUFDLFNBQVMsQ0FBQztJQUVsRSxZQUNVLGNBQXNCLEVBQ2IsTUFBb0I7UUFEN0IsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBRXZDLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBa0IsRUFBRSxjQUF1QjtRQUN0RCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFakMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RSxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU8sbUJBQW1CLEdBQW1EO1FBQzVFLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQWtCO1FBQ3ZDLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEcsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ25HLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWtCO1FBQ3RDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluTWF4UG9pbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgZkluamVjdCB9IGZyb20gJy4uL2YtaW5qZWN0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBQb2ludEJvdW5kc0xpbWl0ZXIge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgX3ZDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEudkNlbGxTaXplO1xuICBwcml2YXRlIF9oQ2VsbFNpemUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUhLmhDZWxsU2l6ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9vblBvaW50ZXJEb3duOiBJUG9pbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbGltaXQ6IElNaW5NYXhQb2ludFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBsaW1pdChkaWZmZXJlbmNlOiBJUG9pbnQsIGFkanVzdENlbGxTaXplOiBib29sZWFuKTogSVBvaW50IHtcbiAgICBjb25zdCB7IG1pbiwgbWF4IH0gPSB0aGlzLl9saW1pdDtcblxuICAgIGNvbnN0IHsgeCwgeSB9ID0gdGhpcy5fY2VsbFNpemVTdHJhdGVnaWVzWythZGp1c3RDZWxsU2l6ZV0oZGlmZmVyZW5jZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgeDogdGhpcy5fY2xhbXAoeCwgbWluLngsIG1heC54KSxcbiAgICAgIHk6IHRoaXMuX2NsYW1wKHksIG1pbi55LCBtYXgueSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2NlbGxTaXplU3RyYXRlZ2llczogUmVjb3JkPG51bWJlciwgKGRpZmZlcmVuY2U6IElQb2ludCkgPT4gSVBvaW50PiA9IHtcbiAgICAwOiB0aGlzLl9za2lwQ2VsbFNpemUuYmluZCh0aGlzKSxcbiAgICAxOiB0aGlzLl9hcHBseUNlbGxTaXplLmJpbmQodGhpcylcbiAgfTtcblxuICBwcml2YXRlIF9hcHBseUNlbGxTaXplKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHRoaXMuX3NuYXBUb0dyaWQodGhpcy5fb25Qb2ludGVyRG93bi54ICsgZGlmZmVyZW5jZS54LCB0aGlzLl9oQ2VsbFNpemUpIC0gdGhpcy5fb25Qb2ludGVyRG93bi54LFxuICAgICAgeTogdGhpcy5fc25hcFRvR3JpZCh0aGlzLl9vblBvaW50ZXJEb3duLnkgKyBkaWZmZXJlbmNlLnksIHRoaXMuX3ZDZWxsU2l6ZSkgLSB0aGlzLl9vblBvaW50ZXJEb3duLnlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2tpcENlbGxTaXplKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh2YWx1ZSwgbWluKSwgbWF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NuYXBUb0dyaWQodmFsdWU6IG51bWJlciwgY2VsbFNpemU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgLyBjZWxsU2l6ZSkgKiBjZWxsU2l6ZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-move-nodes-drag-model-from-selection';
|
|
2
|
+
import { FNodeMoveFinalizeExecution } from './move-finalize';
|
|
3
|
+
import { FNodeMovePreparationExecution } from './move-preparation';
|
|
4
|
+
import { LineAlignmentPreparationExecution } from './line-alignment-preparation';
|
|
5
|
+
export const NODE_PROVIDERS = [
|
|
6
|
+
...CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS,
|
|
7
|
+
LineAlignmentPreparationExecution,
|
|
8
|
+
FNodeMoveFinalizeExecution,
|
|
9
|
+
FNodeMovePreparationExecution,
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBRTVCLEdBQUcsb0RBQW9EO0lBRXZELGlDQUFpQztJQUVqQywwQkFBMEI7SUFFMUIsNkJBQTZCO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IEZOb2RlTW92ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcbmltcG9ydCB7IEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgTk9ERV9QUk9WSURFUlMgPSBbXG5cbiAgLi4uQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyxcblxuICBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24sXG5dO1xuIl19
|