@foblex/flow 17.6.1 → 17.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/css-cls.d.ts +4 -0
- package/domain/f-canvas/providers.d.ts +1 -1
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +1 -1
- package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +1 -1
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +1 -1
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +1 -1
- package/domain/f-connectors/providers.d.ts +1 -1
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -1
- package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +1 -1
- package/domain/f-draggable/is-drag-started/index.d.ts +1 -1
- package/domain/f-draggable/is-drag-started/{is-drag-started.execution.d.ts → is-drag-started.d.ts} +3 -3
- package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
- package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
- package/domain/f-draggable/providers.d.ts +2 -2
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -1
- package/domain/f-flow/get-flow-state/i-f-flow-state-node.d.ts +2 -1
- package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
- package/domain/f-flow/providers.d.ts +1 -1
- package/domain/f-node/add-node-to-store/{add-node-to-store.execution.d.ts → add-node-to-store.d.ts} +3 -3
- package/domain/f-node/add-node-to-store/index.d.ts +1 -1
- package/domain/f-node/calculate-input-connections/{calculate-input-connections.execution.d.ts → calculate-input-connections.d.ts} +3 -3
- package/domain/f-node/calculate-input-connections/index.d.ts +1 -1
- package/domain/f-node/calculate-nodes-bounding-box/{calculate-nodes-bounding-box.execution.d.ts → calculate-nodes-bounding-box.d.ts} +3 -3
- package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +1 -1
- package/domain/f-node/calculate-nodes-bounding-box-normalized-position/{calculate-nodes-bounding-box-normalized-position.execution.d.ts → calculate-nodes-bounding-box-normalized-position.d.ts} +3 -3
- package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +1 -1
- package/domain/f-node/calculate-output-connections/{calculate-output-connections.execution.d.ts → calculate-output-connections.d.ts} +3 -3
- package/domain/f-node/calculate-output-connections/index.d.ts +1 -1
- package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.d.ts +6 -0
- package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.d.ts +16 -0
- package/domain/f-node/fit-to-child-nodes-and-groups/index.d.ts +2 -0
- package/domain/f-node/get-child-node-ids/get-child-node-ids.d.ts +14 -0
- package/domain/f-node/get-child-node-ids/get-child-node-ids.request.d.ts +5 -0
- package/domain/f-node/get-child-node-ids/index.d.ts +2 -0
- package/domain/f-node/get-node-padding/{get-node-padding.execution.d.ts → get-node-padding.d.ts} +3 -3
- package/domain/f-node/get-node-padding/index.d.ts +1 -1
- package/domain/f-node/get-nodes/{get-nodes.execution.d.ts → get-nodes.d.ts} +3 -3
- package/domain/f-node/get-nodes/index.d.ts +1 -1
- package/domain/f-node/get-parent-nodes/{get-parent-nodes.execution.d.ts → get-parent-nodes.d.ts} +3 -3
- package/domain/f-node/get-parent-nodes/index.d.ts +1 -1
- package/domain/f-node/index.d.ts +2 -0
- package/domain/f-node/providers.d.ts +13 -11
- package/domain/f-node/remove-node-from-store/index.d.ts +1 -1
- package/domain/f-node/remove-node-from-store/{remove-node-from-store.execution.d.ts → remove-node-from-store.d.ts} +3 -3
- package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +1 -1
- package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +2 -2
- package/domain/f-node/update-node-when-state-or-size-changed/{update-node-when-state-or-size-changed.execution.d.ts → update-node-when-state-or-size-changed.d.ts} +6 -4
- package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -1
- package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +1 -1
- package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +1 -1
- package/domain/f-selection/select/select.execution.d.ts +1 -1
- package/domain/f-selection/select-all/select-all.execution.d.ts +1 -1
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/css-cls.mjs +5 -1
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
- package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +2 -2
- package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +2 -2
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +3 -3
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +3 -3
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +2 -2
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +3 -3
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +3 -3
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +3 -3
- package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +3 -3
- package/esm2022/domain/f-draggable/is-drag-started/index.mjs +2 -2
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +1 -1
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.mjs +25 -0
- package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -3
- package/esm2022/domain/f-draggable/providers.mjs +3 -3
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +5 -5
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -4
- package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +1 -1
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +25 -0
- package/esm2022/domain/f-node/add-node-to-store/index.mjs +2 -2
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +34 -0
- package/esm2022/domain/f-node/calculate-input-connections/index.mjs +2 -2
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +33 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +2 -2
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +36 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +2 -2
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +34 -0
- package/esm2022/domain/f-node/calculate-output-connections/index.mjs +2 -2
- package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +8 -0
- package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +64 -0
- package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/index.mjs +3 -0
- package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +45 -0
- package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +8 -0
- package/esm2022/domain/f-node/get-child-node-ids/index.mjs +3 -0
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +35 -0
- package/esm2022/domain/f-node/get-node-padding/index.mjs +2 -2
- package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +25 -0
- package/esm2022/domain/f-node/get-nodes/index.mjs +2 -2
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +37 -0
- package/esm2022/domain/f-node/get-parent-nodes/index.mjs +2 -2
- package/esm2022/domain/f-node/index.mjs +3 -1
- package/esm2022/domain/f-node/providers.mjs +25 -21
- package/esm2022/domain/f-node/remove-node-from-store/index.mjs +2 -2
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +25 -0
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +2 -2
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +4 -4
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +104 -0
- package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +5 -5
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +5 -5
- package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +5 -5
- package/esm2022/domain/f-selection/select/select.execution.mjs +7 -7
- package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +7 -7
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
- package/esm2022/f-canvas/f-canvas.component.mjs +7 -7
- package/esm2022/f-connection/common/f-connection-base.mjs +22 -3
- package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -31
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +7 -22
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +7 -22
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +13 -13
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +4 -4
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +8 -8
- package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +7 -7
- package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +4 -4
- package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +11 -11
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +8 -8
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +8 -8
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +4 -4
- package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +4 -4
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +11 -11
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +3 -3
- package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
- package/esm2022/f-draggable/f-draggable-data-context.mjs +2 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +53 -47
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +69 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -3
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +8 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +101 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -3
- package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +20 -13
- package/esm2022/f-draggable/f-drop-to-group/index.mjs +2 -1
- package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -5
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.mjs +3 -0
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +8 -0
- package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +48 -0
- package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +10 -10
- package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +29 -0
- package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +18 -0
- package/esm2022/f-draggable/f-node-move/constraint/index.mjs +5 -0
- package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +36 -0
- package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +36 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +8 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +9 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +47 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.mjs +4 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +8 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +72 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.mjs +5 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +8 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +88 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.mjs +12 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +59 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.mjs +12 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +59 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +33 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +13 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +39 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.mjs +4 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs +2 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/index.mjs +12 -0
- package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +17 -0
- package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +8 -0
- package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +52 -0
- package/esm2022/f-draggable/f-node-move/create-snap-lines/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +51 -0
- package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +8 -2
- package/esm2022/f-draggable/f-node-move/index.mjs +8 -7
- package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +95 -0
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +38 -49
- package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +26 -26
- package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +44 -0
- package/esm2022/f-draggable/f-node-move/providers.mjs +4 -4
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +56 -0
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +145 -0
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +14 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +55 -0
- package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +39 -0
- package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +69 -0
- package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/index.mjs +3 -0
- package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/constraint/i-resize-overflow.mjs +2 -0
- package/esm2022/f-draggable/f-node-resize/constraint/index.mjs +5 -0
- package/esm2022/f-draggable/f-node-resize/index.mjs +8 -8
- package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +64 -0
- package/esm2022/f-draggable/f-node-resize/providers.mjs +15 -17
- package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -3
- package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +8 -0
- package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +29 -0
- package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -3
- package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +10 -0
- package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +71 -0
- package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +9 -9
- package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +4 -4
- package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +13 -13
- package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +18 -18
- package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +44 -0
- package/esm2022/f-external-item/domain/constraint/index.mjs +2 -0
- package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +27 -22
- package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -9
- package/esm2022/f-external-item/domain/index.mjs +2 -1
- package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +8 -8
- package/esm2022/f-line-alignment/domain/i-snap-coordinate.mjs +2 -0
- package/esm2022/f-line-alignment/domain/i-snap-result.mjs +2 -0
- package/esm2022/f-line-alignment/domain/index.mjs +5 -5
- package/esm2022/f-line-alignment/domain/snap-line-element.mjs +24 -0
- package/esm2022/f-line-alignment/domain/snap-line-service.mjs +38 -0
- package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +11 -10
- package/esm2022/f-node/f-group.directive.mjs +56 -94
- package/esm2022/f-node/f-node-base.mjs +61 -7
- package/esm2022/f-node/f-node.directive.mjs +56 -95
- package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +1 -1
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +4 -4
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +9 -9
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +13 -13
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +3 -3
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +3 -3
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +3 -3
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +3 -3
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +3 -3
- package/esm2022/mixins/change-selection/change-selection.mjs +2 -2
- package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
- package/esm2022/reactivity/f-resize-channel.mjs +1 -1
- package/f-canvas/f-canvas.component.d.ts +4 -4
- package/f-connection/common/f-connection-base.d.ts +17 -15
- package/f-connection/common/i-has-connection-color.d.ts +3 -3
- package/f-connection/f-connection/f-connection.component.d.ts +6 -20
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -17
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -17
- package/f-connection/providers.d.ts +1 -1
- package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +3 -3
- package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +2 -2
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
- package/f-draggable/domain/providers.d.ts +1 -1
- package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +1 -1
- package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +1 -1
- package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +1 -1
- package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +1 -1
- package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -1
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +2 -2
- package/f-draggable/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-draggable-base.d.ts +4 -4
- package/f-draggable/f-draggable-data-context.d.ts +1 -0
- package/f-draggable/f-draggable.directive.d.ts +23 -11
- package/f-draggable/{f-node-resize/resize-finalize/f-node-resize-finalize.request.d.ts → f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.d.ts} +1 -1
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +16 -0
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -2
- package/f-draggable/f-drop-to-group/{drop-to-group-finalize/f-node-drop-to-group-finalize.request.d.ts → drop-to-group-preparation/drop-to-group-preparation-request.d.ts} +1 -1
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +29 -0
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -2
- package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +4 -4
- package/f-draggable/f-drop-to-group/index.d.ts +1 -0
- package/f-draggable/f-drop-to-group/providers.d.ts +4 -3
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.d.ts +2 -0
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.d.ts +6 -0
- package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.d.ts +10 -0
- package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -2
- package/f-draggable/f-node-move/constraint/drag-constraint-pipeline.d.ts +17 -0
- package/f-draggable/f-node-move/constraint/expand-rect-from-baseline.d.ts +3 -0
- package/f-draggable/f-node-move/constraint/index.d.ts +4 -0
- package/f-draggable/f-node-move/constraint/rect-constraint.d.ts +19 -0
- package/f-draggable/f-node-move/constraint/snap-to-grid.d.ts +15 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.d.ts +6 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.d.ts +6 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.d.ts +13 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.d.ts +3 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.d.ts +6 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.d.ts +19 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.d.ts +6 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.d.ts +8 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.d.ts +4 -0
- package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts → create-drag-model-from-selection/create-drag-model-from-selection-request.d.ts} +1 -1
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.d.ts +24 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.d.ts +16 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +18 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.d.ts +7 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.d.ts +13 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.d.ts +2 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.d.ts +7 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.d.ts +9 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.d.ts +13 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.d.ts +3 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/index.d.ts +11 -0
- package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +8 -0
- package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +6 -0
- package/f-draggable/f-node-move/create-snap-lines/create-snap-lines.d.ts +19 -0
- package/f-draggable/f-node-move/create-snap-lines/index.d.ts +2 -0
- package/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.d.ts +16 -0
- package/f-draggable/f-node-move/f-move-nodes.event.d.ts +4 -0
- package/f-draggable/f-node-move/index.d.ts +7 -6
- package/f-draggable/f-node-move/move-drag-handler.d.ts +33 -0
- package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +10 -10
- package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +4 -4
- package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +22 -0
- package/f-draggable/f-node-move/providers.d.ts +2 -2
- package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.d.ts +7 -0
- package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.d.ts +13 -0
- package/f-draggable/f-node-resize/apply-child-resize-constraints/index.d.ts +2 -0
- package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +8 -0
- package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +36 -0
- package/f-draggable/f-node-resize/apply-parent-resize-constraints/index.d.ts +2 -0
- package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.d.ts +10 -0
- package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +11 -0
- package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.d.ts +2 -0
- package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.d.ts +7 -0
- package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.d.ts +15 -0
- package/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.d.ts +2 -0
- package/f-draggable/f-node-resize/{get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts → calculate-resize-limits/calculate-resize-limits-request.d.ts} +3 -3
- package/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.d.ts +17 -0
- package/f-draggable/f-node-resize/calculate-resize-limits/index.d.ts +2 -0
- package/f-draggable/f-node-resize/constraint/i-resize-constraint.d.ts +7 -0
- package/f-draggable/f-node-resize/constraint/i-resize-limit.d.ts +7 -0
- package/f-draggable/f-node-resize/constraint/i-resize-limits.d.ts +5 -0
- package/f-draggable/f-node-resize/constraint/i-resize-overflow.d.ts +6 -0
- package/f-draggable/f-node-resize/constraint/index.d.ts +4 -0
- package/f-draggable/f-node-resize/index.d.ts +7 -7
- package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +25 -0
- package/f-draggable/f-node-resize/providers.d.ts +8 -9
- package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -2
- package/f-draggable/{f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.d.ts → f-node-resize/resize-finalize/node-resize-finalize-request.d.ts} +2 -2
- package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +10 -0
- package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -2
- package/f-draggable/f-node-resize/resize-preparation/{f-node-resize-preparation.request.d.ts → node-resize-preparation-request.d.ts} +1 -1
- package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +22 -0
- package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +2 -2
- package/f-draggable/f-node-rotate/providers.d.ts +1 -1
- package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
- package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +2 -2
- package/f-draggable/f-single-select/f-single-select.execution.d.ts +2 -2
- package/f-draggable/providers.d.ts +1 -1
- package/{f-draggable/f-node-move/point-bounds-limiter.d.ts → f-external-item/domain/constraint/external-rect-constraint.d.ts} +4 -4
- package/f-external-item/domain/constraint/index.d.ts +1 -0
- package/f-external-item/domain/f-external-item.drag-handler.d.ts +6 -5
- package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +2 -2
- package/f-external-item/domain/index.d.ts +1 -0
- package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +2 -2
- package/f-line-alignment/domain/{i-nearest-coordinate-result.d.ts → i-snap-coordinate.d.ts} +1 -1
- package/f-line-alignment/domain/i-snap-result.d.ts +5 -0
- package/f-line-alignment/domain/index.d.ts +4 -4
- package/f-line-alignment/domain/{line-element.d.ts → snap-line-element.d.ts} +1 -1
- package/f-line-alignment/domain/{line-service.d.ts → snap-line-service.d.ts} +1 -1
- package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +2 -2
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/f-group.directive.d.ts +19 -28
- package/f-node/f-node-base.d.ts +26 -17
- package/f-node/f-node.directive.d.ts +19 -28
- package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
- package/f-node/providers.d.ts +2 -2
- package/f-selection-area/domain/providers.d.ts +1 -1
- package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +2 -2
- package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
- package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +1 -1
- package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +1 -1
- package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +1 -1
- package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +1 -1
- package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +1 -1
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +2010 -1481
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/mixins/change-selection/i-selectable.d.ts +1 -1
- package/package.json +1 -1
- package/reactivity/f-resize-channel.d.ts +2 -2
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +0 -25
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +0 -25
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +0 -34
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +0 -35
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +0 -36
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +0 -34
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +0 -35
- package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +0 -25
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +0 -25
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +0 -95
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +0 -57
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +0 -83
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +0 -8
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -110
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -8
- 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 +0 -69
- 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 +0 -8
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
- 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 +0 -46
- 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 +0 -10
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -3
- 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 +0 -60
- 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 +0 -12
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -3
- 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 +0 -60
- 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 +0 -12
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
- package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +0 -63
- package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +0 -30
- package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +0 -33
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -57
- package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +0 -43
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -14
- package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -12
- package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +0 -73
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
- package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +0 -4
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -10
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
- package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +0 -31
- package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +0 -8
- package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +0 -73
- package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +0 -10
- package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
- package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
- package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
- package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
- package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +0 -15
- package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +0 -22
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +0 -29
- package/f-draggable/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 -19
- package/f-draggable/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 -6
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +0 -15
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.d.ts +0 -7
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -2
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +0 -2
- package/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.d.ts +0 -16
- package/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.d.ts +0 -9
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +0 -2
- package/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.d.ts +0 -18
- package/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.d.ts +0 -9
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.d.ts +0 -9
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -6
- package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +0 -21
- package/f-draggable/f-node-move/f-node-move.drag-handler.d.ts +0 -16
- package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +0 -17
- package/f-draggable/f-node-move/line-alignment-preparation/index.d.ts +0 -2
- package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -20
- package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -8
- package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -13
- package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -8
- package/f-draggable/f-node-resize/apply-child-resize-restrictions/index.d.ts +0 -2
- package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -13
- package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -7
- package/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.d.ts +0 -2
- package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -10
- package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +0 -10
- package/f-draggable/f-node-resize/calculate-changed-position/index.d.ts +0 -2
- package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -10
- package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +0 -9
- package/f-draggable/f-node-resize/calculate-changed-size/index.d.ts +0 -2
- package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +0 -27
- package/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -13
- package/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -6
- package/f-draggable/f-node-resize/get-node-resize-restrictions/index.d.ts +0 -3
- package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -14
- package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -7
- package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.d.ts +0 -2
- package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +0 -10
- package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +0 -22
- package/f-line-alignment/domain/i-line-alignment-result.d.ts +0 -5
- /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits-and-position.d.ts +0 -0
- /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits.d.ts +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { GetNodeBoundingIncludePaddingsRequest } from './get-node-bounding-include-paddings-request';
|
|
4
|
+
import { RectExtensions } from '@foblex/2d';
|
|
5
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
|
+
import { GetNodePaddingRequest, GetNormalizedElementRectRequest } from "../../../../domain";
|
|
7
|
+
import { GetNodeBoundingIncludePaddingsResponse } from "./get-node-bounding-include-paddings-response";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
let GetNodeBoundingIncludePaddings = class GetNodeBoundingIncludePaddings {
|
|
10
|
+
_mediator = inject(FMediator);
|
|
11
|
+
handle({ nodeOrGroup, childrenPaddings }) {
|
|
12
|
+
return this._rect(nodeOrGroup, childrenPaddings);
|
|
13
|
+
}
|
|
14
|
+
_rect(nodeOrGroup, childrenPaddings) {
|
|
15
|
+
const boundingRect = this._boundingRect(nodeOrGroup);
|
|
16
|
+
let paddings = this._paddings(nodeOrGroup, boundingRect);
|
|
17
|
+
paddings[0] += childrenPaddings[0];
|
|
18
|
+
paddings[1] += childrenPaddings[1];
|
|
19
|
+
paddings[2] += childrenPaddings[2];
|
|
20
|
+
paddings[3] += childrenPaddings[3];
|
|
21
|
+
return new GetNodeBoundingIncludePaddingsResponse(nodeOrGroup, boundingRect, RectExtensions.initialize(boundingRect.x + paddings[0], boundingRect.y + paddings[1], boundingRect.width - paddings[0] - paddings[2], boundingRect.height - paddings[1] - paddings[3]), paddings);
|
|
22
|
+
}
|
|
23
|
+
_boundingRect(nodeOrGroup) {
|
|
24
|
+
return this._mediator.execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
|
|
25
|
+
}
|
|
26
|
+
_paddings(nodeOrGroup, rect) {
|
|
27
|
+
return this._mediator.execute(new GetNodePaddingRequest(nodeOrGroup, rect));
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings });
|
|
31
|
+
};
|
|
32
|
+
GetNodeBoundingIncludePaddings = __decorate([
|
|
33
|
+
FExecutionRegister(GetNodeBoundingIncludePaddingsRequest)
|
|
34
|
+
], GetNodeBoundingIncludePaddings);
|
|
35
|
+
export { GetNodeBoundingIncludePaddings };
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNodeBoundingIncludePaddings, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRyxPQUFPLEVBQVEsY0FBYyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsK0JBQStCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRixPQUFPLEVBQUMsc0NBQXNDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFJOUYsSUFBTSw4QkFBOEIsR0FBcEMsTUFBTSw4QkFBOEI7SUFHeEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxNQUFNLENBQUMsRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQXdDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFdBQXNCLEVBQUUsZ0JBQWtEO1FBQ3RGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDekQsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxzQ0FBc0MsQ0FDL0MsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLENBQUMsVUFBVSxDQUN2QixZQUFZLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDNUIsWUFBWSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQzVCLFlBQVksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDOUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNoRCxFQUNELFFBQVEsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxXQUFzQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVPLFNBQVMsQ0FBQyxXQUFzQixFQUFFLElBQVc7UUFDbkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBbUMsSUFBSSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO3dHQW5DVSw4QkFBOEI7NEdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDO0dBQzdDLDhCQUE4QixDQW9DMUM7OzRGQXBDWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0dldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3R9IGZyb20gJy4vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncy1yZXF1ZXN0JztcbmltcG9ydCB7SVJlY3QsIFJlY3RFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7RkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtGTm9kZUJhc2V9IGZyb20gXCIuLi8uLi8uLi8uLi9mLW5vZGVcIjtcbmltcG9ydCB7R2V0Tm9kZVBhZGRpbmdSZXF1ZXN0LCBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vLi4vLi4vZG9tYWluXCI7XG5pbXBvcnQge0dldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1Jlc3BvbnNlfSBmcm9tIFwiLi9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLXJlc3BvbnNlXCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3QsIEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1Jlc3BvbnNlPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgaGFuZGxlKHtub2RlT3JHcm91cCwgY2hpbGRyZW5QYWRkaW5nc306IEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1JlcXVlc3QpOiBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlY3Qobm9kZU9yR3JvdXAsIGNoaWxkcmVuUGFkZGluZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVjdChub2RlT3JHcm91cDogRk5vZGVCYXNlLCBjaGlsZHJlblBhZGRpbmdzOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSk6IEdldE5vZGVCb3VuZGluZ0luY2x1ZGVQYWRkaW5nc1Jlc3BvbnNlIHtcbiAgICBjb25zdCBib3VuZGluZ1JlY3QgPSB0aGlzLl9ib3VuZGluZ1JlY3Qobm9kZU9yR3JvdXApO1xuICAgIGxldCBwYWRkaW5ncyA9IHRoaXMuX3BhZGRpbmdzKG5vZGVPckdyb3VwLCBib3VuZGluZ1JlY3QpO1xuICAgIHBhZGRpbmdzWzBdICs9IGNoaWxkcmVuUGFkZGluZ3NbMF07XG4gICAgcGFkZGluZ3NbMV0gKz0gY2hpbGRyZW5QYWRkaW5nc1sxXTtcbiAgICBwYWRkaW5nc1syXSArPSBjaGlsZHJlblBhZGRpbmdzWzJdO1xuICAgIHBhZGRpbmdzWzNdICs9IGNoaWxkcmVuUGFkZGluZ3NbM107XG4gICAgcmV0dXJuIG5ldyBHZXROb2RlQm91bmRpbmdJbmNsdWRlUGFkZGluZ3NSZXNwb25zZShcbiAgICAgIG5vZGVPckdyb3VwLFxuICAgICAgYm91bmRpbmdSZWN0LFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShcbiAgICAgICAgYm91bmRpbmdSZWN0LnggKyBwYWRkaW5nc1swXSxcbiAgICAgICAgYm91bmRpbmdSZWN0LnkgKyBwYWRkaW5nc1sxXSxcbiAgICAgICAgYm91bmRpbmdSZWN0LndpZHRoIC0gcGFkZGluZ3NbMF0gLSBwYWRkaW5nc1syXSxcbiAgICAgICAgYm91bmRpbmdSZWN0LmhlaWdodCAtIHBhZGRpbmdzWzFdIC0gcGFkZGluZ3NbM11cbiAgICAgICksXG4gICAgICBwYWRkaW5nc1xuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX2JvdW5kaW5nUmVjdChub2RlT3JHcm91cDogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdChub2RlT3JHcm91cC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFkZGluZ3Mobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSwgcmVjdDogSVJlY3QpOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8W251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0+KG5ldyBHZXROb2RlUGFkZGluZ1JlcXVlc3Qobm9kZU9yR3JvdXAsIHJlY3QpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './get-node-bounding-include-paddings';
|
|
2
|
+
export * from './get-node-bounding-include-paddings-request';
|
|
3
|
+
export * from './get-node-bounding-include-paddings-response';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLDhDQUE4QyxDQUFBO0FBRTVELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLWJvdW5kaW5nLWluY2x1ZGUtcGFkZGluZ3MtcmVxdWVzdCdcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzLXJlc3BvbnNlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJTm9kZU1vdmVMaW1pdHMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24gZXh0ZW5kcyBJTm9kZU1vdmVMaW1pdHMge1xuXG4gIHBvc2l0aW9uOiBJUG9pbnQ7XG59XG4iXX0=
|
package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLW1vdmUtbGltaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9pLW5vZGUtbW92ZS1saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2RlTW92ZUxpbWl0cyBleHRlbmRzIElNaW5NYXhQb2ludCB7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './build-drag-hierarchy';
|
|
2
|
+
export * from './calculate-drag-limits';
|
|
3
|
+
export * from './create-summary-drag-handler';
|
|
4
|
+
export * from './get-node-bounding-include-paddings';
|
|
5
|
+
export * from './create-input-connection-handler-and-set-to-node-handler';
|
|
6
|
+
export * from './create-output-connection-handler-and-set-to-node-handler';
|
|
7
|
+
export * from './providers';
|
|
8
|
+
export * from './create-drag-model-from-selection';
|
|
9
|
+
export * from './create-drag-model-from-selection-request';
|
|
10
|
+
export * from './i-node-move-limits';
|
|
11
|
+
export * from './i-node-move-limits-and-position';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1aWxkLWRyYWctaGllcmFyY2h5JztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtZHJhZy1saW1pdHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1zdW1tYXJ5LWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtYm91bmRpbmctaW5jbHVkZS1wYWRkaW5ncyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLXJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbic7XG5cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CreateDragModelFromSelection } from './create-drag-model-from-selection';
|
|
2
|
+
import { CreateInputConnectionHandlerAndSetToNodeHandler } from './create-input-connection-handler-and-set-to-node-handler';
|
|
3
|
+
import { CreateOutputConnectionHandlerAndSetToNodeHandler } from './create-output-connection-handler-and-set-to-node-handler';
|
|
4
|
+
import { BuildDragHierarchy } from "./build-drag-hierarchy";
|
|
5
|
+
import { CalculateDragLimits } from "./calculate-drag-limits";
|
|
6
|
+
import { CreateSummaryDragHandler } from "./create-summary-drag-handler";
|
|
7
|
+
import { GetNodeBoundingIncludePaddings } from "./get-node-bounding-include-paddings";
|
|
8
|
+
export const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
|
|
9
|
+
BuildDragHierarchy,
|
|
10
|
+
CalculateDragLimits,
|
|
11
|
+
CreateSummaryDragHandler,
|
|
12
|
+
CreateInputConnectionHandlerAndSetToNodeHandler,
|
|
13
|
+
CreateOutputConnectionHandlerAndSetToNodeHandler,
|
|
14
|
+
GetNodeBoundingIncludePaddings,
|
|
15
|
+
CreateDragModelFromSelection,
|
|
16
|
+
];
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFDLCtDQUErQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDMUgsT0FBTyxFQUFDLGdEQUFnRCxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFcEYsTUFBTSxDQUFDLE1BQU0sb0RBQW9ELEdBQUc7SUFFbEUsa0JBQWtCO0lBRWxCLG1CQUFtQjtJQUVuQix3QkFBd0I7SUFFeEIsK0NBQStDO0lBRS9DLGdEQUFnRDtJQUVoRCw4QkFBOEI7SUFFOUIsNEJBQTRCO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb259IGZyb20gJy4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHtDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlcn0gZnJvbSAnLi9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyJztcbmltcG9ydCB7Q3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyfSBmcm9tICcuL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyJztcbmltcG9ydCB7QnVpbGREcmFnSGllcmFyY2h5fSBmcm9tIFwiLi9idWlsZC1kcmFnLWhpZXJhcmNoeVwiO1xuaW1wb3J0IHtDYWxjdWxhdGVEcmFnTGltaXRzfSBmcm9tIFwiLi9jYWxjdWxhdGUtZHJhZy1saW1pdHNcIjtcbmltcG9ydCB7Q3JlYXRlU3VtbWFyeURyYWdIYW5kbGVyfSBmcm9tIFwiLi9jcmVhdGUtc3VtbWFyeS1kcmFnLWhhbmRsZXJcIjtcbmltcG9ydCB7R2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzfSBmcm9tIFwiLi9nZXQtbm9kZS1ib3VuZGluZy1pbmNsdWRlLXBhZGRpbmdzXCI7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTID0gW1xuXG4gIEJ1aWxkRHJhZ0hpZXJhcmNoeSxcblxuICBDYWxjdWxhdGVEcmFnTGltaXRzLFxuXG4gIENyZWF0ZVN1bW1hcnlEcmFnSGFuZGxlcixcblxuICBDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlcixcblxuICBDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXIsXG5cbiAgR2V0Tm9kZUJvdW5kaW5nSW5jbHVkZVBhZGRpbmdzLFxuXG4gIENyZWF0ZURyYWdNb2RlbEZyb21TZWxlY3Rpb24sXG5dO1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class CreateSnapLinesRequest {
|
|
2
|
+
summaryHandler;
|
|
3
|
+
static fToken = Symbol('CreateSnapLinesRequest');
|
|
4
|
+
constructor(summaryHandler) {
|
|
5
|
+
this.summaryHandler = summaryHandler;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLXNuYXAtbGluZXMvY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBSWY7SUFIbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUUxRCxZQUNrQixjQUFzQztRQUF0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7SUFFeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW92ZVN1bW1hcnlEcmFnSGFuZGxlcn0gZnJvbSBcIi4uL21vdmUtc3VtbWFyeS1kcmFnLWhhbmRsZXJcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZVNuYXBMaW5lc1JlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDcmVhdGVTbmFwTGluZXNSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHN1bW1hcnlIYW5kbGVyOiBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyLFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { inject, Injectable, Injector } from '@angular/core';
|
|
3
|
+
import { CreateSnapLinesRequest } from './create-snap-lines-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 { SnapLinesDragHandler } from './snap-lines.drag-handler';
|
|
9
|
+
import { SnapLineService } from '../../../f-line-alignment';
|
|
10
|
+
import { BrowserService } from '@foblex/platform';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
let CreateSnapLines = class CreateSnapLines {
|
|
13
|
+
_mediator = inject(FMediator);
|
|
14
|
+
_store = inject(FComponentsStore);
|
|
15
|
+
_browser = inject(BrowserService);
|
|
16
|
+
_injector = inject(Injector);
|
|
17
|
+
_lineService;
|
|
18
|
+
handle({ summaryHandler }) {
|
|
19
|
+
this._addLineAlignmentDragHandler(summaryHandler);
|
|
20
|
+
}
|
|
21
|
+
_addLineAlignmentDragHandler(handler) {
|
|
22
|
+
handler.setLineAlignment(new SnapLinesDragHandler(this._injector, this._lineService || this._createLineService(), this._getFlowHostSize(), this._collectNotDraggedNodeRects(this._allDraggedNodes(handler))));
|
|
23
|
+
}
|
|
24
|
+
_allDraggedNodes(handler) {
|
|
25
|
+
return handler.allDraggedNodeHandlers.map((x) => x.nodeOrGroup);
|
|
26
|
+
}
|
|
27
|
+
_getFlowHostSize() {
|
|
28
|
+
return this._mediator.execute(new GetFlowHostElementRequest()).getBoundingClientRect();
|
|
29
|
+
}
|
|
30
|
+
_createLineService() {
|
|
31
|
+
this._lineService = new SnapLineService(this._browser, this._store.fLineAlignment.hostElement);
|
|
32
|
+
return this._lineService;
|
|
33
|
+
}
|
|
34
|
+
_collectNotDraggedNodeRects(allDraggedNodes) {
|
|
35
|
+
return this._calculateNotDraggedNodes(allDraggedNodes).map((x) => {
|
|
36
|
+
return this._mediator.execute(new GetNormalizedElementRectRequest(x.hostElement));
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
_calculateNotDraggedNodes(allDraggedNodes) {
|
|
40
|
+
return this._store.fNodes.filter((x) => !allDraggedNodes.includes(x));
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSnapLines, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSnapLines });
|
|
44
|
+
};
|
|
45
|
+
CreateSnapLines = __decorate([
|
|
46
|
+
FExecutionRegister(CreateSnapLinesRequest)
|
|
47
|
+
], CreateSnapLines);
|
|
48
|
+
export { CreateSnapLines };
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateSnapLines, decorators: [{
|
|
50
|
+
type: Injectable
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNuYXAtbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1zbmFwLWxpbmVzL2NyZWF0ZS1zbmFwLWxpbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBSXpDLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFVCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdEMsWUFBWSxDQUE4QjtJQUUzQyxNQUFNLENBQUMsRUFBQyxjQUFjLEVBQXlCO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsT0FBK0I7UUFDbEUsT0FBTyxDQUFDLGdCQUFnQixDQUN0QixJQUFJLG9CQUFvQixDQUN0QixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQzlDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUN2QixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2pFLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUErQjtRQUN0RCxPQUFPLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0RyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVPLDJCQUEyQixDQUFDLGVBQTRCO1FBQzlELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQVEsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxlQUE0QjtRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0E3Q1UsZUFBZTs0R0FBZixlQUFlOztBQUFmLGVBQWU7SUFEM0Isa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7R0FDOUIsZUFBZSxDQThDM0I7OzRGQTlDWSxlQUFlO2tCQUYzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q3JlYXRlU25hcExpbmVzUmVxdWVzdH0gZnJvbSAnLi9jcmVhdGUtc25hcC1saW5lcy1yZXF1ZXN0JztcbmltcG9ydCB7SVJlY3QsIElTaXplfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7RkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtGQ29tcG9uZW50c1N0b3JlfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtNb3ZlU3VtbWFyeURyYWdIYW5kbGVyfSBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQge1NuYXBMaW5lc0RyYWdIYW5kbGVyfSBmcm9tICcuL3NuYXAtbGluZXMuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7Rk5vZGVCYXNlfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHtTbmFwTGluZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHtCcm93c2VyU2VydmljZX0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlU25hcExpbmVzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDcmVhdGVTbmFwTGluZXMgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZVNuYXBMaW5lc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIF9saW5lU2VydmljZTogU25hcExpbmVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYW5kbGUoe3N1bW1hcnlIYW5kbGVyfTogQ3JlYXRlU25hcExpbmVzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2FkZExpbmVBbGlnbm1lbnREcmFnSGFuZGxlcihzdW1tYXJ5SGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIoaGFuZGxlcjogTW92ZVN1bW1hcnlEcmFnSGFuZGxlcik6IHZvaWQge1xuICAgIGhhbmRsZXIuc2V0TGluZUFsaWdubWVudChcbiAgICAgIG5ldyBTbmFwTGluZXNEcmFnSGFuZGxlcihcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsXG4gICAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlIHx8IHRoaXMuX2NyZWF0ZUxpbmVTZXJ2aWNlKCksXG4gICAgICAgIHRoaXMuX2dldEZsb3dIb3N0U2l6ZSgpLFxuICAgICAgICB0aGlzLl9jb2xsZWN0Tm90RHJhZ2dlZE5vZGVSZWN0cyh0aGlzLl9hbGxEcmFnZ2VkTm9kZXMoaGFuZGxlcikpLFxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX2FsbERyYWdnZWROb2RlcyhoYW5kbGVyOiBNb3ZlU3VtbWFyeURyYWdIYW5kbGVyKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiBoYW5kbGVyLmFsbERyYWdnZWROb2RlSGFuZGxlcnMubWFwKCh4KSA9PiB4Lm5vZGVPckdyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZsb3dIb3N0U2l6ZSgpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SFRNTEVsZW1lbnQ+KG5ldyBHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0KCkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTGluZVNlcnZpY2UoKTogU25hcExpbmVTZXJ2aWNlIHtcbiAgICB0aGlzLl9saW5lU2VydmljZSA9IG5ldyBTbmFwTGluZVNlcnZpY2UodGhpcy5fYnJvd3NlciwgdGhpcy5fc3RvcmUuZkxpbmVBbGlnbm1lbnQhLmhvc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5fbGluZVNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIF9jb2xsZWN0Tm90RHJhZ2dlZE5vZGVSZWN0cyhhbGxEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZU5vdERyYWdnZWROb2RlcyhhbGxEcmFnZ2VkTm9kZXMpLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQpKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTm90RHJhZ2dlZE5vZGVzKGFsbERyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZOb2Rlcy5maWx0ZXIoKHgpID0+ICFhbGxEcmFnZ2VkTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './create-snap-lines';
|
|
2
|
+
export * from './create-snap-lines-request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1zbmFwLWxpbmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXNuYXAtbGluZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1zbmFwLWxpbmVzLXJlcXVlc3QnO1xuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { findClosestAlignment } from '@foblex/2d';
|
|
2
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
3
|
+
export class SnapLinesDragHandler {
|
|
4
|
+
_lineService;
|
|
5
|
+
_size;
|
|
6
|
+
_rects;
|
|
7
|
+
_debounceTimer = null;
|
|
8
|
+
_canvasTransform;
|
|
9
|
+
_alignThreshold = 10;
|
|
10
|
+
constructor(injector, _lineService, _size, _rects) {
|
|
11
|
+
this._lineService = _lineService;
|
|
12
|
+
this._size = _size;
|
|
13
|
+
this._rects = _rects;
|
|
14
|
+
const store = injector.get(FComponentsStore);
|
|
15
|
+
this._alignThreshold = store.fLineAlignment.fAlignThreshold();
|
|
16
|
+
this._canvasTransform = store.fCanvas?.transform;
|
|
17
|
+
}
|
|
18
|
+
drawGuidesFor(_draggedRect) {
|
|
19
|
+
if (this._debounceTimer) {
|
|
20
|
+
clearTimeout(this._debounceTimer);
|
|
21
|
+
}
|
|
22
|
+
this._debounceTimer = setTimeout(() => this._renderGuides(_draggedRect), 15);
|
|
23
|
+
}
|
|
24
|
+
_renderGuides(_draggedRect) {
|
|
25
|
+
const intersect = this.findClosestAlignment(_draggedRect);
|
|
26
|
+
if (intersect.xResult.value !== undefined) {
|
|
27
|
+
this._lineService.drawVerticalLine(intersect.xResult.value, this._size, this._canvasTransform);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this._lineService.hideVerticalLine();
|
|
31
|
+
}
|
|
32
|
+
if (intersect.yResult.value !== undefined) {
|
|
33
|
+
this._lineService.drawHorizontalLine(intersect.yResult.value, this._size, this._canvasTransform);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this._lineService.hideHorizontalLine();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
findClosestAlignment(_draggedRect) {
|
|
40
|
+
return findClosestAlignment(this._rects, _draggedRect, this._alignThreshold);
|
|
41
|
+
}
|
|
42
|
+
clearGuides() {
|
|
43
|
+
this._lineService.hideVerticalLine();
|
|
44
|
+
this._lineService.hideHorizontalLine();
|
|
45
|
+
if (this._debounceTimer) {
|
|
46
|
+
clearTimeout(this._debounceTimer);
|
|
47
|
+
this._debounceTimer = null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcC1saW5lcy5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1zbmFwLWxpbmVzL3NuYXAtbGluZXMuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBZ0MsTUFBTSxZQUFZLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFJcEQsTUFBTSxPQUFPLG9CQUFvQjtJQVNyQjtJQUNBO0lBQ0E7SUFURixjQUFjLEdBQVEsSUFBSSxDQUFDO0lBRWxCLGdCQUFnQixDQUFrQjtJQUNsQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBRTlDLFlBQ0UsUUFBa0IsRUFDVixZQUE2QixFQUM3QixLQUFZLEVBQ1osTUFBZTtRQUZmLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUV2QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsY0FBZSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRU0sYUFBYSxDQUFDLFlBQW1CO1FBQ3RDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLGFBQWEsQ0FBQyxZQUFtQjtRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakcsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25HLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsWUFBbUI7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZpbmRDbG9zZXN0QWxpZ25tZW50LCBJUmVjdCwgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0lTbmFwUmVzdWx0LCBTbmFwTGluZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBTbmFwTGluZXNEcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfZGVib3VuY2VUaW1lcjogYW55ID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYW52YXNUcmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWxpZ25UaHJlc2hvbGQ6IG51bWJlciA9IDEwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9saW5lU2VydmljZTogU25hcExpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NpemU6IElTaXplLFxuICAgIHByaXZhdGUgX3JlY3RzOiBJUmVjdFtdLFxuICApIHtcbiAgICBjb25zdCBzdG9yZSA9IGluamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcbiAgICB0aGlzLl9hbGlnblRocmVzaG9sZCA9IHN0b3JlLmZMaW5lQWxpZ25tZW50IS5mQWxpZ25UaHJlc2hvbGQoKTtcbiAgICB0aGlzLl9jYW52YXNUcmFuc2Zvcm0gPSBzdG9yZS5mQ2FudmFzPy50cmFuc2Zvcm0hO1xuICB9XG5cbiAgcHVibGljIGRyYXdHdWlkZXNGb3IoX2RyYWdnZWRSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fZGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fcmVuZGVyR3VpZGVzKF9kcmFnZ2VkUmVjdCksIDE1KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckd1aWRlcyhfZHJhZ2dlZFJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kQ2xvc2VzdEFsaWdubWVudChfZHJhZ2dlZFJlY3QpO1xuICAgIGlmIChpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9saW5lU2VydmljZS5kcmF3VmVydGljYWxMaW5lKGludGVyc2VjdC54UmVzdWx0LnZhbHVlLCB0aGlzLl9zaXplLCB0aGlzLl9jYW52YXNUcmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9saW5lU2VydmljZS5oaWRlVmVydGljYWxMaW5lKCk7XG4gICAgfVxuICAgIGlmIChpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuX3NpemUsIHRoaXMuX2NhbnZhc1RyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kQ2xvc2VzdEFsaWdubWVudChfZHJhZ2dlZFJlY3Q6IElSZWN0KTogSVNuYXBSZXN1bHQge1xuICAgIHJldHVybiBmaW5kQ2xvc2VzdEFsaWdubWVudCh0aGlzLl9yZWN0cywgX2RyYWdnZWRSZWN0LCB0aGlzLl9hbGlnblRocmVzaG9sZCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJHdWlkZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuXG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event that is emitted when nodes and groups are moved.
|
|
3
|
+
* It contains the moved nodes and groups and their new positions.
|
|
4
|
+
*/
|
|
1
5
|
export class FMoveNodesEvent {
|
|
2
6
|
fNodes;
|
|
3
|
-
constructor(
|
|
7
|
+
constructor(
|
|
8
|
+
// Moved nodes and groups
|
|
9
|
+
fNodes) {
|
|
4
10
|
this.fNodes = fNodes;
|
|
5
11
|
}
|
|
6
12
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tb3ZlLW5vZGVzLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9mLW1vdmUtbm9kZXMuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFJakI7SUFGVDtJQUNFLHlCQUF5QjtJQUNsQixNQUEwQztRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFvQztJQUVuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lQb2ludH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbi8qKlxuICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm9kZXMgYW5kIGdyb3VwcyBhcmUgbW92ZWQuXG4gKiBJdCBjb250YWlucyB0aGUgbW92ZWQgbm9kZXMgYW5kIGdyb3VwcyBhbmQgdGhlaXIgbmV3IHBvc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZNb3ZlTm9kZXNFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gTW92ZWQgbm9kZXMgYW5kIGdyb3Vwc1xuICAgIHB1YmxpYyBmTm9kZXM6IHsgaWQ6IHN0cmluZzsgcG9zaXRpb246IElQb2ludCB9W10sXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export * from './connection-drag-handlers';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
2
|
+
export * from './constraint';
|
|
3
|
+
export * from './create-drag-model-from-selection';
|
|
4
|
+
export * from './create-snap-lines';
|
|
4
5
|
export * from './move-preparation';
|
|
5
6
|
export * from './move-finalize';
|
|
6
|
-
export * from './
|
|
7
|
+
export * from './create-snap-lines/snap-lines.drag-handler';
|
|
7
8
|
export * from './f-move-nodes.event';
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './point-bounds-limiter';
|
|
9
|
+
export * from './move-drag-handler';
|
|
10
10
|
export * from './providers';
|
|
11
|
-
export * from './
|
|
12
|
-
|
|
11
|
+
export * from './move-summary-drag-handler';
|
|
12
|
+
export * from './constraint/snap-to-grid';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29uc3RyYWludCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1zbmFwLWxpbmVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtc25hcC1saW5lcy9zbmFwLWxpbmVzLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1tb3ZlLW5vZGVzLmV2ZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLXN1bW1hcnktZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25zdHJhaW50L3NuYXAtdG8tZ3JpZCc7XG5cbiJdfQ==
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { PointExtensions, RectExtensions } from '@foblex/2d';
|
|
2
|
+
import { F_CSS_CLASS, GetNormalizedElementRectRequest } from "../../domain";
|
|
3
|
+
import { DragConstraintPipeline, expandRectFromBaseline } from "./constraint";
|
|
4
|
+
import { FMediator } from "@foblex/mediator";
|
|
5
|
+
export class MoveDragHandler {
|
|
6
|
+
_injector;
|
|
7
|
+
nodeOrGroup;
|
|
8
|
+
childrenNodeAndGroups;
|
|
9
|
+
fSourceHandlers;
|
|
10
|
+
fTargetHandlers;
|
|
11
|
+
fEventType = 'move-node';
|
|
12
|
+
_startPosition = PointExtensions.initialize();
|
|
13
|
+
_startRect = RectExtensions.initialize();
|
|
14
|
+
_applyConstraints = (difference) => difference;
|
|
15
|
+
_lastSoftResults = [];
|
|
16
|
+
_pipeline;
|
|
17
|
+
_limits = null;
|
|
18
|
+
_lastPosition = PointExtensions.initialize();
|
|
19
|
+
constructor(_injector, nodeOrGroup, childrenNodeAndGroups = [], fSourceHandlers = [], fTargetHandlers = []) {
|
|
20
|
+
this._injector = _injector;
|
|
21
|
+
this.nodeOrGroup = nodeOrGroup;
|
|
22
|
+
this.childrenNodeAndGroups = childrenNodeAndGroups;
|
|
23
|
+
this.fSourceHandlers = fSourceHandlers;
|
|
24
|
+
this.fTargetHandlers = fTargetHandlers;
|
|
25
|
+
this._startRect = _injector.get(FMediator).execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
|
|
26
|
+
this._startPosition = { ...nodeOrGroup._position };
|
|
27
|
+
}
|
|
28
|
+
setLimits(limits) {
|
|
29
|
+
this._limits = limits;
|
|
30
|
+
this._pipeline = new DragConstraintPipeline(this._injector, this._startPosition, limits);
|
|
31
|
+
this._applyConstraints = (difference) => {
|
|
32
|
+
const summary = this._pipeline.apply(difference);
|
|
33
|
+
this._applySoftExpansions(summary.soft);
|
|
34
|
+
return summary.hardDifference;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
_applySoftExpansions(softResults) {
|
|
38
|
+
this._lastSoftResults = softResults;
|
|
39
|
+
this._lastSoftResults.forEach((result, index) => {
|
|
40
|
+
const softLimit = this._limits.soft[index];
|
|
41
|
+
const expandedRect = expandRectFromBaseline(softLimit.boundingRect, result.overflow, result.edges);
|
|
42
|
+
this._commitParentRect(softLimit.nodeOrGroup, expandedRect);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
_commitParentRect(parent, rect) {
|
|
46
|
+
parent.updateSize({ width: rect.width, height: rect.height });
|
|
47
|
+
parent.updatePosition({ x: rect.x, y: rect.y });
|
|
48
|
+
parent.redraw();
|
|
49
|
+
}
|
|
50
|
+
getLastRect() {
|
|
51
|
+
return RectExtensions.initialize(this._lastPosition.x, this._lastPosition.y, this._startRect.width, this._startRect.height);
|
|
52
|
+
}
|
|
53
|
+
prepareDragSequence() {
|
|
54
|
+
this.childrenNodeAndGroups.forEach((x) => x.prepareDragSequence());
|
|
55
|
+
this.nodeOrGroup.hostElement.classList.add(F_CSS_CLASS.DRAG_AND_DROP.DRAGGING);
|
|
56
|
+
}
|
|
57
|
+
onPointerMove(difference) {
|
|
58
|
+
const differenceWithRestrictions = this._applyConstraints(difference);
|
|
59
|
+
this.childrenNodeAndGroups.forEach((x) => x.onPointerMove(differenceWithRestrictions));
|
|
60
|
+
this._redraw(this._nodeOrGroupNewPosition(differenceWithRestrictions));
|
|
61
|
+
this.fSourceHandlers.forEach((x) => x.setSourceDifference(differenceWithRestrictions));
|
|
62
|
+
this.fTargetHandlers.forEach((x) => x.setTargetDifference(differenceWithRestrictions));
|
|
63
|
+
}
|
|
64
|
+
assignFinalConstraints() {
|
|
65
|
+
this._applyConstraints = (difference) => {
|
|
66
|
+
const summary = this._pipeline.finalize(difference);
|
|
67
|
+
this._applySoftExpansions(summary.soft);
|
|
68
|
+
return summary.hardDifference;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
_nodeOrGroupNewPosition(difference) {
|
|
72
|
+
return PointExtensions.sum(this._startPosition, difference);
|
|
73
|
+
}
|
|
74
|
+
_redraw(position) {
|
|
75
|
+
this._lastPosition = position;
|
|
76
|
+
this.nodeOrGroup.updatePosition(position);
|
|
77
|
+
this.nodeOrGroup.redraw();
|
|
78
|
+
}
|
|
79
|
+
onPointerUp() {
|
|
80
|
+
this.childrenNodeAndGroups.forEach((x) => x.onPointerUp());
|
|
81
|
+
this.nodeOrGroup.position.set(this.nodeOrGroup._position);
|
|
82
|
+
this.nodeOrGroup.hostElement.classList.remove(F_CSS_CLASS.DRAG_AND_DROP.DRAGGING);
|
|
83
|
+
this._emitEventIfNodeExpanded();
|
|
84
|
+
}
|
|
85
|
+
_emitEventIfNodeExpanded() {
|
|
86
|
+
this._lastSoftResults.forEach((result, index) => {
|
|
87
|
+
const softLimit = this._limits.soft[index];
|
|
88
|
+
const expandedRect = expandRectFromBaseline(softLimit.boundingRect, result.overflow, result.edges);
|
|
89
|
+
if (result.overflow.x || result.overflow.y) {
|
|
90
|
+
softLimit.nodeOrGroup.sizeChange.emit(expandedRect);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGNBQWMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUkxRSxPQUFPLEVBQUMsV0FBVyxFQUFFLCtCQUErQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRzFFLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBb0IsTUFBTSxjQUFjLENBQUM7QUFDL0YsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBZVA7SUFDVjtJQUNBO0lBQ0E7SUFDQTtJQWpCTyxVQUFVLEdBQUcsV0FBVyxDQUFDO0lBRXhCLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVsRCxpQkFBaUIsR0FBbUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUUvRSxnQkFBZ0IsR0FBd0IsRUFBRSxDQUFDO0lBQzNDLFNBQVMsQ0FBMEI7SUFDbkMsT0FBTyxHQUF1QixJQUFJLENBQUM7SUFDbkMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRCxZQUNtQixTQUFtQixFQUM3QixXQUFzQixFQUN0Qix3QkFBMkMsRUFBRSxFQUM3QyxrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUp2QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFXO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0Msb0JBQWUsR0FBZixlQUFlLENBQWtDO1FB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QUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25HLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVBvaW50LCBJUmVjdCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9uc30gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge0lGRHJhZ0hhbmRsZXJ9IGZyb20gJy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7Rk5vZGVCYXNlfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHtCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyfSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5pbXBvcnQge0ZfQ1NTX0NMQVNTLCBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vZG9tYWluXCI7XG5pbXBvcnQge0luamVjdG9yfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtJRHJhZ0xpbWl0c30gZnJvbSBcIi4vY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb25cIjtcbmltcG9ydCB7RHJhZ0NvbnN0cmFpbnRQaXBlbGluZSwgZXhwYW5kUmVjdEZyb21CYXNlbGluZSwgSUNvbnN0cmFpbnRSZXN1bHR9IGZyb20gXCIuL2NvbnN0cmFpbnRcIjtcbmltcG9ydCB7Rk1lZGlhdG9yfSBmcm9tIFwiQGZvYmxleC9tZWRpYXRvclwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZFdmVudFR5cGUgPSAnbW92ZS1ub2RlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGFydFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX2FwcGx5Q29uc3RyYWludHM6IChkaWZmZXJlbmNlOiBJUG9pbnQpID0+IElQb2ludCA9IChkaWZmZXJlbmNlKSA9PiBkaWZmZXJlbmNlO1xuXG4gIHByaXZhdGUgX2xhc3RTb2Z0UmVzdWx0czogSUNvbnN0cmFpbnRSZXN1bHRbXSA9IFtdO1xuICBwcml2YXRlIF9waXBlbGluZSE6IERyYWdDb25zdHJhaW50UGlwZWxpbmU7XG4gIHByaXZhdGUgX2xpbWl0czogSURyYWdMaW1pdHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFzdFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIG5vZGVPckdyb3VwOiBGTm9kZUJhc2UsXG4gICAgcHVibGljIGNoaWxkcmVuTm9kZUFuZEdyb3VwczogTW92ZURyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRSZWN0ID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQpKVxuICAgIHRoaXMuX3N0YXJ0UG9zaXRpb24gPSB7Li4ubm9kZU9yR3JvdXAuX3Bvc2l0aW9ufTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdHMobGltaXRzOiBJRHJhZ0xpbWl0cyk6IHZvaWQge1xuICAgIHRoaXMuX2xpbWl0cyA9IGxpbWl0cztcbiAgICB0aGlzLl9waXBlbGluZSA9IG5ldyBEcmFnQ29uc3RyYWludFBpcGVsaW5lKHRoaXMuX2luamVjdG9yLCB0aGlzLl9zdGFydFBvc2l0aW9uLCBsaW1pdHMpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25zdHJhaW50cyA9IChkaWZmZXJlbmNlOiBJUG9pbnQpID0+IHtcbiAgICAgIGNvbnN0IHN1bW1hcnkgPSB0aGlzLl9waXBlbGluZS5hcHBseShkaWZmZXJlbmNlKTtcbiAgICAgIHRoaXMuX2FwcGx5U29mdEV4cGFuc2lvbnMoc3VtbWFyeS5zb2Z0KTtcbiAgICAgIHJldHVybiBzdW1tYXJ5LmhhcmREaWZmZXJlbmNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5U29mdEV4cGFuc2lvbnMoXG4gICAgc29mdFJlc3VsdHM6IElDb25zdHJhaW50UmVzdWx0W11cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzID0gc29mdFJlc3VsdHM7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHNvZnRMaW1pdCA9IHRoaXMuX2xpbWl0cyEuc29mdFtpbmRleF07XG4gICAgICBjb25zdCBleHBhbmRlZFJlY3QgPSBleHBhbmRSZWN0RnJvbUJhc2VsaW5lKHNvZnRMaW1pdC5ib3VuZGluZ1JlY3QsIHJlc3VsdC5vdmVyZmxvdywgcmVzdWx0LmVkZ2VzKTtcbiAgICAgIHRoaXMuX2NvbW1pdFBhcmVudFJlY3Qoc29mdExpbWl0Lm5vZGVPckdyb3VwLCBleHBhbmRlZFJlY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29tbWl0UGFyZW50UmVjdChwYXJlbnQ6IEZOb2RlQmFzZSwgcmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICBwYXJlbnQudXBkYXRlU2l6ZSh7d2lkdGg6IHJlY3Qud2lkdGgsIGhlaWdodDogcmVjdC5oZWlnaHR9KTtcbiAgICBwYXJlbnQudXBkYXRlUG9zaXRpb24oe3g6IHJlY3QueCwgeTogcmVjdC55fSk7XG4gICAgcGFyZW50LnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGdldExhc3RSZWN0KCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLl9sYXN0UG9zaXRpb24ueCwgdGhpcy5fbGFzdFBvc2l0aW9uLnksIHRoaXMuX3N0YXJ0UmVjdC53aWR0aCwgdGhpcy5fc3RhcnRSZWN0LmhlaWdodCk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkcmVuTm9kZUFuZEdyb3Vwcy5mb3JFYWNoKCh4KSA9PiB4LnByZXBhcmVEcmFnU2VxdWVuY2UoKSk7XG4gICAgdGhpcy5ub2RlT3JHcm91cC5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKEZfQ1NTX0NMQVNTLkRSQUdfQU5EX0RST1AuRFJBR0dJTkcpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMgPSB0aGlzLl9hcHBseUNvbnN0cmFpbnRzKGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5jaGlsZHJlbk5vZGVBbmRHcm91cHMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX25vZGVPckdyb3VwTmV3UG9zaXRpb24oZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucykpO1xuICAgIHRoaXMuZlRhcmdldEhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzc2lnbkZpbmFsQ29uc3RyYWludHMoKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwbHlDb25zdHJhaW50cyA9IChkaWZmZXJlbmNlOiBJUG9pbnQpID0+IHtcbiAgICAgIGNvbnN0IHN1bW1hcnkgPSB0aGlzLl9waXBlbGluZS5maW5hbGl6ZShkaWZmZXJlbmNlKTtcbiAgICAgIHRoaXMuX2FwcGx5U29mdEV4cGFuc2lvbnMoc3VtbWFyeS5zb2Z0KTtcbiAgICAgIHJldHVybiBzdW1tYXJ5LmhhcmREaWZmZXJlbmNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX25vZGVPckdyb3VwTmV3UG9zaXRpb24oZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnRFeHRlbnNpb25zLnN1bSh0aGlzLl9zdGFydFBvc2l0aW9uLCBkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fbGFzdFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgdGhpcy5ub2RlT3JHcm91cC51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5ub2RlT3JHcm91cC5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkcmVuTm9kZUFuZEdyb3Vwcy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwKCkpO1xuICAgIHRoaXMubm9kZU9yR3JvdXAucG9zaXRpb24uc2V0KHRoaXMubm9kZU9yR3JvdXAuX3Bvc2l0aW9uKTtcbiAgICB0aGlzLm5vZGVPckdyb3VwLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRl9DU1NfQ0xBU1MuRFJBR19BTkRfRFJPUC5EUkFHR0lORyk7XG4gICAgdGhpcy5fZW1pdEV2ZW50SWZOb2RlRXhwYW5kZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRFdmVudElmTm9kZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2xhc3RTb2Z0UmVzdWx0cy5mb3JFYWNoKChyZXN1bHQsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBzb2Z0TGltaXQgPSB0aGlzLl9saW1pdHMhLnNvZnRbaW5kZXhdO1xuICAgICAgY29uc3QgZXhwYW5kZWRSZWN0ID0gZXhwYW5kUmVjdEZyb21CYXNlbGluZShzb2Z0TGltaXQuYm91bmRpbmdSZWN0LCByZXN1bHQub3ZlcmZsb3csIHJlc3VsdC5lZGdlcyk7XG4gICAgICBpZiAocmVzdWx0Lm92ZXJmbG93LnggfHwgcmVzdWx0Lm92ZXJmbG93LnkpIHtcbiAgICAgICAgc29mdExpbWl0Lm5vZGVPckdyb3VwLnNpemVDaGFuZ2UuZW1pdChleHBhbmRlZFJlY3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -6,64 +6,39 @@ import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
|
6
6
|
import { FComponentsStore } from '../../../f-storage';
|
|
7
7
|
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
8
8
|
import { IsConnectionUnderNodeRequest } from '../../domain';
|
|
9
|
-
import {
|
|
10
|
-
import { FLineAlignmentDragHandler } from '../f-line-alignment.drag-handler';
|
|
11
|
-
import { FSummaryNodeMoveDragHandler } from '../f-summary-node-move.drag-handler';
|
|
9
|
+
import { MoveSummaryDragHandler } from '../move-summary-drag-handler';
|
|
12
10
|
import { FMoveNodesEvent } from "../f-move-nodes.event";
|
|
13
11
|
import * as i0 from "@angular/core";
|
|
14
12
|
let FNodeMoveFinalizeExecution = class FNodeMoveFinalizeExecution {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
_mediator = inject(FMediator);
|
|
14
|
+
_store = inject(FComponentsStore);
|
|
15
|
+
_dragContext = inject(FDraggableDataContext);
|
|
16
|
+
_summaryHandler;
|
|
18
17
|
get _fHost() {
|
|
19
|
-
return this.
|
|
18
|
+
return this._store.fFlow.hostElement;
|
|
20
19
|
}
|
|
21
|
-
handle(
|
|
20
|
+
handle({ event }) {
|
|
22
21
|
if (!this._isValid()) {
|
|
23
22
|
return;
|
|
24
23
|
}
|
|
25
|
-
const difference = this.
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
this._finalizeMove(firstNodeOrGroup.calculateRestrictedDifference(difference));
|
|
24
|
+
const difference = this._getDifferenceBetweenPreparationAndFinalize(event.getPosition());
|
|
25
|
+
const snapLinesDifference = this._applySnapLinesDifference(difference, this._getSnapLinesResult(difference));
|
|
26
|
+
this._finalizeMove(snapLinesDifference);
|
|
29
27
|
this._applyConnectionUnderDroppedNode();
|
|
30
28
|
}
|
|
31
29
|
_isValid() {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_finalizeMove(difference) {
|
|
35
|
-
this._getItems().forEach((x) => {
|
|
36
|
-
x.onPointerMove({ ...difference });
|
|
37
|
-
x.onPointerUp?.();
|
|
38
|
-
});
|
|
39
|
-
if (this._getItems().length) {
|
|
40
|
-
const event = this._getItems()[0].fData.fNodeIds.map((id) => {
|
|
41
|
-
return {
|
|
42
|
-
id,
|
|
43
|
-
position: this._fComponentsStore.fNodes.find(x => x.fId() === id).position,
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
this._fComponentsStore.fDraggable?.fMoveNodes.emit(new FMoveNodesEvent(event));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
_getItems() {
|
|
50
|
-
return this._fDraggableDataContext.draggableItems
|
|
51
|
-
.filter((x) => !(x instanceof FNodeDropToGroupDragHandler));
|
|
30
|
+
this._summaryHandler = this._dragContext.draggableItems.find((x) => x instanceof MoveSummaryDragHandler);
|
|
31
|
+
return !!this._summaryHandler;
|
|
52
32
|
}
|
|
53
33
|
_getDifferenceBetweenPreparationAndFinalize(position) {
|
|
54
34
|
return Point.fromPoint(position).elementTransform(this._fHost)
|
|
55
|
-
.div(this.
|
|
56
|
-
.sub(this.
|
|
35
|
+
.div(this._dragContext.onPointerDownScale)
|
|
36
|
+
.sub(this._dragContext.onPointerDownPosition);
|
|
57
37
|
}
|
|
58
|
-
|
|
59
|
-
return this.
|
|
38
|
+
_getSnapLinesResult(difference) {
|
|
39
|
+
return this._summaryHandler?.findClosestAlignment(difference);
|
|
60
40
|
}
|
|
61
|
-
|
|
62
|
-
return this._fDraggableDataContext.draggableItems
|
|
63
|
-
.find((x) => x instanceof FLineAlignmentDragHandler)
|
|
64
|
-
?.findNearestCoordinate(difference);
|
|
65
|
-
}
|
|
66
|
-
_applyLineAlignmentDifference(difference, intersection) {
|
|
41
|
+
_applySnapLinesDifference(difference, intersection) {
|
|
67
42
|
if (intersection) {
|
|
68
43
|
difference.x = this._isIntersectValue(intersection.xResult) ? (difference.x - intersection.xResult.distance) : difference.x;
|
|
69
44
|
difference.y = this._isIntersectValue(intersection.yResult) ? (difference.y - intersection.yResult.distance) : difference.y;
|
|
@@ -73,17 +48,31 @@ let FNodeMoveFinalizeExecution = class FNodeMoveFinalizeExecution {
|
|
|
73
48
|
_isIntersectValue(result) {
|
|
74
49
|
return result.value !== undefined && result.value !== null;
|
|
75
50
|
}
|
|
51
|
+
_finalizeMove(snappedDifference) {
|
|
52
|
+
this._summaryHandler?.rootHandlers.forEach((x) => x.assignFinalConstraints());
|
|
53
|
+
this._summaryHandler.onPointerMove({ ...snappedDifference });
|
|
54
|
+
this._summaryHandler.onPointerUp?.();
|
|
55
|
+
this._store.fDraggable?.fMoveNodes.emit(this._createMoveNodesEvent());
|
|
56
|
+
}
|
|
57
|
+
_createMoveNodesEvent() {
|
|
58
|
+
const eventNodes = this._summaryHandler.fData.fNodeIds.map((id) => {
|
|
59
|
+
return {
|
|
60
|
+
id,
|
|
61
|
+
position: this._store.fNodes.find(x => x.fId() === id)._position,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
return new FMoveNodesEvent(eventNodes);
|
|
65
|
+
}
|
|
76
66
|
_applyConnectionUnderDroppedNode() {
|
|
77
|
-
if (this._isDraggedJustOneNode() && this.
|
|
78
|
-
|
|
79
|
-
setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
|
|
67
|
+
if (this._isDraggedJustOneNode() && this._store.fDraggable?.fEmitOnNodeIntersect) {
|
|
68
|
+
setTimeout(() => this._mediator.execute(new IsConnectionUnderNodeRequest(this._firstNodeOrGroup())));
|
|
80
69
|
}
|
|
81
70
|
}
|
|
82
71
|
_isDraggedJustOneNode() {
|
|
83
|
-
return this.
|
|
72
|
+
return this._summaryHandler.rootHandlers.length === 1;
|
|
84
73
|
}
|
|
85
|
-
|
|
86
|
-
return this.
|
|
74
|
+
_firstNodeOrGroup() {
|
|
75
|
+
return this._summaryHandler.rootHandlers[0].nodeOrGroup;
|
|
87
76
|
}
|
|
88
77
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
78
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMoveFinalizeExecution });
|
|
@@ -95,4 +84,4 @@ export { FNodeMoveFinalizeExecution };
|
|
|
95
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNodeMoveFinalizeExecution, decorators: [{
|
|
96
85
|
type: Injectable
|
|
97
86
|
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLWZpbmFsaXplL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFTLEtBQUssRUFBQyxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUVoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBSS9DLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBRTdCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0Msc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFL0QsSUFB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QUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQVEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQWlDLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFRLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDM0csQ0FBQzt3R0FsR1UsMEJBQTBCOzRHQUExQiwwQkFBMEI7O0FBQTFCLDBCQUEwQjtJQUR0QyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQztHQUNoQywwQkFBMEIsQ0FtR3RDOzs0RkFuR1ksMEJBQTBCO2tCQUZ0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3R9IGZyb20gJy4vZi1ub2RlLW1vdmUtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQge0lQb2ludCwgUG9pbnR9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbn0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0ZEcmFnZ2FibGVEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7XG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7SUZEcmFnSGFuZGxlcn0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXJ9IGZyb20gJy4uLy4uL2YtZHJvcC10by1ncm91cCc7XG5pbXBvcnQge0lMaW5lQWxpZ25tZW50UmVzdWx0LCBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHR9IGZyb20gJy4uLy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHtGTGluZUFsaWdubWVudERyYWdIYW5kbGVyfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQge0ZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcn0gZnJvbSAnLi4vZi1zdW1tYXJ5LW5vZGUtbW92ZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtGTm9kZUJhc2V9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQge0ZNb3ZlTm9kZXNFdmVudH0gZnJvbSBcIi4uL2YtbW92ZS1ub2Rlcy5ldmVudFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkaWZmZXJlbmNlID0gdGhpcy5fZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KFxuICAgICAgdGhpcy5fZ2V0RGlmZmVyZW5jZUJldHdlZW5QcmVwYXJhdGlvbkFuZEZpbmFsaXplKHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICApO1xuXG4gICAgY29uc3QgZmlyc3ROb2RlT3JHcm91cDogRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyID0gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcikhO1xuXG4gICAgdGhpcy5fZmluYWxpemVNb3ZlKGZpcnN0Tm9kZU9yR3JvdXAuY2FsY3VsYXRlUmVzdHJpY3RlZERpZmZlcmVuY2UoZGlmZmVyZW5jZSkpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluYWxpemVNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEl0ZW1zKCkuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5vblBvaW50ZXJNb3ZlKHsuLi5kaWZmZXJlbmNlfSk7XG4gICAgICB4Lm9uUG9pbnRlclVwPy4oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9nZXRJdGVtcygpLmxlbmd0aCkge1xuICAgICAgY29uc3QgZXZlbnQgPSB0aGlzLl9nZXRJdGVtcygpWzBdLmZEYXRhLmZOb2RlSWRzLm1hcCgoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKHggPT4geC5mSWQoKSA9PT0gaWQpIS5wb3NpdGlvbixcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGU/LmZNb3ZlTm9kZXMuZW1pdChuZXcgRk1vdmVOb2Rlc0V2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbXMoKTogSUZEcmFnSGFuZGxlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG5cbiAgICByZXR1cm4gdGhpcy5fYXBwbHlMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShcbiAgICAgIGRpZmZlcmVuY2UsXG4gICAgICB0aGlzLl9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBGTGluZUFsaWdubWVudERyYWdIYW5kbGVyKVxuICAgICAgPy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUxpbmVBbGlnbm1lbnREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgaW50ZXJzZWN0aW9uOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCk6IElQb2ludCB7XG4gICAgaWYgKGludGVyc2VjdGlvbikge1xuICAgICAgZGlmZmVyZW5jZS54ID0gdGhpcy5faXNJbnRlcnNlY3RWYWx1ZShpbnRlcnNlY3Rpb24ueFJlc3VsdCkgPyAoZGlmZmVyZW5jZS54IC0gaW50ZXJzZWN0aW9uLnhSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueDtcbiAgICAgIGRpZmZlcmVuY2UueSA9IHRoaXMuX2lzSW50ZXJzZWN0VmFsdWUoaW50ZXJzZWN0aW9uLnlSZXN1bHQpID8gKGRpZmZlcmVuY2UueSAtIGludGVyc2VjdGlvbi55UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLnk7XG4gICAgfVxuICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnRlcnNlY3RWYWx1ZShyZXN1bHQ6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQudmFsdWUgIT09IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnZWRKdXN0T25lTm9kZSgpICYmIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcblxuICAgICAgY29uc3QgZk5vZGUgPSB0aGlzLl9nZXRGaXJzdE5vZGVPckdyb3VwKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWzBdIGFzIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcikuZkhhbmRsZXJzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpcnN0Tm9kZU9yR3JvdXAoKTogRk5vZGVCYXNlIHtcbiAgICByZXR1cm4gKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1swXSBhcyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpLmZIYW5kbGVyc1swXS5mTm9kZTtcbiAgfVxufVxuIl19
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLWZpbmFsaXplL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFTLEtBQUssRUFBQyxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBSS9DLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBRXBCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV0RCxlQUFlLENBQXFDO0lBRTVELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFB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RyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDekUsT0FBTztnQkFDTCxFQUFFO2dCQUNGLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFFLENBQUMsU0FBUzthQUNsRSxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxnQ0FBZ0M7UUFDdEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQ2pGLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQzt3R0FsRlUsMEJBQTBCOzRHQUExQiwwQkFBMEI7O0FBQTFCLDBCQUEwQjtJQUR0QyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQztHQUNoQywwQkFBMEIsQ0FtRnRDOzs0RkFuRlksMEJBQTBCO2tCQUZ0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3R9IGZyb20gJy4vZi1ub2RlLW1vdmUtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQge0lQb2ludCwgUG9pbnR9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbn0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0ZEcmFnZ2FibGVEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7XG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7SVNuYXBSZXN1bHQsIElTbmFwQ29vcmRpbmF0ZX0gZnJvbSAnLi4vLi4vLi4vZi1saW5lLWFsaWdubWVudCc7XG5pbXBvcnQge01vdmVTdW1tYXJ5RHJhZ0hhbmRsZXJ9IGZyb20gJy4uL21vdmUtc3VtbWFyeS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtGTm9kZUJhc2V9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQge0ZNb3ZlTm9kZXNFdmVudH0gZnJvbSBcIi4uL2YtbW92ZS1ub2Rlcy5ldmVudFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBfc3VtbWFyeUhhbmRsZXI6IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZSh7IGV2ZW50IH06IEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0aGlzLl9nZXREaWZmZXJlbmNlQmV0d2VlblByZXBhcmF0aW9uQW5kRmluYWxpemUoZXZlbnQuZ2V0UG9zaXRpb24oKSk7XG5cbiAgICBjb25zdCBzbmFwTGluZXNEaWZmZXJlbmNlID0gdGhpcy5fYXBwbHlTbmFwTGluZXNEaWZmZXJlbmNlKGRpZmZlcmVuY2UsIHRoaXMuX2dldFNuYXBMaW5lc1Jlc3VsdChkaWZmZXJlbmNlKSlcblxuICAgIHRoaXMuX2ZpbmFsaXplTW92ZShzbmFwTGluZXNEaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2FwcGx5Q29ubmVjdGlvblVuZGVyRHJvcHBlZE5vZGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5fc3VtbWFyeUhhbmRsZXIgPSB0aGlzLl9kcmFnQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgTW92ZVN1bW1hcnlEcmFnSGFuZGxlcik7XG4gICAgcmV0dXJuICEhdGhpcy5fc3VtbWFyeUhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWZmZXJlbmNlQmV0d2VlblByZXBhcmF0aW9uQW5kRmluYWxpemUocG9zaXRpb246IElQb2ludCk6IFBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHBvc2l0aW9uKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KVxuICAgICAgLmRpdih0aGlzLl9kcmFnQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2RyYWdDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTbmFwTGluZXNSZXN1bHQoZGlmZmVyZW5jZTogSVBvaW50KTogSVNuYXBSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdW1tYXJ5SGFuZGxlcj8uZmluZENsb3Nlc3RBbGlnbm1lbnQoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseVNuYXBMaW5lc0RpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCBpbnRlcnNlY3Rpb246IElTbmFwUmVzdWx0IHwgdW5kZWZpbmVkKTogSVBvaW50IHtcbiAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICBkaWZmZXJlbmNlLnggPSB0aGlzLl9pc0ludGVyc2VjdFZhbHVlKGludGVyc2VjdGlvbi54UmVzdWx0KSA/IChkaWZmZXJlbmNlLnggLSBpbnRlcnNlY3Rpb24ueFJlc3VsdC5kaXN0YW5jZSEpIDogZGlmZmVyZW5jZS54O1xuICAgICAgZGlmZmVyZW5jZS55ID0gdGhpcy5faXNJbnRlcnNlY3RWYWx1ZShpbnRlcnNlY3Rpb24ueVJlc3VsdCkgPyAoZGlmZmVyZW5jZS55IC0gaW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcml2YXRlIF9pc0ludGVyc2VjdFZhbHVlKHJlc3VsdDogSVNuYXBDb29yZGluYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHJlc3VsdC52YWx1ZSAhPT0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmFsaXplTW92ZShzbmFwcGVkRGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fc3VtbWFyeUhhbmRsZXI/LnJvb3RIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4LmFzc2lnbkZpbmFsQ29uc3RyYWludHMoKSk7XG4gICAgdGhpcy5fc3VtbWFyeUhhbmRsZXIhLm9uUG9pbnRlck1vdmUoey4uLnNuYXBwZWREaWZmZXJlbmNlfSk7XG4gICAgdGhpcy5fc3VtbWFyeUhhbmRsZXIhLm9uUG9pbnRlclVwPy4oKTtcblxuICAgIHRoaXMuX3N0b3JlLmZEcmFnZ2FibGU/LmZNb3ZlTm9kZXMuZW1pdCh0aGlzLl9jcmVhdGVNb3ZlTm9kZXNFdmVudCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1vdmVOb2Rlc0V2ZW50KCk6IEZNb3ZlTm9kZXNFdmVudCB7XG4gICAgY29uc3QgZXZlbnROb2RlcyA9IHRoaXMuX3N1bW1hcnlIYW5kbGVyIS5mRGF0YS5mTm9kZUlkcy5tYXAoKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkLFxuICAgICAgICBwb3NpdGlvbjogdGhpcy5fc3RvcmUuZk5vZGVzLmZpbmQoeCA9PiB4LmZJZCgpID09PSBpZCkhLl9wb3NpdGlvbixcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IEZNb3ZlTm9kZXNFdmVudChldmVudE5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5Q29ubmVjdGlvblVuZGVyRHJvcHBlZE5vZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCkgJiYgdGhpcy5fc3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdCh0aGlzLl9maXJzdE5vZGVPckdyb3VwKCkpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNEcmFnZ2VkSnVzdE9uZU5vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N1bW1hcnlIYW5kbGVyIS5yb290SGFuZGxlcnMubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3ROb2RlT3JHcm91cCgpOiBGTm9kZUJhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdW1tYXJ5SGFuZGxlciEucm9vdEhhbmRsZXJzWzBdLm5vZGVPckdyb3VwO1xuICB9XG59XG4iXX0=
|