@foblex/flow 12.6.1 → 12.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/foblex-flow.umd.js +9635 -0
- package/bundles/foblex-flow.umd.js.map +1 -0
- package/domain/create-connection-markers/create-connection-markers.execution.d.ts +3 -0
- package/domain/create-dom-element.d.ts +2 -0
- package/domain/deep-clone-node.d.ts +1 -0
- package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +3 -1
- package/domain/index.d.ts +2 -0
- package/domain/intersections/rounded-rect/rounded-rect.d.ts +2 -2
- package/domain/providers.d.ts +1 -1
- package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +3 -3
- package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +3 -3
- package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +1 -3
- package/esm2015/domain/cast-to-enum.js +12 -0
- package/esm2015/domain/clear-selection/clear-selection.execution.js +26 -0
- package/{esm2022/domain/create-connection-markers/create-connection-markers-request.mjs → esm2015/domain/create-connection-markers/create-connection-markers-request.js} +1 -2
- package/esm2015/domain/create-connection-markers/create-connection-markers.execution.js +61 -0
- package/esm2015/domain/create-dom-element.js +4 -0
- package/esm2015/domain/deep-clone-node.js +47 -0
- package/esm2015/domain/emit-transform-changes/emit-transform-changes.execution.js +24 -0
- package/esm2015/domain/get-can-be-selected-items/get-can-be-selected-items.execution.js +57 -0
- package/esm2015/domain/get-connection-line/get-connection-line.execution.js +68 -0
- package/esm2015/domain/get-connection-line/get-connection-line.request.js +10 -0
- package/esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.js +35 -0
- package/{esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs → esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.js} +1 -2
- package/{esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs → esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.js} +1 -2
- package/esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.js +43 -0
- package/{esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs → esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.js} +1 -2
- package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.js +7 -0
- package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.js +33 -0
- package/esm2015/domain/get-nodes-rect/get-nodes-rect.execution.js +31 -0
- package/{esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs → esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.js} +1 -2
- package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.js +7 -0
- package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.js +37 -0
- package/{esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs → esm2015/domain/get-position-in-flow/get-position-in-flow-request.js} +1 -2
- package/esm2015/domain/get-position-in-flow/get-position-in-flow.execution.js +32 -0
- package/esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.js +34 -0
- package/esm2015/domain/get-selection/get-selection.execution.js +35 -0
- package/esm2015/domain/get-value-from-data-attr.js +7 -0
- package/{esm2022/domain/index.mjs → esm2015/domain/index.js} +3 -1
- package/esm2015/domain/intersections/f-connector-shape.extensions.js +46 -0
- package/esm2015/domain/intersections/intersection-finder.js +156 -0
- package/esm2015/domain/intersections/rounded-rect/rounded-rect.js +46 -0
- package/esm2015/domain/is-connection-under-node/is-connection-under-node.execution.js +76 -0
- package/esm2015/domain/redraw-connections/redraw-connections.execution.js +60 -0
- package/esm2015/domain/select/select.execution.js +44 -0
- package/esm2015/domain/select/select.request.js +7 -0
- package/esm2015/domain/select-all/select-all.execution.js +38 -0
- package/esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.execution.js +35 -0
- package/{esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs → esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.request.js} +1 -2
- package/esm2015/domain/sort-item-layers/sort-item-layers.execution.js +30 -0
- package/esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.js +57 -0
- package/{esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.js} +1 -2
- package/esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.js +59 -0
- package/esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.js +26 -0
- package/esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.js +30 -0
- package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.js} +1 -5
- package/esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.execution.js +94 -0
- package/{esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs → esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.request.js} +1 -3
- package/{esm2022/f-backgroud/f-background-base.mjs → esm2015/f-backgroud/f-background-base.js} +4 -4
- package/esm2015/f-backgroud/f-background.component.js +71 -0
- package/esm2015/f-backgroud/f-circle-pattern/f-circle-pattern.component.js +104 -0
- package/esm2015/f-backgroud/f-rect-pattern/f-rect-pattern.component.js +122 -0
- package/esm2015/f-canvas/domain/f-canvas-change.event.js +7 -0
- package/esm2015/f-canvas/f-canvas-base.js +27 -0
- package/esm2015/f-canvas/f-canvas.component.js +111 -0
- package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.js} +1 -3
- package/{esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs → esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.js} +1 -2
- package/esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.js +35 -0
- package/esm2015/f-connection/common/domain/f-bezier.path-builder.js +37 -0
- package/esm2015/f-connection/common/domain/f-segment.path-builder.js +142 -0
- package/esm2015/f-connection/common/f-connection-base.js +62 -0
- package/esm2015/f-connection/common/f-connection-identifiers.js +27 -0
- package/esm2015/f-connection/common/f-connection-text/f-connection-text-path.directive.js +70 -0
- package/esm2015/f-connection/common/f-connection-text/f-connection-text.component.js +72 -0
- package/esm2015/f-connection/common/f-drag-handle/f-connection-drag-handle.component.js +38 -0
- package/esm2015/f-connection/common/f-gradient/f-connection-gradient.component.js +69 -0
- package/esm2015/f-connection/common/f-path/f-connection-path.component.js +59 -0
- package/esm2015/f-connection/common/f-path/get-path-marker-id.js +19 -0
- package/esm2015/f-connection/common/f-selection/f-connection-selection.component.js +37 -0
- package/esm2015/f-connection/common/mixins/change-connection-selection.mixin.js +26 -0
- package/esm2015/f-connection/f-connection/f-connection.component.js +184 -0
- package/esm2015/f-connection/f-connection-builder/f-connection-factory.js +34 -0
- package/{esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs → esm2015/f-connection/f-connection-center/f-connection-center.directive.js} +4 -4
- package/esm2015/f-connection/f-connection-for-create/f-connection-for-create.component.js +151 -0
- package/{esm2022/f-connection/f-marker/f-marker-base.mjs → esm2015/f-connection/f-marker/f-marker-base.js} +4 -4
- package/esm2015/f-connection/f-marker/f-marker.directive.js +58 -0
- package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.js +7 -0
- package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.js +38 -0
- package/esm2015/f-connectors/f-connector-base.js +17 -0
- package/esm2015/f-connectors/f-node-input/f-node-input-base.js +19 -0
- package/esm2015/f-connectors/f-node-input/f-node-input.directive.js +88 -0
- package/esm2015/f-connectors/f-node-outlet/f-node-outlet-base.js +23 -0
- package/esm2015/f-connectors/f-node-outlet/f-node-outlet.directive.js +71 -0
- package/esm2015/f-connectors/f-node-output/f-node-output-base.js +19 -0
- package/esm2015/f-connectors/f-node-output/f-node-output.directive.js +95 -0
- package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.js +24 -0
- package/{esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.js} +1 -2
- package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.js +25 -0
- package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.js +36 -0
- package/{esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.js} +1 -2
- package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.js +49 -0
- package/esm2015/f-draggable/canvas/canvas.drag-handler.js +18 -0
- package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.js +56 -0
- package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.js} +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.js +25 -0
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.js +45 -0
- package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.js} +1 -3
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.js +53 -0
- package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.js} +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.js +39 -0
- package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.js} +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.js +34 -0
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.js +43 -0
- package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.js} +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.js +32 -0
- package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +33 -0
- package/esm2015/f-draggable/connections/create-connection/f-create-connection.event.js +8 -0
- package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.js +43 -0
- package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.js} +1 -2
- package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.js +27 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +74 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.js +7 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.js +35 -0
- package/esm2015/f-draggable/connections/reassign-connection/f-reassign-connection.event.js +9 -0
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.js +50 -0
- package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.js} +1 -2
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.js +25 -0
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.js +64 -0
- package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.js} +1 -2
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.js +44 -0
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +33 -0
- package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.execution.js +33 -0
- package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.request.js +7 -0
- package/esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.js +29 -0
- package/{esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.js} +1 -2
- package/esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.js +48 -0
- package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.js} +1 -2
- package/esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.js +36 -0
- package/{esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs → esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.js} +1 -2
- package/esm2015/f-draggable/domain/index.js +7 -0
- package/esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.js +34 -0
- package/{esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.js} +1 -3
- package/esm2015/f-draggable/domain/providers.js +13 -0
- package/esm2015/f-draggable/f-draggable-base.js +174 -0
- package/esm2015/f-draggable/f-draggable-data-context.js +26 -0
- package/esm2015/f-draggable/f-draggable.directive.js +170 -0
- package/esm2015/f-draggable/f-selection-change-event.js +7 -0
- package/esm2015/f-draggable/node/connection-base-drag-handler.js +40 -0
- package/esm2015/f-draggable/node/connection-source.drag-handler.js +16 -0
- package/esm2015/f-draggable/node/connection-target.drag-handler.js +16 -0
- package/esm2015/f-draggable/node/connection.drag-handler.js +20 -0
- package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.js +90 -0
- package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.js +44 -0
- package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.js} +1 -3
- package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.js +70 -0
- package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.js} +1 -4
- package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.js +70 -0
- package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.js} +1 -4
- package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.execution.js +54 -0
- package/{esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs → esm2015/f-draggable/node/node-move-finalize/node-move-finalize.request.js} +1 -2
- package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.validator.js +25 -0
- package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.execution.js +60 -0
- package/{esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs → esm2015/f-draggable/node/node-move-preparation/node-move-preparation.request.js} +1 -2
- package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.validator.js +41 -0
- package/esm2015/f-draggable/node/node-resize-by-child.drag-handler.js +12 -0
- package/esm2015/f-draggable/node/node.drag-handler.js +34 -0
- package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.js +49 -0
- package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js} +1 -3
- package/esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.js +49 -0
- package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.js} +1 -3
- package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.js +25 -0
- package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.js +9 -0
- package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +34 -0
- package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.js +8 -0
- package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +31 -0
- package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.js} +1 -3
- package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +41 -0
- package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +7 -0
- package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.js +27 -0
- package/{esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.js} +1 -2
- package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.js +25 -0
- package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.js +52 -0
- package/{esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.js} +1 -2
- package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.js +41 -0
- package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +48 -0
- package/esm2015/f-draggable/single-select/single-select.execution.js +89 -0
- package/{esm2022/f-draggable/single-select/single-select.request.mjs → esm2015/f-draggable/single-select/single-select.request.js} +1 -2
- package/esm2015/f-draggable/single-select/single-select.validator.js +27 -0
- package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.execution.js +57 -0
- package/{esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs → esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.request.js} +1 -2
- package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.validator.js +25 -0
- package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.execution.js +43 -0
- package/{esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs → esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.request.js} +1 -2
- package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.validator.js +29 -0
- package/esm2015/f-external-item/domain/external-item.drag-handler.js +36 -0
- package/{esm2022/f-external-item/domain/f-create-node.event.mjs → esm2015/f-external-item/domain/f-create-node.event.js} +1 -3
- package/{esm2022/f-external-item/f-external-item-base.mjs → esm2015/f-external-item/f-external-item-base.js} +4 -4
- package/esm2015/f-external-item/f-external-item.directive.js +55 -0
- package/esm2015/f-external-item/f-external-item.service.js +28 -0
- package/esm2015/f-flow/f-flow.component.js +122 -0
- package/{esm2022/f-flow.module.mjs → esm2015/f-flow.module.js} +7 -5
- package/esm2015/f-line-alignment/domain/line-element.js +22 -0
- package/esm2015/f-line-alignment/domain/line-service.js +35 -0
- package/esm2015/f-line-alignment/domain/nearest-coordinate.js +101 -0
- package/{esm2022/f-line-alignment/f-line-alignment-base.mjs → esm2015/f-line-alignment/f-line-alignment-base.js} +4 -4
- package/esm2015/f-line-alignment/f-line-alignment.component.js +99 -0
- package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.js +42 -0
- package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.js +9 -0
- package/esm2015/f-minimap/domain/check-rect-is-finite.js +8 -0
- package/esm2015/f-minimap/domain/f-minimap-data.js +9 -0
- package/esm2015/f-minimap/domain/f-minimap.drag-handler.js +37 -0
- package/esm2015/f-minimap/domain/index.js +8 -0
- package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.js +27 -0
- package/{esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.js} +1 -2
- package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.js +25 -0
- package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.js +49 -0
- package/{esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.js} +1 -3
- package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.js +28 -0
- package/esm2015/f-minimap/f-minimap-canvas.directive.js +66 -0
- package/esm2015/f-minimap/f-minimap-flow.directive.js +76 -0
- package/esm2015/f-minimap/f-minimap-view.directive.js +40 -0
- package/esm2015/f-minimap/f-minimap.component.js +76 -0
- package/esm2015/f-node/f-drag-handle/f-drag-handle.directive.js +24 -0
- package/esm2015/f-node/f-group.directive.js +149 -0
- package/esm2015/f-node/f-node-base.js +38 -0
- package/esm2015/f-node/f-node.directive.js +150 -0
- package/esm2015/f-node/f-resize-handle/f-resize-handle.directive.js +43 -0
- package/esm2015/f-node/f-rotate-handle/f-rotate-handle.directive.js +27 -0
- package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.js +27 -0
- package/{esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs → esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.js} +1 -2
- package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.js +25 -0
- package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.js +38 -0
- package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.js +7 -0
- package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.js +31 -0
- package/esm2015/f-selection-area/domain/selection-area.drag-handle.js +48 -0
- package/{esm2022/f-selection-area/f-selection-area-base.mjs → esm2015/f-selection-area/f-selection-area-base.js} +4 -4
- package/esm2015/f-selection-area/f-selection-area.component.js +57 -0
- package/esm2015/f-storage/f-components-store.js +52 -0
- package/esm2015/f-storage/f-transform-store.js +14 -0
- package/esm2015/f-zoom/f-zoom-base.js +98 -0
- package/esm2015/f-zoom/f-zoom.directive.js +59 -0
- package/esm2015/infrastructure/f-mediator/f-flow-mediator.js +29 -0
- package/esm2015/infrastructure/pipeline/pipeline.js +19 -0
- package/f-backgroud/f-background-base.d.ts +1 -1
- package/f-backgroud/f-background.component.d.ts +4 -2
- package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +4 -2
- package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +4 -2
- package/f-canvas/f-canvas-base.d.ts +1 -1
- package/f-canvas/f-canvas.component.d.ts +1 -1
- package/f-connection/common/f-connection-base.d.ts +1 -1
- package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +4 -2
- package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
- package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
- package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
- package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -1
- package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
- package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -1
- package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +1 -1
- package/f-connection/f-connection-center/f-connection-center.directive.d.ts +1 -1
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
- package/f-connection/f-marker/f-marker-base.d.ts +1 -1
- package/f-connection/f-marker/f-marker.directive.d.ts +1 -1
- package/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
- package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -1
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
- package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -1
- package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
- package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +3 -1
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +3 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +3 -1
- package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +4 -4
- package/f-draggable/domain/index.d.ts +0 -1
- package/f-draggable/domain/providers.d.ts +1 -2
- package/f-draggable/f-draggable-base.d.ts +3 -3
- package/f-draggable/f-draggable.directive.d.ts +4 -3
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.execution.d.ts +5 -3
- package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +3 -1
- package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +3 -1
- package/f-external-item/domain/external-item.drag-handler.d.ts +3 -1
- package/f-external-item/f-external-item-base.d.ts +1 -1
- package/f-external-item/f-external-item.directive.d.ts +1 -1
- package/f-flow/f-flow.component.d.ts +4 -2
- package/f-line-alignment/domain/line-element.d.ts +2 -1
- package/f-line-alignment/domain/line-service.d.ts +2 -1
- package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +3 -2
- package/f-minimap/domain/check-rect-is-finite.d.ts +2 -0
- package/f-minimap/domain/index.d.ts +1 -0
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-minimap/f-minimap-canvas.directive.d.ts +4 -2
- package/f-minimap/f-minimap-flow.directive.d.ts +1 -1
- package/f-minimap/f-minimap-view.directive.d.ts +1 -1
- package/f-minimap/f-minimap.component.d.ts +1 -1
- package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
- package/f-node/f-group.directive.d.ts +4 -2
- package/f-node/f-node.directive.d.ts +4 -2
- package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -0
- package/f-selection-area/f-selection-area-base.d.ts +1 -1
- package/f-selection-area/f-selection-area.component.d.ts +1 -1
- package/f-zoom/f-zoom.directive.d.ts +1 -1
- package/{fesm2022/foblex-flow.mjs → fesm2015/foblex-flow.js} +1815 -2054
- package/fesm2015/foblex-flow.js.map +1 -0
- package/infrastructure/f-mediator/f-execution-register.d.ts +1 -1
- package/infrastructure/f-mediator/f-validator-register.d.ts +1 -1
- package/package.json +9 -16
- package/esm2022/domain/cast-to-enum.mjs +0 -12
- package/esm2022/domain/clear-selection/clear-selection.execution.mjs +0 -27
- package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -49
- package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -25
- package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
- package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -66
- package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -36
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -42
- package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +0 -9
- package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +0 -35
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -32
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +0 -9
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +0 -39
- package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
- package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
- package/esm2022/domain/get-selection/get-selection.execution.mjs +0 -36
- package/esm2022/domain/get-value-from-data-attr.mjs +0 -7
- package/esm2022/domain/intersections/f-connector-shape.extensions.mjs +0 -46
- package/esm2022/domain/intersections/intersection-finder.mjs +0 -156
- package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +0 -79
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -79
- package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +0 -62
- package/esm2022/domain/select/select.execution.mjs +0 -46
- package/esm2022/domain/select/select.request.mjs +0 -9
- package/esm2022/domain/select-all/select-all.execution.mjs +0 -40
- package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -37
- package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -32
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -61
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -62
- package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -28
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -30
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -99
- package/esm2022/f-backgroud/f-background.component.mjs +0 -62
- package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -103
- package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -122
- package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +0 -9
- package/esm2022/f-canvas/f-canvas-base.mjs +0 -28
- package/esm2022/f-canvas/f-canvas.component.mjs +0 -107
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -37
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -142
- package/esm2022/f-connection/common/f-connection-base.mjs +0 -62
- package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -64
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -69
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +0 -39
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -65
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -61
- package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -15
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -39
- package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +0 -25
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +0 -187
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -34
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +0 -155
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -60
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
- package/esm2022/f-connectors/f-connector-base.mjs +0 -15
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +0 -16
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +0 -91
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -20
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -74
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +0 -16
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +0 -98
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -25
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -38
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -50
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -58
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -48
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -55
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -41
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -35
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -45
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -34
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -36
- package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -44
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -73
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
- package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -13
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -53
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -65
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -44
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -35
- package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +0 -13
- package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +0 -49
- package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -38
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -50
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
- package/esm2022/f-draggable/domain/index.mjs +0 -8
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -35
- package/esm2022/f-draggable/domain/providers.mjs +0 -15
- package/esm2022/f-draggable/f-draggable-base.mjs +0 -169
- package/esm2022/f-draggable/f-draggable-data-context.mjs +0 -25
- package/esm2022/f-draggable/f-draggable.directive.mjs +0 -174
- package/esm2022/f-draggable/f-selection-change-event.mjs +0 -9
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -42
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -18
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -18
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -22
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -87
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -45
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -72
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -72
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -54
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -62
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -43
- package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -13
- package/esm2022/f-draggable/node/node.drag-handler.mjs +0 -37
- package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -49
- package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
- package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
- package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -13
- package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
- package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -11
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -32
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -42
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -9
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -27
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -26
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -55
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -43
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -53
- package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -87
- package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -58
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -26
- package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -44
- package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
- package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -36
- package/esm2022/f-external-item/f-external-item.directive.mjs +0 -58
- package/esm2022/f-external-item/f-external-item.service.mjs +0 -26
- package/esm2022/f-flow/f-flow.component.mjs +0 -112
- package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
- package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +0 -96
- package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -43
- package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -13
- package/esm2022/f-minimap/domain/f-minimap-data.mjs +0 -12
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +0 -41
- package/esm2022/f-minimap/domain/index.mjs +0 -7
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -27
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -52
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +0 -63
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +0 -79
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +0 -40
- package/esm2022/f-minimap/f-minimap.component.mjs +0 -72
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -25
- package/esm2022/f-node/f-group.directive.mjs +0 -147
- package/esm2022/f-node/f-node-base.mjs +0 -37
- package/esm2022/f-node/f-node.directive.mjs +0 -148
- package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +0 -44
- package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +0 -28
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -9
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -30
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +0 -52
- package/esm2022/f-selection-area/f-selection-area.component.mjs +0 -53
- package/esm2022/f-storage/f-components-store.mjs +0 -53
- package/esm2022/f-storage/f-transform-store.mjs +0 -12
- package/esm2022/f-zoom/f-zoom-base.mjs +0 -97
- package/esm2022/f-zoom/f-zoom.directive.mjs +0 -59
- package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +0 -30
- package/esm2022/infrastructure/pipeline/pipeline.mjs +0 -21
- package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +0 -7
- package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +0 -12
- package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +0 -2
- package/fesm2022/foblex-flow.mjs.map +0 -1
- /package/{esm2022/domain/clear-selection/clear-selection.request.mjs → esm2015/domain/clear-selection/clear-selection.request.js} +0 -0
- /package/{esm2022/domain/clear-selection/index.mjs → esm2015/domain/clear-selection/index.js} +0 -0
- /package/{esm2022/domain/create-connection-markers/index.mjs → esm2015/domain/create-connection-markers/index.js} +0 -0
- /package/{esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs → esm2015/domain/emit-transform-changes/emit-transform-changes.request.js} +0 -0
- /package/{esm2022/domain/emit-transform-changes/index.mjs → esm2015/domain/emit-transform-changes/index.js} +0 -0
- /package/{esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs → esm2015/domain/get-can-be-selected-items/get-can-be-selected-items-request.js} +0 -0
- /package/{esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs → esm2015/domain/get-can-be-selected-items/i-selectable-with-rect.js} +0 -0
- /package/{esm2022/domain/get-can-be-selected-items/index.mjs → esm2015/domain/get-can-be-selected-items/index.js} +0 -0
- /package/{esm2022/domain/get-connection-line/index.mjs → esm2015/domain/get-connection-line/index.js} +0 -0
- /package/{esm2022/domain/get-deep-children-nodes-and-groups/index.mjs → esm2015/domain/get-deep-children-nodes-and-groups/index.js} +0 -0
- /package/{esm2022/domain/get-element-rect-in-flow/index.mjs → esm2015/domain/get-element-rect-in-flow/index.js} +0 -0
- /package/{esm2022/domain/get-input-rect-in-flow/index.mjs → esm2015/domain/get-input-rect-in-flow/index.js} +0 -0
- /package/{esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs → esm2015/domain/get-nodes-rect/get-nodes-rect.request.js} +0 -0
- /package/{esm2022/domain/get-nodes-rect/index.mjs → esm2015/domain/get-nodes-rect/index.js} +0 -0
- /package/{esm2022/domain/get-output-rect-in-flow/index.mjs → esm2015/domain/get-output-rect-in-flow/index.js} +0 -0
- /package/{esm2022/domain/get-position-in-flow/index.mjs → esm2015/domain/get-position-in-flow/index.js} +0 -0
- /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.js} +0 -0
- /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/index.js} +0 -0
- /package/{esm2022/domain/get-selection/get-selection.request.mjs → esm2015/domain/get-selection/get-selection.request.js} +0 -0
- /package/{esm2022/domain/get-selection/index.mjs → esm2015/domain/get-selection/index.js} +0 -0
- /package/{esm2022/domain/intersections/e-f-connector-shape.mjs → esm2015/domain/intersections/e-f-connector-shape.js} +0 -0
- /package/{esm2022/domain/intersections/i-connector-shape.mjs → esm2015/domain/intersections/i-connector-shape.js} +0 -0
- /package/{esm2022/domain/intersections/index.mjs → esm2015/domain/intersections/index.js} +0 -0
- /package/{esm2022/domain/intersections/rounded-rect/i-rounded-rect.mjs → esm2015/domain/intersections/rounded-rect/i-rounded-rect.js} +0 -0
- /package/{esm2022/domain/intersections/rounded-rect/index.mjs → esm2015/domain/intersections/rounded-rect/index.js} +0 -0
- /package/{esm2022/domain/is-connection-under-node/index.mjs → esm2015/domain/is-connection-under-node/index.js} +0 -0
- /package/{esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs → esm2015/domain/is-connection-under-node/is-connection-under-node.request.js} +0 -0
- /package/{esm2022/domain/is-element-with-class.mjs → esm2015/domain/is-element-with-class.js} +0 -0
- /package/{esm2022/domain/providers.mjs → esm2015/domain/providers.js} +0 -0
- /package/{esm2022/domain/redraw-connections/index.mjs → esm2015/domain/redraw-connections/index.js} +0 -0
- /package/{esm2022/domain/redraw-connections/redraw-connections-request.mjs → esm2015/domain/redraw-connections/redraw-connections-request.js} +0 -0
- /package/{esm2022/domain/select/index.mjs → esm2015/domain/select/index.js} +0 -0
- /package/{esm2022/domain/select-all/index.mjs → esm2015/domain/select-all/index.js} +0 -0
- /package/{esm2022/domain/select-all/select-all.request.mjs → esm2015/domain/select-all/select-all.request.js} +0 -0
- /package/{esm2022/domain/select-and-update-node-layer/index.mjs → esm2015/domain/select-and-update-node-layer/index.js} +0 -0
- /package/{esm2022/domain/sort-item-layers/index.mjs → esm2015/domain/sort-item-layers/index.js} +0 -0
- /package/{esm2022/domain/sort-item-layers/sort-item-layers.request.mjs → esm2015/domain/sort-item-layers/sort-item-layers.request.js} +0 -0
- /package/{esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/index.js} +0 -0
- /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/index.js} +0 -0
- /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.js} +0 -0
- /package/{esm2022/domain/subscribe-on-transform-changes/index.mjs → esm2015/domain/subscribe-on-transform-changes/index.js} +0 -0
- /package/{esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs → esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.js} +0 -0
- /package/{esm2022/domain/update-item-and-children-layers/index.mjs → esm2015/domain/update-item-and-children-layers/index.js} +0 -0
- /package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.js} +0 -0
- /package/{esm2022/errors/conflict-error.mjs → esm2015/errors/conflict-error.js} +0 -0
- /package/{esm2022/errors/create-error-class.mjs → esm2015/errors/create-error-class.js} +0 -0
- /package/{esm2022/errors/errors.mjs → esm2015/errors/errors.js} +0 -0
- /package/{esm2022/errors/index.mjs → esm2015/errors/index.js} +0 -0
- /package/{esm2022/errors/not-found-error.mjs → esm2015/errors/not-found-error.js} +0 -0
- /package/{esm2022/f-backgroud/domain/i-f-background-pattern.mjs → esm2015/f-backgroud/domain/i-f-background-pattern.js} +0 -0
- /package/{esm2022/f-backgroud/domain/index.mjs → esm2015/f-backgroud/domain/index.js} +0 -0
- /package/{esm2022/f-backgroud/f-circle-pattern/index.mjs → esm2015/f-backgroud/f-circle-pattern/index.js} +0 -0
- /package/{esm2022/f-backgroud/f-rect-pattern/index.mjs → esm2015/f-backgroud/f-rect-pattern/index.js} +0 -0
- /package/{esm2022/f-backgroud/index.mjs → esm2015/f-backgroud/index.js} +0 -0
- /package/{esm2022/f-backgroud/providers.mjs → esm2015/f-backgroud/providers.js} +0 -0
- /package/{esm2022/f-canvas/domain/index.mjs → esm2015/f-canvas/domain/index.js} +0 -0
- /package/{esm2022/f-canvas/index.mjs → esm2015/f-canvas/index.js} +0 -0
- /package/{esm2022/f-canvas/providers.mjs → esm2015/f-canvas/providers.js} +0 -0
- /package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.js} +0 -0
- /package/{esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/index.js} +0 -0
- /package/{esm2022/f-connection/common/domain/calculate-connection-center/index.mjs → esm2015/f-connection/common/domain/calculate-connection-center/index.js} +0 -0
- /package/{esm2022/f-connection/common/domain/f-straight.path-builder.mjs → esm2015/f-connection/common/domain/f-straight.path-builder.js} +0 -0
- /package/{esm2022/f-connection/common/domain/index.mjs → esm2015/f-connection/common/domain/index.js} +0 -0
- /package/{esm2022/f-connection/common/e-f-connection-behavior.mjs → esm2015/f-connection/common/e-f-connection-behavior.js} +0 -0
- /package/{esm2022/f-connection/common/e-f-connection-type.mjs → esm2015/f-connection/common/e-f-connection-type.js} +0 -0
- /package/{esm2022/f-connection/common/f-connection-text/i-connection-text.mjs → esm2015/f-connection/common/f-connection-text/i-connection-text.js} +0 -0
- /package/{esm2022/f-connection/common/f-connection-text/index.mjs → esm2015/f-connection/common/f-connection-text/index.js} +0 -0
- /package/{esm2022/f-connection/common/f-connection.injection-token.mjs → esm2015/f-connection/common/f-connection.injection-token.js} +0 -0
- /package/{esm2022/f-connection/common/f-drag-handle/index.mjs → esm2015/f-connection/common/f-drag-handle/index.js} +0 -0
- /package/{esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs → esm2015/f-connection/common/f-gradient/i-connection-gradient.js} +0 -0
- /package/{esm2022/f-connection/common/f-gradient/index.mjs → esm2015/f-connection/common/f-gradient/index.js} +0 -0
- /package/{esm2022/f-connection/common/f-path/i-connection-path.mjs → esm2015/f-connection/common/f-path/i-connection-path.js} +0 -0
- /package/{esm2022/f-connection/common/f-path/index.mjs → esm2015/f-connection/common/f-path/index.js} +0 -0
- /package/{esm2022/f-connection/common/f-selection/index.mjs → esm2015/f-connection/common/f-selection/index.js} +0 -0
- /package/{esm2022/f-connection/common/i-has-connection-color.mjs → esm2015/f-connection/common/i-has-connection-color.js} +0 -0
- /package/{esm2022/f-connection/common/i-has-connection-from-to.mjs → esm2015/f-connection/common/i-has-connection-from-to.js} +0 -0
- /package/{esm2022/f-connection/common/i-has-connection-text.mjs → esm2015/f-connection/common/i-has-connection-text.js} +0 -0
- /package/{esm2022/f-connection/common/index.mjs → esm2015/f-connection/common/index.js} +0 -0
- /package/{esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs → esm2015/f-connection/common/mixins/change-connection-visibility.mixin.js} +0 -0
- /package/{esm2022/f-connection/common/mixins/index.mjs → esm2015/f-connection/common/mixins/index.js} +0 -0
- /package/{esm2022/f-connection/f-connection/index.mjs → esm2015/f-connection/f-connection/index.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/f-connection-builders.mjs → esm2015/f-connection/f-connection-builder/f-connection-builders.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-request.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-response.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-factory-request.js} +0 -0
- /package/{esm2022/f-connection/f-connection-builder/index.mjs → esm2015/f-connection/f-connection-builder/index.js} +0 -0
- /package/{esm2022/f-connection/f-connection-center/index.mjs → esm2015/f-connection/f-connection-center/index.js} +0 -0
- /package/{esm2022/f-connection/f-connection-for-create/index.mjs → esm2015/f-connection/f-connection-for-create/index.js} +0 -0
- /package/{esm2022/f-connection/f-marker/e-f-marker-type.mjs → esm2015/f-connection/f-marker/e-f-marker-type.js} +0 -0
- /package/{esm2022/f-connection/f-marker/index.mjs → esm2015/f-connection/f-marker/index.js} +0 -0
- /package/{esm2022/f-connection/index.mjs → esm2015/f-connection/index.js} +0 -0
- /package/{esm2022/f-connection/providers.mjs → esm2015/f-connection/providers.js} +0 -0
- /package/{esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs → esm2015/f-connectors/domain/calculate-connector-connectable-side/index.js} +0 -0
- /package/{esm2022/f-connectors/domain/index.mjs → esm2015/f-connectors/domain/index.js} +0 -0
- /package/{esm2022/f-connectors/e-f-connectable-side.mjs → esm2015/f-connectors/e-f-connectable-side.js} +0 -0
- /package/{esm2022/f-connectors/f-node-input/index.mjs → esm2015/f-connectors/f-node-input/index.js} +0 -0
- /package/{esm2022/f-connectors/f-node-input/is-node-input.mjs → esm2015/f-connectors/f-node-input/is-node-input.js} +0 -0
- /package/{esm2022/f-connectors/f-node-outlet/index.mjs → esm2015/f-connectors/f-node-outlet/index.js} +0 -0
- /package/{esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs → esm2015/f-connectors/f-node-outlet/is-node-outlet.js} +0 -0
- /package/{esm2022/f-connectors/f-node-output/index.mjs → esm2015/f-connectors/f-node-output/index.js} +0 -0
- /package/{esm2022/f-connectors/f-node-output/is-node-output.mjs → esm2015/f-connectors/f-node-output/is-node-output.js} +0 -0
- /package/{esm2022/f-connectors/index.mjs → esm2015/f-connectors/index.js} +0 -0
- /package/{esm2022/f-connectors/providers.mjs → esm2015/f-connectors/providers.js} +0 -0
- /package/{esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/index.js} +0 -0
- /package/{esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/providers.js} +0 -0
- /package/{esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/canvas/index.mjs → esm2015/f-draggable/canvas/index.js} +0 -0
- /package/{esm2022/f-draggable/canvas/providers.mjs → esm2015/f-draggable/canvas/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/create-connection/index.mjs → esm2015/f-draggable/connections/create-connection/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/get-input-under-pointer/index.mjs → esm2015/f-draggable/connections/get-input-under-pointer/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/get-input-under-pointer/providers.mjs → esm2015/f-draggable/connections/get-input-under-pointer/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/index.mjs → esm2015/f-draggable/connections/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/providers.mjs → esm2015/f-draggable/connections/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/reassign-connection/index.mjs → esm2015/f-draggable/connections/reassign-connection/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.js} +0 -0
- /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/domain/get-node-padding/index.mjs → esm2015/f-draggable/domain/get-node-padding/index.js} +0 -0
- /package/{esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/index.js} +0 -0
- /package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/index.js} +0 -0
- /package/{esm2022/f-draggable/domain/get-parent-nodes/index.mjs → esm2015/f-draggable/domain/get-parent-nodes/index.js} +0 -0
- /package/{esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/index.js} +0 -0
- /package/{esm2022/f-draggable/i-can-run-outside-angular.mjs → esm2015/f-draggable/i-can-run-outside-angular.js} +0 -0
- /package/{esm2022/f-draggable/i-draggable-item.mjs → esm2015/f-draggable/i-draggable-item.js} +0 -0
- /package/{esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs → esm2015/f-draggable/i-f-drag-and-drop-plugin.js} +0 -0
- /package/{esm2022/f-draggable/index.mjs → esm2015/f-draggable/index.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/index.js} +0 -0
- /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.js} +0 -0
- /package/{esm2022/f-draggable/node/index.mjs → esm2015/f-draggable/node/index.js} +0 -0
- /package/{esm2022/f-draggable/node/node-move-finalize/index.mjs → esm2015/f-draggable/node/node-move-finalize/index.js} +0 -0
- /package/{esm2022/f-draggable/node/node-move-finalize/providers.mjs → esm2015/f-draggable/node/node-move-finalize/providers.js} +0 -0
- /package/{esm2022/f-draggable/node/node-move-preparation/index.mjs → esm2015/f-draggable/node/node-move-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/node/node-move-preparation/providers.mjs → esm2015/f-draggable/node/node-move-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/node/providers.mjs → esm2015/f-draggable/node/providers.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-position/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-size/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs → esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/index.mjs → esm2015/f-draggable/node-resize/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/providers.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/index.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/providers.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/providers.mjs → esm2015/f-draggable/node-resize/providers.js} +0 -0
- /package/{esm2022/f-draggable/node-resize/resize-direction.mjs → esm2015/f-draggable/node-resize/resize-direction.js} +0 -0
- /package/{esm2022/f-draggable/providers.mjs → esm2015/f-draggable/providers.js} +0 -0
- /package/{esm2022/f-draggable/single-select/index.mjs → esm2015/f-draggable/single-select/index.js} +0 -0
- /package/{esm2022/f-draggable/single-select/providers.mjs → esm2015/f-draggable/single-select/providers.js} +0 -0
- /package/{esm2022/f-external-item/domain/external-item-finalize/index.mjs → esm2015/f-external-item/domain/external-item-finalize/index.js} +0 -0
- /package/{esm2022/f-external-item/domain/external-item-finalize/providers.mjs → esm2015/f-external-item/domain/external-item-finalize/providers.js} +0 -0
- /package/{esm2022/f-external-item/domain/external-item-preparation/index.mjs → esm2015/f-external-item/domain/external-item-preparation/index.js} +0 -0
- /package/{esm2022/f-external-item/domain/external-item-preparation/providers.mjs → esm2015/f-external-item/domain/external-item-preparation/providers.js} +0 -0
- /package/{esm2022/f-external-item/domain/index.mjs → esm2015/f-external-item/domain/index.js} +0 -0
- /package/{esm2022/f-external-item/domain/providers.mjs → esm2015/f-external-item/domain/providers.js} +0 -0
- /package/{esm2022/f-external-item/index.mjs → esm2015/f-external-item/index.js} +0 -0
- /package/{esm2022/f-external-item/is-external-item.mjs → esm2015/f-external-item/is-external-item.js} +0 -0
- /package/{esm2022/f-external-item/providers.mjs → esm2015/f-external-item/providers.js} +0 -0
- /package/{esm2022/f-flow/f-flow-base.mjs → esm2015/f-flow/f-flow-base.js} +0 -0
- /package/{esm2022/f-flow/index.mjs → esm2015/f-flow/index.js} +0 -0
- /package/{esm2022/f-flow/providers.mjs → esm2015/f-flow/providers.js} +0 -0
- /package/{esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs → esm2015/f-line-alignment/domain/i-line-alignment-rect.js} +0 -0
- /package/{esm2022/f-line-alignment/domain/i-line-alignment-result.mjs → esm2015/f-line-alignment/domain/i-line-alignment-result.js} +0 -0
- /package/{esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs → esm2015/f-line-alignment/domain/i-nearest-coordinate-result.js} +0 -0
- /package/{esm2022/f-line-alignment/domain/index.mjs → esm2015/f-line-alignment/domain/index.js} +0 -0
- /package/{esm2022/f-line-alignment/index.mjs → esm2015/f-line-alignment/index.js} +0 -0
- /package/{esm2022/f-line-alignment/providers.mjs → esm2015/f-line-alignment/providers.js} +0 -0
- /package/{esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs → esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/index.js} +0 -0
- /package/{esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/index.js} +0 -0
- /package/{esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/providers.js} +0 -0
- /package/{esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/index.js} +0 -0
- /package/{esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/providers.js} +0 -0
- /package/{esm2022/f-minimap/domain/providers.mjs → esm2015/f-minimap/domain/providers.js} +0 -0
- /package/{esm2022/f-minimap/index.mjs → esm2015/f-minimap/index.js} +0 -0
- /package/{esm2022/f-minimap/providers.mjs → esm2015/f-minimap/providers.js} +0 -0
- /package/{esm2022/f-node/domain/index.mjs → esm2015/f-node/domain/index.js} +0 -0
- /package/{esm2022/f-node/domain/is-group.mjs → esm2015/f-node/domain/is-group.js} +0 -0
- /package/{esm2022/f-node/domain/is-node.mjs → esm2015/f-node/domain/is-node.js} +0 -0
- /package/{esm2022/f-node/f-drag-handle/index.mjs → esm2015/f-node/f-drag-handle/index.js} +0 -0
- /package/{esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs → esm2015/f-node/f-resize-handle/e-f-resize-handle-type.js} +0 -0
- /package/{esm2022/f-node/f-resize-handle/index.mjs → esm2015/f-node/f-resize-handle/index.js} +0 -0
- /package/{esm2022/f-node/f-resize-observer.mjs → esm2015/f-node/f-resize-observer.js} +0 -0
- /package/{esm2022/f-node/f-rotate-handle/index.mjs → esm2015/f-node/f-rotate-handle/index.js} +0 -0
- /package/{esm2022/f-node/index.mjs → esm2015/f-node/index.js} +0 -0
- /package/{esm2022/f-node/providers.mjs → esm2015/f-node/providers.js} +0 -0
- /package/{esm2022/f-selection-area/domain/index.mjs → esm2015/f-selection-area/domain/index.js} +0 -0
- /package/{esm2022/f-selection-area/domain/providers.mjs → esm2015/f-selection-area/domain/providers.js} +0 -0
- /package/{esm2022/f-selection-area/domain/selection-area-finalize/index.mjs → esm2015/f-selection-area/domain/selection-area-finalize/index.js} +0 -0
- /package/{esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs → esm2015/f-selection-area/domain/selection-area-finalize/providers.js} +0 -0
- /package/{esm2022/f-selection-area/domain/selection-area-preparation/index.mjs → esm2015/f-selection-area/domain/selection-area-preparation/index.js} +0 -0
- /package/{esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs → esm2015/f-selection-area/domain/selection-area-preparation/providers.js} +0 -0
- /package/{esm2022/f-selection-area/index.mjs → esm2015/f-selection-area/index.js} +0 -0
- /package/{esm2022/f-selection-area/providers.mjs → esm2015/f-selection-area/providers.js} +0 -0
- /package/{esm2022/f-storage/index.mjs → esm2015/f-storage/index.js} +0 -0
- /package/{esm2022/f-zoom/index.mjs → esm2015/f-zoom/index.js} +0 -0
- /package/{esm2022/f-zoom/providers.mjs → esm2015/f-zoom/providers.js} +0 -0
- /package/{esm2022/foblex-flow.mjs → esm2015/foblex-flow.js} +0 -0
- /package/{esm2022/i-has-state-changes.mjs → esm2015/i-has-state-changes.js} +0 -0
- /package/{esm2022/infrastructure/f-mediator/f-execution-register.mjs → esm2015/infrastructure/f-mediator/f-execution-register.js} +0 -0
- /package/{esm2022/infrastructure/f-mediator/f-validator-register.mjs → esm2015/infrastructure/f-mediator/f-validator-register.js} +0 -0
- /package/{esm2022/infrastructure/f-mediator/index.mjs → esm2015/infrastructure/f-mediator/index.js} +0 -0
- /package/{esm2022/infrastructure/index.mjs → esm2015/infrastructure/index.js} +0 -0
- /package/{esm2022/infrastructure/pipeline/i-execution.mjs → esm2015/infrastructure/pipeline/i-execution.js} +0 -0
- /package/{esm2022/infrastructure/pipeline/i-validator.mjs → esm2015/infrastructure/pipeline/i-validator.js} +0 -0
- /package/{esm2022/infrastructure/pipeline/index.mjs → esm2015/infrastructure/pipeline/index.js} +0 -0
- /package/{esm2022/public-api.mjs → esm2015/public-api.js} +0 -0
- /package/{index.d.ts → foblex-flow.d.ts} +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { EventExtensions, IMouseEvent, ITouchDownEvent, ITouchMoveEvent, ITouchUpEvent, PointExtensions } from '@foblex/core';
|
|
2
|
+
import { Directive, InjectionToken, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const F_DRAGGABLE = new InjectionToken('F_DRAGGABLE');
|
|
5
|
+
export const MOUSE_EVENT_IGNORE_TIME = 800;
|
|
6
|
+
export class FDraggableBase {
|
|
7
|
+
constructor(ngZone) {
|
|
8
|
+
this.ngZone = ngZone;
|
|
9
|
+
this.mouseListeners = EventExtensions.emptyListener();
|
|
10
|
+
this.touchListeners = EventExtensions.emptyListener();
|
|
11
|
+
this.startListeners = EventExtensions.emptyListener();
|
|
12
|
+
this.lastTouchEventTime = 0;
|
|
13
|
+
this.isDragStarted = false;
|
|
14
|
+
this.dragStartThreshold = 3;
|
|
15
|
+
this.dragStartDelay = 0;
|
|
16
|
+
this.dragStartTime = 0;
|
|
17
|
+
this.dragStartPosition = PointExtensions.initialize();
|
|
18
|
+
this.moveHandler = this.checkDragSequenceToStart;
|
|
19
|
+
this.pointerDownElement = null;
|
|
20
|
+
this.onMouseDown = (event) => {
|
|
21
|
+
var _a;
|
|
22
|
+
const isSyntheticEvent = this.isSyntheticEvent(event);
|
|
23
|
+
const isFakeEvent = isFakeMousedownFromScreenReader(event);
|
|
24
|
+
const mouseEvent = new IMouseEvent(event);
|
|
25
|
+
this.pointerDownElement = mouseEvent.targetElement;
|
|
26
|
+
if (isSyntheticEvent || isFakeEvent || this.disabled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
let result = this.onPointerDown(mouseEvent);
|
|
30
|
+
if (result) {
|
|
31
|
+
this.dragStartTime = Date.now();
|
|
32
|
+
this.dragStartPosition = mouseEvent.getPosition();
|
|
33
|
+
(_a = this.ngZone) === null || _a === void 0 ? void 0 : _a.runOutsideAngular(() => {
|
|
34
|
+
var _a, _b, _c;
|
|
35
|
+
(_a = this.fDocument) === null || _a === void 0 ? void 0 : _a.addEventListener('selectstart', this.onSelectStart, EventExtensions.activeListener());
|
|
36
|
+
(_b = this.fDocument) === null || _b === void 0 ? void 0 : _b.addEventListener('mousemove', this.onMouseMove);
|
|
37
|
+
(_c = this.fDocument) === null || _c === void 0 ? void 0 : _c.addEventListener('mouseup', this.onMouseUp);
|
|
38
|
+
});
|
|
39
|
+
this.mouseListeners = () => {
|
|
40
|
+
var _a, _b, _c;
|
|
41
|
+
(_a = this.fDocument) === null || _a === void 0 ? void 0 : _a.removeEventListener('selectstart', this.onSelectStart, EventExtensions.activeListener());
|
|
42
|
+
(_b = this.fDocument) === null || _b === void 0 ? void 0 : _b.removeEventListener('mousemove', this.onMouseMove);
|
|
43
|
+
(_c = this.fDocument) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseup', this.onMouseUp);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
this.onTouchDown = (event) => {
|
|
48
|
+
var _a;
|
|
49
|
+
const isFakeEvent = isFakeTouchstartFromScreenReader(event);
|
|
50
|
+
const touchEvent = new ITouchDownEvent(event);
|
|
51
|
+
this.pointerDownElement = touchEvent.targetElement;
|
|
52
|
+
if (isFakeEvent || this.disabled) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
let result = this.onPointerDown(touchEvent);
|
|
56
|
+
if (result) {
|
|
57
|
+
this.dragStartTime = Date.now();
|
|
58
|
+
this.dragStartPosition = touchEvent.getPosition();
|
|
59
|
+
(_a = this.ngZone) === null || _a === void 0 ? void 0 : _a.runOutsideAngular(() => {
|
|
60
|
+
var _a, _b, _c;
|
|
61
|
+
(_a = this.fDocument) === null || _a === void 0 ? void 0 : _a.addEventListener('selectstart', this.onSelectStart, EventExtensions.activeListener());
|
|
62
|
+
(_b = this.fDocument) === null || _b === void 0 ? void 0 : _b.addEventListener('touchmove', this.onTouchMove);
|
|
63
|
+
(_c = this.fDocument) === null || _c === void 0 ? void 0 : _c.addEventListener('touchend', this.onTouchUp);
|
|
64
|
+
});
|
|
65
|
+
this.touchListeners = () => {
|
|
66
|
+
var _a, _b, _c;
|
|
67
|
+
(_a = this.fDocument) === null || _a === void 0 ? void 0 : _a.removeEventListener('selectstart', this.onSelectStart, EventExtensions.activeListener());
|
|
68
|
+
(_b = this.fDocument) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchmove', this.onTouchMove);
|
|
69
|
+
(_c = this.fDocument) === null || _c === void 0 ? void 0 : _c.removeEventListener('touchend', this.onTouchUp);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
this.onSelectStart = (event) => {
|
|
74
|
+
this.onSelect(event);
|
|
75
|
+
};
|
|
76
|
+
this.onMouseMove = (event) => {
|
|
77
|
+
this.moveHandler(new IMouseEvent(event));
|
|
78
|
+
};
|
|
79
|
+
this.onTouchMove = (event) => {
|
|
80
|
+
this.moveHandler(new ITouchMoveEvent(event));
|
|
81
|
+
};
|
|
82
|
+
this.onMouseUp = (event) => {
|
|
83
|
+
if (this.isDragStarted) {
|
|
84
|
+
this.onPointerUp(new IMouseEvent(event));
|
|
85
|
+
}
|
|
86
|
+
this.endDragSequence();
|
|
87
|
+
};
|
|
88
|
+
this.onTouchUp = (event) => {
|
|
89
|
+
if (this.isDragStarted) {
|
|
90
|
+
this.onPointerUp(new ITouchUpEvent(event));
|
|
91
|
+
}
|
|
92
|
+
this.endDragSequence();
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
isSyntheticEvent(event) {
|
|
96
|
+
return !!this.lastTouchEventTime &&
|
|
97
|
+
(this.lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now());
|
|
98
|
+
}
|
|
99
|
+
checkDragSequenceToStart(event) {
|
|
100
|
+
const pointerPosition = event.getPosition();
|
|
101
|
+
if (!this.isDragStarted && this.pointerDownElement) {
|
|
102
|
+
event.setTarget(this.pointerDownElement);
|
|
103
|
+
const distanceX = Math.abs(pointerPosition.x - this.dragStartPosition.x);
|
|
104
|
+
const distanceY = Math.abs(pointerPosition.y - this.dragStartPosition.y);
|
|
105
|
+
const isOverThreshold = distanceX + distanceY >= this.dragStartThreshold;
|
|
106
|
+
if (isOverThreshold) {
|
|
107
|
+
const isDelayElapsed = Date.now() >= this.dragStartTime + this.dragStartDelay;
|
|
108
|
+
if (!isDelayElapsed) {
|
|
109
|
+
this.endDragSequence();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
event.preventDefault();
|
|
113
|
+
this.prepareDragSequence(event);
|
|
114
|
+
this.isDragStarted = true;
|
|
115
|
+
this.moveHandler = this.onPointerMove;
|
|
116
|
+
if (isTouchEvent(event.originalEvent)) {
|
|
117
|
+
this.lastTouchEventTime = Date.now();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
endDragSequence() {
|
|
123
|
+
this.isDragStarted = false;
|
|
124
|
+
this.pointerDownElement = null;
|
|
125
|
+
this.moveHandler = this.checkDragSequenceToStart;
|
|
126
|
+
this.mouseListeners();
|
|
127
|
+
this.mouseListeners = EventExtensions.emptyListener();
|
|
128
|
+
this.touchListeners();
|
|
129
|
+
this.touchListeners = EventExtensions.emptyListener();
|
|
130
|
+
this.finalizeDragSequence();
|
|
131
|
+
}
|
|
132
|
+
subscribe(fDocument) {
|
|
133
|
+
var _a;
|
|
134
|
+
if (this.fDocument) {
|
|
135
|
+
this.unsubscribe();
|
|
136
|
+
}
|
|
137
|
+
this.fDocument = fDocument;
|
|
138
|
+
(_a = this.ngZone) === null || _a === void 0 ? void 0 : _a.runOutsideAngular(() => {
|
|
139
|
+
fDocument.addEventListener('mousedown', this.onMouseDown, EventExtensions.activeListener());
|
|
140
|
+
fDocument.addEventListener('touchstart', this.onTouchDown, EventExtensions.passiveListener());
|
|
141
|
+
});
|
|
142
|
+
this.startListeners = () => {
|
|
143
|
+
fDocument.removeEventListener('mousedown', this.onMouseDown, EventExtensions.activeListener());
|
|
144
|
+
fDocument.removeEventListener('touchstart', this.onTouchDown, EventExtensions.passiveListener());
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
unsubscribe() {
|
|
148
|
+
this.startListeners();
|
|
149
|
+
this.startListeners = EventExtensions.emptyListener();
|
|
150
|
+
this.touchListeners();
|
|
151
|
+
this.touchListeners = EventExtensions.emptyListener();
|
|
152
|
+
this.mouseListeners();
|
|
153
|
+
this.mouseListeners = EventExtensions.emptyListener();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
FDraggableBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
157
|
+
FDraggableBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FDraggableBase, ngImport: i0 });
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableBase, decorators: [{
|
|
159
|
+
type: Directive
|
|
160
|
+
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
161
|
+
function isTouchEvent(event) {
|
|
162
|
+
return event.type[0] === 't';
|
|
163
|
+
}
|
|
164
|
+
function isFakeMousedownFromScreenReader(event) {
|
|
165
|
+
return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);
|
|
166
|
+
}
|
|
167
|
+
function isFakeTouchstartFromScreenReader(event) {
|
|
168
|
+
const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);
|
|
169
|
+
return (!!touch &&
|
|
170
|
+
touch.identifier === -1 &&
|
|
171
|
+
(touch.radiusX == null || touch.radiusX === 1) &&
|
|
172
|
+
(touch.radiusY == null || touch.radiusY === 1));
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUVmLFdBQVcsRUFHWCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLGNBQWMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFNekUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFHM0MsTUFBTSxPQUFnQixjQUFjO0lBdUNsQyxZQUNZLE1BQXlDO1FBQXpDLFdBQU0sR0FBTixNQUFNLENBQW1DO1FBMUI3QyxtQkFBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzRCxtQkFBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUzRCxtQkFBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQU8zRCx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFaEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDOUIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBQy9CLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBRTNCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLHNCQUFpQixHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUl6RCxnQkFBVyxHQUFhLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUV0RCx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDO1FBTzlDLGdCQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7O1lBQzFDLE1BQU0s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QUFDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLGdDQUFnQyxDQUFDLEtBQWlCO0lBQ3pELE1BQU0sS0FBSyxHQUNULENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFFLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFFLENBQUMsQ0FBQztJQUMvRixPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUs7UUFDUCxLQUFLLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFdmVudEV4dGVuc2lvbnMsXG4gIElIYXNIb3N0RWxlbWVudCxcbiAgSU1vdXNlRXZlbnQsXG4gIElQb2ludCxcbiAgSVBvaW50ZXJFdmVudCxcbiAgSVRvdWNoRG93bkV2ZW50LFxuICBJVG91Y2hNb3ZlRXZlbnQsXG4gIElUb3VjaFVwRXZlbnQsXG4gIFBvaW50RXh0ZW5zaW9uc1xufSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCwgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuL2ktY2FuLXJ1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRkNyZWF0ZU5vZGVFdmVudCB9IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCBjb25zdCBGX0RSQUdHQUJMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGRHJhZ2dhYmxlQmFzZT4oJ0ZfRFJBR0dBQkxFJyk7XG5cbmV4cG9ydCBjb25zdCBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA9IDgwMDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwcml2YXRlIGZEb2N1bWVudDogRG9jdW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBtb3VzZUxpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICBwcml2YXRlIHRvdWNoTGlzdGVuZXJzOiBGdW5jdGlvbiA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG5cbiAgcHJpdmF0ZSBzdGFydExpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHB1YmxpYyBpc1N5bnRoZXRpY0V2ZW50KGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgJiZcbiAgICAgICh0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSArIE1PVVNFX0VWRU5UX0lHTk9SRV9USU1FID4gRGF0ZS5ub3coKSk7XG4gIH1cblxuICBwcml2YXRlIGxhc3RUb3VjaEV2ZW50VGltZTogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgaXNEcmFnU3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGRyYWdTdGFydFRocmVzaG9sZDogbnVtYmVyID0gMztcbiAgcHJpdmF0ZSBkcmFnU3RhcnREZWxheTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIGRyYWdTdGFydFRpbWU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0UG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgbW92ZUhhbmRsZXI6IEZ1bmN0aW9uID0gdGhpcy5jaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQ7XG5cbiAgcHJpdmF0ZSBwb2ludGVyRG93bkVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhciB8IHVuZGVmaW5lZFxuICApIHtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZURvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBjb25zdCBpc1N5bnRoZXRpY0V2ZW50ID0gdGhpcy5pc1N5bnRoZXRpY0V2ZW50KGV2ZW50KTtcbiAgICBjb25zdCBpc0Zha2VFdmVudCA9IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpO1xuICAgIGNvbnN0IG1vdXNlRXZlbnQgPSBuZXcgSU1vdXNlRXZlbnQoZXZlbnQpO1xuICAgIHRoaXMucG9pbnRlckRvd25FbGVtZW50ID0gbW91c2VFdmVudC50YXJnZXRFbGVtZW50O1xuXG4gICAgaWYgKGlzU3ludGhldGljRXZlbnQgfHwgaXNGYWtlRXZlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5vblBvaW50ZXJEb3duKG1vdXNlRXZlbnQpO1xuICAgIGlmIChyZXN1bHQpIHtcblxuICAgICAgdGhpcy5kcmFnU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24gPSBtb3VzZUV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmZEb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmZEb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hEb3duID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgY29uc3QgaXNGYWtlRXZlbnQgPSBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCBhcyBUb3VjaEV2ZW50KVxuICAgIGNvbnN0IHRvdWNoRXZlbnQgPSBuZXcgSVRvdWNoRG93bkV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLnBvaW50ZXJEb3duRWxlbWVudCA9IHRvdWNoRXZlbnQudGFyZ2V0RWxlbWVudDtcblxuICAgIGlmIChpc0Zha2VFdmVudCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB0aGlzLm9uUG9pbnRlckRvd24odG91Y2hFdmVudCk7XG4gICAgaWYgKHJlc3VsdCkge1xuXG4gICAgICB0aGlzLmRyYWdTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbiA9IHRvdWNoRXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgICAgdGhpcy5uZ1pvbmU/LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5mRG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlKTtcbiAgICAgICAgdGhpcy5mRG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoVXApO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmZEb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIHRoaXMuZkRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaFVwKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblNlbGVjdFN0YXJ0ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIHRoaXMub25TZWxlY3QoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIHRoaXMubW92ZUhhbmRsZXIobmV3IElNb3VzZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hNb3ZlID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgdGhpcy5tb3ZlSGFuZGxlcihuZXcgSVRvdWNoTW92ZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuaXNEcmFnU3RhcnRlZCAmJiB0aGlzLnBvaW50ZXJEb3duRWxlbWVudCkge1xuICAgICAgZXZlbnQuc2V0VGFyZ2V0KHRoaXMucG9pbnRlckRvd25FbGVtZW50KTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlWCA9IE1hdGguYWJzKHBvaW50ZXJQb3NpdGlvbi54IC0gdGhpcy5kcmFnU3RhcnRQb3NpdGlvbi54KTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IE1hdGguYWJzKHBvaW50ZXJQb3NpdGlvbi55IC0gdGhpcy5kcmFnU3RhcnRQb3NpdGlvbi55KTtcbiAgICAgIGNvbnN0IGlzT3ZlclRocmVzaG9sZCA9IGRpc3RhbmNlWCArIGRpc3RhbmNlWSA+PSB0aGlzLmRyYWdTdGFydFRocmVzaG9sZDtcblxuICAgICAgaWYgKGlzT3ZlclRocmVzaG9sZCkge1xuICAgICAgICBjb25zdCBpc0RlbGF5RWxhcHNlZCA9IERhdGUubm93KCkgPj0gdGhpcy5kcmFnU3RhcnRUaW1lICsgdGhpcy5kcmFnU3RhcnREZWxheTtcblxuICAgICAgICBpZiAoIWlzRGVsYXlFbGFwc2VkKSB7XG4gICAgICAgICAgdGhpcy5lbmREcmFnU2VxdWVuY2UoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQpO1xuICAgICAgICB0aGlzLmlzRHJhZ1N0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm1vdmVIYW5kbGVyID0gdGhpcy5vblBvaW50ZXJNb3ZlO1xuICAgICAgICBpZiAoaXNUb3VjaEV2ZW50KGV2ZW50Lm9yaWdpbmFsRXZlbnQpKSB7XG4gICAgICAgICAgdGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkO1xuXG4gIHByaXZhdGUgb25Nb3VzZVVwID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgaWYgKHRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgdGhpcy5vblBvaW50ZXJVcChuZXcgSU1vdXNlRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gICAgdGhpcy5lbmREcmFnU2VxdWVuY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaFVwID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgaWYgKHRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgdGhpcy5vblBvaW50ZXJVcChuZXcgSVRvdWNoVXBFdmVudChldmVudCkpO1xuICAgIH1cbiAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmREcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0RyYWdTdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5tb3ZlSGFuZGxlciA9IHRoaXMuY2hlY2tEcmFnU2VxdWVuY2VUb1N0YXJ0O1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGZpbmFsaXplRHJhZ1NlcXVlbmNlKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBzdWJzY3JpYmUoZkRvY3VtZW50OiBEb2N1bWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZEb2N1bWVudCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmZEb2N1bWVudCA9IGZEb2N1bWVudDtcblxuICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93biwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgZkRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hEb3duLCBFdmVudEV4dGVuc2lvbnMucGFzc2l2ZUxpc3RlbmVyKCkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdGFydExpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgIGZEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICBmRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaERvd24sIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlTGlzdGVuZXIoKSk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB1bnN1YnNjcmliZSgpOiB2b2lkIHtcblxuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycygpO1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzVG91Y2hFdmVudChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBldmVudCBpcyBUb3VjaEV2ZW50IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbIDAgXSA9PT0gJ3QnO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBldmVudC5idXR0b25zID09PSAwIHx8IChldmVudC5vZmZzZXRYID09PSAwICYmIGV2ZW50Lm9mZnNldFkgPT09IDApO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudDogVG91Y2hFdmVudCk6IGJvb2xlYW4ge1xuICBjb25zdCB0b3VjaDogVG91Y2ggfCB1bmRlZmluZWQgPVxuICAgIChldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXNbIDAgXSkgfHwgKGV2ZW50LmNoYW5nZWRUb3VjaGVzICYmIGV2ZW50LmNoYW5nZWRUb3VjaGVzWyAwIF0pO1xuICByZXR1cm4gKFxuICAgICEhdG91Y2ggJiZcbiAgICB0b3VjaC5pZGVudGlmaWVyID09PSAtMSAmJlxuICAgICh0b3VjaC5yYWRpdXNYID09IG51bGwgfHwgdG91Y2gucmFkaXVzWCA9PT0gMSkgJiZcbiAgICAodG91Y2gucmFkaXVzWSA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1kgPT09IDEpXG4gICk7XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Point } from '@foblex/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FDraggableDataContext {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.selectedItems = [];
|
|
7
|
+
this.isSelectedChanged = false;
|
|
8
|
+
this.onPointerDownScale = 1;
|
|
9
|
+
this.onPointerDownPosition = new Point(0, 0);
|
|
10
|
+
this.draggableItems = [];
|
|
11
|
+
}
|
|
12
|
+
reset() {
|
|
13
|
+
this.draggableItems = [];
|
|
14
|
+
this.onPointerDownScale = 1;
|
|
15
|
+
this.onPointerDownPosition = new Point(0, 0);
|
|
16
|
+
}
|
|
17
|
+
markSelectionAsChanged() {
|
|
18
|
+
this.isSelectedChanged = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
FDraggableDataContext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
FDraggableDataContext.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableDataContext });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableDataContext, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU1yQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR1Msa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBRWxDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsMEJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQztLQWE5QztJQVRRLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7O21IQXRCVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkxpbmVBbGlnbm1lbnRCYXNlIH0gZnJvbSAnLi4vZi1saW5lLWFsaWdubWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQge1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJU2VsZWN0YWJsZVtdID0gW107XG5cbiAgcHVibGljIGlzU2VsZWN0ZWRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG9uUG9pbnRlckRvd25TY2FsZTogbnVtYmVyID0gMTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blBvc2l0aW9uOiBQb2ludCA9IG5ldyBQb2ludCgwLCAwKTtcblxuICBwdWJsaWMgZHJhZ2dhYmxlSXRlbXM6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgZkxpbmVBbGlnbm1lbnQ6IEZMaW5lQWxpZ25tZW50QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnZ2FibGVJdGVtcyA9IFtdO1xuICAgIHRoaXMub25Qb2ludGVyRG93blNjYWxlID0gMTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IG5ldyBQb2ludCgwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { ContentChildren, Directive, EventEmitter, Inject, Input, NgZone, Optional, Output } from "@angular/core";
|
|
2
|
+
import { F_DRAGGABLE, FDraggableBase } from './f-draggable-base';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import { Point } from '@foblex/core';
|
|
5
|
+
import { NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
|
|
6
|
+
import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
|
|
7
|
+
import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
|
|
8
|
+
import { EmitTransformChangesRequest, GetSelectionRequest } from '../domain';
|
|
9
|
+
import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, isExternalItem } from '../f-external-item';
|
|
10
|
+
import { SingleSelectRequest } from './single-select';
|
|
11
|
+
import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
|
|
12
|
+
import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "./f-draggable-data-context";
|
|
15
|
+
import * as i2 from "../f-storage";
|
|
16
|
+
import * as i3 from "../infrastructure";
|
|
17
|
+
import * as i4 from "@foblex/platform";
|
|
18
|
+
export class FDraggableDirective extends FDraggableBase {
|
|
19
|
+
constructor(elementReference, fDraggableDataContext, ngZone, fComponentsStore, fMediator, fBrowser) {
|
|
20
|
+
super(ngZone);
|
|
21
|
+
this.elementReference = elementReference;
|
|
22
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
23
|
+
this.fComponentsStore = fComponentsStore;
|
|
24
|
+
this.fMediator = fMediator;
|
|
25
|
+
this.fBrowser = fBrowser;
|
|
26
|
+
this.subscriptions$ = new Subscription();
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
this.fSelectionChange = new EventEmitter();
|
|
29
|
+
// @Output()
|
|
30
|
+
// public override fConnectionIntersectNode: EventEmitter<ConnectionIntersectNodeEvent> = new EventEmitter<ConnectionIntersectNodeEvent>();
|
|
31
|
+
this.fCreateNode = new EventEmitter();
|
|
32
|
+
this.fReassignConnection = new EventEmitter();
|
|
33
|
+
this.fCreateConnection = new EventEmitter();
|
|
34
|
+
}
|
|
35
|
+
get hostElement() {
|
|
36
|
+
return this.elementReference.nativeElement;
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.fComponentsStore.fDraggable = this;
|
|
40
|
+
}
|
|
41
|
+
ngAfterViewInit() {
|
|
42
|
+
super.subscribe(this.fBrowser.document);
|
|
43
|
+
}
|
|
44
|
+
onPointerDown(event) {
|
|
45
|
+
this.fDraggableDataContext.reset();
|
|
46
|
+
let result = event.isMouseLeftButton();
|
|
47
|
+
this.plugins.forEach((p) => {
|
|
48
|
+
var _a;
|
|
49
|
+
(_a = p.onPointerDown) === null || _a === void 0 ? void 0 : _a.call(p, event);
|
|
50
|
+
});
|
|
51
|
+
this.fMediator.send(new SingleSelectRequest(event));
|
|
52
|
+
this.fMediator.send(new ReassignConnectionPreparationRequest(event));
|
|
53
|
+
this.fMediator.send(new CreateConnectionPreparationRequest(event));
|
|
54
|
+
if (!result) {
|
|
55
|
+
this.finalizeDragSequence();
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
prepareDragSequence(event) {
|
|
60
|
+
this.plugins.forEach((p) => {
|
|
61
|
+
var _a;
|
|
62
|
+
(_a = p.prepareDragSequence) === null || _a === void 0 ? void 0 : _a.call(p, event);
|
|
63
|
+
});
|
|
64
|
+
this.fMediator.send(new NodeResizePreparationRequest(event));
|
|
65
|
+
this.fMediator.send(new NodeMovePreparationRequest(event));
|
|
66
|
+
this.fMediator.send(new CanvasMovePreparationRequest(event));
|
|
67
|
+
this.fMediator.send(new ExternalItemPreparationRequest(event));
|
|
68
|
+
this.fDraggableDataContext.draggableItems.forEach((item) => {
|
|
69
|
+
var _a;
|
|
70
|
+
(_a = item.initialize) === null || _a === void 0 ? void 0 : _a.call(item);
|
|
71
|
+
});
|
|
72
|
+
if (this.fDraggableDataContext.draggableItems.length > 0) {
|
|
73
|
+
this.hostElement.classList.add('f-dragging');
|
|
74
|
+
this.emitSelectionChangeEvent();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onSelect(event) {
|
|
78
|
+
this.plugins.forEach((p) => {
|
|
79
|
+
var _a;
|
|
80
|
+
(_a = p.onSelect) === null || _a === void 0 ? void 0 : _a.call(p, event);
|
|
81
|
+
});
|
|
82
|
+
if (this.isTargetItemExternal(event)) {
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
isTargetItemExternal(event) {
|
|
87
|
+
let isTargetItemExternal = this.isExternalItem(event.target);
|
|
88
|
+
let isTargetParentItemExternal = this.isExternalItem(event.target.parentNode);
|
|
89
|
+
return isTargetItemExternal || isTargetParentItemExternal;
|
|
90
|
+
}
|
|
91
|
+
isExternalItem(target) {
|
|
92
|
+
let result = false;
|
|
93
|
+
try {
|
|
94
|
+
result = isExternalItem(target);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
onPointerMove(event) {
|
|
101
|
+
const pointerPositionInCanvas = Point.fromPoint(event.getPosition()).elementTransform(this.hostElement);
|
|
102
|
+
const difference = pointerPositionInCanvas.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
|
|
103
|
+
this.fDraggableDataContext.draggableItems.forEach((item) => {
|
|
104
|
+
item.move(Object.assign({}, difference));
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
onPointerUp(event) {
|
|
108
|
+
this.plugins.forEach((p) => {
|
|
109
|
+
var _a;
|
|
110
|
+
(_a = p.onPointerUp) === null || _a === void 0 ? void 0 : _a.call(p, event);
|
|
111
|
+
});
|
|
112
|
+
this.fMediator.send(new ReassignConnectionFinalizeRequest(event));
|
|
113
|
+
this.fMediator.send(new CreateConnectionFinalizeRequest(event));
|
|
114
|
+
this.fMediator.send(new NodeResizeFinalizeRequest(event));
|
|
115
|
+
this.fMediator.send(new NodeMoveFinalizeRequest(event));
|
|
116
|
+
this.fMediator.send(new CanvasMoveFinalizeRequest(event));
|
|
117
|
+
this.fMediator.send(new ExternalItemFinalizeRequest(event));
|
|
118
|
+
this.hostElement.classList.remove('f-dragging');
|
|
119
|
+
this.fDraggableDataContext.reset();
|
|
120
|
+
}
|
|
121
|
+
finalizeDragSequence() {
|
|
122
|
+
this.emitSelectionChangeEvent();
|
|
123
|
+
}
|
|
124
|
+
emitSelectionChangeEvent() {
|
|
125
|
+
if (!this.fDraggableDataContext.isSelectedChanged) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
this.fSelectionChange.emit(this.fMediator.send(new GetSelectionRequest()));
|
|
129
|
+
this.fDraggableDataContext.isSelectedChanged = false;
|
|
130
|
+
this.fMediator.send(new EmitTransformChangesRequest());
|
|
131
|
+
}
|
|
132
|
+
ngOnDestroy() {
|
|
133
|
+
super.unsubscribe();
|
|
134
|
+
this.subscriptions$.unsubscribe();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
FDraggableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: NgZone, optional: true }, { token: i2.FComponentsStore }, { token: i3.FFlowMediator }, { token: i4.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
+
FDraggableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection" }, providers: [
|
|
139
|
+
{ provide: F_DRAGGABLE, useExisting: FDraggableDirective }
|
|
140
|
+
], queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FDraggableDirective, decorators: [{
|
|
142
|
+
type: Directive,
|
|
143
|
+
args: [{
|
|
144
|
+
selector: "f-flow[fDraggable]",
|
|
145
|
+
exportAs: 'fDraggable',
|
|
146
|
+
providers: [
|
|
147
|
+
{ provide: F_DRAGGABLE, useExisting: FDraggableDirective }
|
|
148
|
+
]
|
|
149
|
+
}]
|
|
150
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }, { type: undefined, decorators: [{
|
|
151
|
+
type: Inject,
|
|
152
|
+
args: [NgZone]
|
|
153
|
+
}, {
|
|
154
|
+
type: Optional
|
|
155
|
+
}] }, { type: i2.FComponentsStore }, { type: i3.FFlowMediator }, { type: i4.BrowserService }]; }, propDecorators: { disabled: [{
|
|
156
|
+
type: Input,
|
|
157
|
+
args: ['fDraggableDisabled']
|
|
158
|
+
}], fSelectionChange: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], fCreateNode: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}], fReassignConnection: [{
|
|
163
|
+
type: Output
|
|
164
|
+
}], fCreateConnection: [{
|
|
165
|
+
type: Output
|
|
166
|
+
}], plugins: [{
|
|
167
|
+
type: ContentChildren,
|
|
168
|
+
args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
|
|
169
|
+
}] } });
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUVULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBRUUsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBeUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0UsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw4QkFBOEIsRUFFOUIsY0FBYyxFQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBVXpGLE1BQU0sT0FB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RUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7cUJBQzNEO2lCQUNGOzswQkFpQ0ksTUFBTTsyQkFBQyxNQUFNOzswQkFBRyxRQUFRO29JQTNCWCxRQUFRO3NCQUR2QixLQUFLO3VCQUFDLG9CQUFvQjtnQkFRWCxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBT1MsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlDLE9BQU87c0JBRGQsZUFBZTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfRFJBR0dBQkxFLCBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVBvaW50LCBJUG9pbnRlckV2ZW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCwgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCwgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vY2FudmFzJztcbmltcG9ydCB7XG4gIEZDcmVhdGVDb25uZWN0aW9uRXZlbnQsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3Rcbn0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LCBHZXRTZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBpc0V4dGVybmFsSXRlbVxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuL2ktY2FuLXJ1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0RSQUdHQUJMRSwgdXNlRXhpc3Rpbmc6IEZEcmFnZ2FibGVEaXJlY3RpdmUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmRHJhZ2dhYmxlRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLy8gQE91dHB1dCgpXG4gIC8vIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkludGVyc2VjdE5vZGU6IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uSW50ZXJzZWN0Tm9kZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuZkJyb3dzZXIuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICAgIGxldCByZXN1bHQ6IGJvb2xlYW4gPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25Qb2ludGVyRG93bj8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5pbml0aWFsaXplPy4oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2YtZHJhZ2dpbmcnKTtcbiAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25TZWxlY3Q/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5pc1RhcmdldEl0ZW1FeHRlcm5hbChldmVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1RhcmdldEl0ZW1FeHRlcm5hbChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICBsZXQgaXNUYXJnZXRJdGVtRXh0ZXJuYWwgPSB0aGlzLmlzRXh0ZXJuYWxJdGVtKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgbGV0IGlzVGFyZ2V0UGFyZW50SXRlbUV4dGVybmFsID0gdGhpcy5pc0V4dGVybmFsSXRlbSgoZXZlbnQudGFyZ2V0IGFzIE5vZGUpLnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQpO1xuICAgIHJldHVybiBpc1RhcmdldEl0ZW1FeHRlcm5hbCB8fCBpc1RhcmdldFBhcmVudEl0ZW1FeHRlcm5hbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNFeHRlcm5hbEl0ZW0odGFyZ2V0OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gaXNFeHRlcm5hbEl0ZW0odGFyZ2V0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzID0gUG9pbnQuZnJvbVBvaW50KGV2ZW50LmdldFBvc2l0aW9uKCkpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5ob3N0RWxlbWVudCk7XG4gICAgY29uc3QgZGlmZmVyZW5jZTogSVBvaW50ID0gcG9pbnRlclBvc2l0aW9uSW5DYW52YXMuZGl2KHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSkuc3ViKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5tb3ZlKHsgLi4uZGlmZmVyZW5jZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25Qb2ludGVyVXA/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZi1kcmFnZ2luZycpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQucmVzZXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZlNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZk1lZGlhdG9yLnNlbmQ8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PihuZXcgR2V0U2VsZWN0aW9uUmVxdWVzdCgpKSk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class FSelectionChangeEvent {
|
|
2
|
+
constructor(nodes, connections) {
|
|
3
|
+
this.nodes = nodes;
|
|
4
|
+
this.connections = connections;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUNXLEtBQWUsRUFDZixXQUFxQjtRQURyQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVU7SUFFaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgbm9kZXM6IHN0cmluZ1tdLFxuICAgICAgcHVibGljIGNvbm5lY3Rpb25zOiBzdHJpbmdbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { GetInputRectInFlowRequest, GetOutputRectInFlowRequest, RoundedRect } from '../../domain';
|
|
2
|
+
import { EFConnectableSide } from '../../f-connectors';
|
|
3
|
+
import { Directive } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../infrastructure";
|
|
6
|
+
import * as i2 from "../../f-connection";
|
|
7
|
+
export class ConnectionBaseDragHandler {
|
|
8
|
+
constructor(fMediator, connection) {
|
|
9
|
+
this.fMediator = fMediator;
|
|
10
|
+
this.connection = connection;
|
|
11
|
+
this.fromConnectorRect = new RoundedRect();
|
|
12
|
+
this.fromConnectorSide = EFConnectableSide.BOTTOM;
|
|
13
|
+
this.toConnectorRect = new RoundedRect();
|
|
14
|
+
this.toConnectorSide = EFConnectableSide.TOP;
|
|
15
|
+
}
|
|
16
|
+
initialize() {
|
|
17
|
+
const fromConnector = this.fMediator.send(new GetOutputRectInFlowRequest(this.connection.fOutputId));
|
|
18
|
+
this.fromConnectorRect = RoundedRect.fromRoundedRect(fromConnector.rect);
|
|
19
|
+
this.fromConnectorSide = fromConnector.fConnectableSide;
|
|
20
|
+
const toConnector = this.fMediator.send(new GetInputRectInFlowRequest(this.connection.fInputId));
|
|
21
|
+
this.toConnectorRect = RoundedRect.fromRoundedRect(toConnector.rect);
|
|
22
|
+
this.toConnectorSide = toConnector.fConnectableSide;
|
|
23
|
+
}
|
|
24
|
+
getDifference(difference, restrictions) {
|
|
25
|
+
return {
|
|
26
|
+
x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
|
|
27
|
+
y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
redrawConnection(line) {
|
|
31
|
+
this.connection.setLine(line.point1, this.fromConnectorSide, line.point2, this.toConnectorSide);
|
|
32
|
+
this.connection.redraw();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ConnectionBaseDragHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConnectionBaseDragHandler, deps: [{ token: i1.FFlowMediator }, { token: i2.FConnectionBase }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
ConnectionBaseDragHandler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ConnectionBaseDragHandler, ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
|
|
38
|
+
type: Directive
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.FFlowMediator }, { type: i2.FConnectionBase }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx5QkFBeUIsRUFFekIsMEJBQTBCLEVBQ0csV0FBVyxFQUN6QyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBZ0IseUJBQXlCO0lBUTdDLFlBQ1ksU0FBd0IsRUFDM0IsVUFBMkI7UUFEeEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQVIxQixzQkFBaUIsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuRCxzQkFBaUIsR0FBc0IsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBRWhFLG9CQUFlLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDakQsb0JBQWUsR0FBc0IsaUJBQWlCLENBQUMsR0FBRyxDQUFDO0lBTXJFLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3ZDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBRXhELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNyQyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3hELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RELENBQUM7SUFJUyxhQUFhLENBQUMsVUFBa0IsRUFBRSxZQUFtQztRQUM3RSxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0UsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUUsQ0FBQTtJQUNILENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxJQUFXO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7dUhBeENtQix5QkFBeUI7MkdBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUQ5QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgR2V0SW5wdXRSZWN0SW5GbG93UmVxdWVzdCxcbiAgR2V0SW5wdXRSZWN0SW5GbG93UmVzcG9uc2UsXG4gIEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0LFxuICBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2UsIFJvdW5kZWRSZWN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcm90ZWN0ZWQgZnJvbUNvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG4gIHByb3RlY3RlZCBmcm9tQ29ubmVjdG9yU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG5cbiAgcHJvdGVjdGVkIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcbiAgcHJvdGVjdGVkIHRvQ29ubmVjdG9yU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBmcm9tQ29ubmVjdG9yID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2U+KFxuICAgICAgbmV3IEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0KHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQpXG4gICAgKTtcbiAgICB0aGlzLmZyb21Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KGZyb21Db25uZWN0b3IucmVjdCk7XG4gICAgdGhpcy5mcm9tQ29ubmVjdG9yU2lkZSA9IGZyb21Db25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZTtcblxuICAgIGNvbnN0IHRvQ29ubmVjdG9yID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxHZXRJbnB1dFJlY3RJbkZsb3dSZXNwb25zZT4oXG4gICAgICBuZXcgR2V0SW5wdXRSZWN0SW5GbG93UmVxdWVzdCh0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQpXG4gICAgKTtcbiAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0b0Nvbm5lY3Rvci5yZWN0KTtcbiAgICB0aGlzLnRvQ29ubmVjdG9yU2lkZSA9IHRvQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGU7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgcmVzdHJpY3Rpb25zOiBJTm9kZU1vdmVSZXN0cmljdGlvbnMpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHJlc3RyaWN0aW9ucy5taW4ueCksIHJlc3RyaWN0aW9ucy5tYXgueCksXG4gICAgICB5OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLnksIHJlc3RyaWN0aW9ucy5taW4ueSksIHJlc3RyaWN0aW9ucy5tYXgueSlcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3Q29ubmVjdGlvbihsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZyb21Db25uZWN0b3JTaWRlLCBsaW5lLnBvaW50MiwgdGhpcy50b0Nvbm5lY3RvclNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GetConnectionLineRequest } from '../../domain';
|
|
2
|
+
import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
|
|
3
|
+
export class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
|
|
4
|
+
constructor(fMediator, connection, minDistance, maxDistance) {
|
|
5
|
+
super(fMediator, connection);
|
|
6
|
+
this.minDistance = minDistance;
|
|
7
|
+
this.maxDistance = maxDistance;
|
|
8
|
+
}
|
|
9
|
+
move(difference) {
|
|
10
|
+
this.redrawConnection(this.getNewLineValue(difference));
|
|
11
|
+
}
|
|
12
|
+
getNewLineValue(difference) {
|
|
13
|
+
return this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect.addPoint(this.getDifference(Object.assign({}, difference), { min: this.minDistance, max: this.maxDistance })), this.toConnectorRect, this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUF3QixFQUN4QixVQUEyQixFQUNwQixXQUFtQixFQUNuQixXQUFtQjtRQUUxQixLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBRzVCLENBQUM7SUFFZSxJQUFJLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxtQkFBTSxVQUFVLEdBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDeEgsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIgZXh0ZW5kcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHB1YmxpYyBtaW5EaXN0YW5jZTogSVBvaW50LFxuICAgIHB1YmxpYyBtYXhEaXN0YW5jZTogSVBvaW50XG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yUmVjdC5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy50b0Nvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yU2lkZSxcbiAgICAgIHRoaXMudG9Db25uZWN0b3JTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GetConnectionLineRequest, } from '../../domain';
|
|
2
|
+
import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
|
|
3
|
+
export class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
|
|
4
|
+
constructor(fMediator, connection, minDistance, maxDistance) {
|
|
5
|
+
super(fMediator, connection);
|
|
6
|
+
this.minDistance = minDistance;
|
|
7
|
+
this.maxDistance = maxDistance;
|
|
8
|
+
}
|
|
9
|
+
move(difference) {
|
|
10
|
+
this.redrawConnection(this.getNewLineValue(difference));
|
|
11
|
+
}
|
|
12
|
+
getNewLineValue(difference) {
|
|
13
|
+
return this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect, this.toConnectorRect.addPoint(this.getDifference(Object.assign({}, difference), { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUF3QixFQUN4QixVQUEyQixFQUNwQixXQUFtQixFQUNuQixXQUFtQjtRQUUxQixLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBRzVCLENBQUM7SUFFZSxJQUFJLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDNUQsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxtQkFBTSxVQUFVLEdBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDdEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyIGV4dGVuZHMgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwdWJsaWMgbWluRGlzdGFuY2U6IElQb2ludCxcbiAgICBwdWJsaWMgbWF4RGlzdGFuY2U6IElQb2ludFxuICApIHtcbiAgICBzdXBlcihmTWVkaWF0b3IsIGNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5yZWRyYXdDb25uZWN0aW9uKHRoaXMuZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdChcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclNpZGUsXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yU2lkZVxuICAgICkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GetConnectionLineRequest, } from '../../domain';
|
|
2
|
+
import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
|
|
3
|
+
export class ConnectionDragHandler extends ConnectionBaseDragHandler {
|
|
4
|
+
constructor(fMediator, connection) {
|
|
5
|
+
super(fMediator, connection);
|
|
6
|
+
}
|
|
7
|
+
setOutputRestrictions(min, max) {
|
|
8
|
+
this.sourceRestrictions = { min, max };
|
|
9
|
+
}
|
|
10
|
+
setInputRestrictions(min, max) {
|
|
11
|
+
this.targetRestrictions = { min, max };
|
|
12
|
+
}
|
|
13
|
+
move(difference) {
|
|
14
|
+
this.redrawConnection(this.getNewLineValue(difference));
|
|
15
|
+
}
|
|
16
|
+
getNewLineValue(difference) {
|
|
17
|
+
return this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect.addPoint(this.getDifference(Object.assign({}, difference), this.sourceRestrictions)), this.toConnectorRect.addPoint(this.getDifference(Object.assign({}, difference), this.targetRestrictions)), this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBS2xFLFlBQ0UsU0FBd0IsRUFDeEIsVUFBMkI7UUFFM0IsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0scUJBQXFCLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDbkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVlLElBQUksQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxlQUFlLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLHdCQUF3QixDQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLG1CQUFNLFVBQVUsR0FBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUMvRixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxtQkFBTSxVQUFVLEdBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFDN0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7XG4gIEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgc291cmNlUmVzdHJpY3Rpb25zITogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zO1xuICBwcml2YXRlIHRhcmdldFJlc3RyaWN0aW9ucyE6IElOb2RlTW92ZVJlc3RyaWN0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlXG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2V0T3V0cHV0UmVzdHJpY3Rpb25zKG1pbjogSVBvaW50LCBtYXg6IElQb2ludCkge1xuICAgIHRoaXMuc291cmNlUmVzdHJpY3Rpb25zID0geyBtaW4sIG1heCB9O1xuICB9XG5cbiAgcHVibGljIHNldElucHV0UmVzdHJpY3Rpb25zKG1pbjogSVBvaW50LCBtYXg6IElQb2ludCkge1xuICAgIHRoaXMudGFyZ2V0UmVzdHJpY3Rpb25zID0geyBtaW4sIG1heCB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5yZWRyYXdDb25uZWN0aW9uKHRoaXMuZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdChcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QuYWRkUG9pbnQodGhpcy5nZXREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnNvdXJjZVJlc3RyaWN0aW9ucykpLFxuICAgICAgdGhpcy50b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQodGhpcy5nZXREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnRhcmdldFJlc3RyaWN0aW9ucykpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclNpZGUsXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yU2lkZVxuICAgICkpO1xuICB9XG59XG4iXX0=
|