@foblex/flow 12.6.2 → 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/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/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/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/{esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs → esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.execution.js} +9 -11
- 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/{esm2022/f-connection/common/f-connection-identifiers.mjs → esm2015/f-connection/common/f-connection-identifiers.js} +1 -1
- 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/{esm2022/f-connection/common/f-path/get-path-marker-id.mjs → esm2015/f-connection/common/f-path/get-path-marker-id.js} +1 -1
- 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/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/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 +1 -1
- package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +1 -1
- package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +1 -1
- 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 +1 -1
- 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/f-draggable-base.d.ts +1 -1
- package/f-draggable/f-draggable.directive.d.ts +1 -1
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -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 +1 -1
- package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +1 -1
- package/f-minimap/domain/check-rect-is-finite.d.ts +2 -0
- package/f-minimap/domain/index.d.ts +1 -0
- package/f-minimap/f-minimap-canvas.directive.d.ts +1 -1
- 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 +1 -1
- package/f-node/f-node.directive.d.ts +1 -1
- package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
- 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} +1286 -1567
- 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 -17
- 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 -62
- package/esm2022/domain/deep-clone-node.mjs +0 -47
- 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 -45
- 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 -54
- 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/f-backgroud/f-background.component.mjs +0 -66
- package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -107
- package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -126
- 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-text/f-connection-text-path.directive.mjs +0 -73
- 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-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 -76
- 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 -68
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -47
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -35
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
- 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/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -35
- 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 -171
- 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 -93
- 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 -61
- 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 -47
- 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 -39
- 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 -118
- 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 -97
- 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 -67
- 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 -153
- package/esm2022/f-node/f-node-base.mjs +0 -37
- package/esm2022/f-node/f-node.directive.mjs +0 -154
- 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 -32
- 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/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/create-dom-element.mjs → esm2015/domain/create-dom-element.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/index.mjs → esm2015/domain/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/index.mjs → esm2015/f-draggable/domain/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/domain/providers.mjs → esm2015/f-draggable/domain/providers.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
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { RectExtensions } from '@foblex/core';
|
|
3
|
-
import { GetNodesRectRequest } from './get-nodes-rect.request';
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { FExecutionRegister } from '../../infrastructure';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../f-storage";
|
|
8
|
-
let GetNodesRectExecution = class GetNodesRectExecution {
|
|
9
|
-
fComponentsStore;
|
|
10
|
-
constructor(fComponentsStore) {
|
|
11
|
-
this.fComponentsStore = fComponentsStore;
|
|
12
|
-
}
|
|
13
|
-
handle(request) {
|
|
14
|
-
return RectExtensions.union(this.getNodesRects());
|
|
15
|
-
}
|
|
16
|
-
getNodesRects() {
|
|
17
|
-
return this.getNodes().map((x) => RectExtensions.fromElement(x.hostElement));
|
|
18
|
-
}
|
|
19
|
-
getNodes() {
|
|
20
|
-
return this.fComponentsStore.fNodes;
|
|
21
|
-
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodesRectExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodesRectExecution });
|
|
24
|
-
};
|
|
25
|
-
GetNodesRectExecution = __decorate([
|
|
26
|
-
FExecutionRegister(GetNodesRectRequest)
|
|
27
|
-
], GetNodesRectExecution);
|
|
28
|
-
export { GetNodesRectExecution };
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodesRectExecution, decorators: [{
|
|
30
|
-
type: Injectable
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vZGVzLXJlY3QvZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUsvRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUd0QjtJQURWLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE0QjtRQUN4QyxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7dUdBakJVLHFCQUFxQjsyR0FBckIscUJBQXFCOztBQUFyQixxQkFBcUI7SUFEakMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7R0FDM0IscUJBQXFCLENBa0JqQzs7MkZBbEJZLHFCQUFxQjtrQkFGakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBHZXROb2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9kZXMtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb2Rlc1JlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVzUmVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZXNSZWN0UmVxdWVzdCwgSVJlY3QgfCBudWxsPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9kZXNSZWN0UmVxdWVzdCk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLnVuaW9uKHRoaXMuZ2V0Tm9kZXNSZWN0cygpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXNSZWN0cygpOiBJUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXROb2RlcygpLm1hcCgoeCkgPT4gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class GetOutputRectInFlowResponse {
|
|
2
|
-
rect;
|
|
3
|
-
fConnectableSide;
|
|
4
|
-
constructor(rect, fConnectableSide) {
|
|
5
|
-
this.rect = rect;
|
|
6
|
-
this.fConnectableSide = fConnectableSide;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sMkJBQTJCO0lBRTNCO0lBQ0E7SUFGWCxZQUNXLElBQWtCLEVBQ2xCLGdCQUFtQztRQURuQyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7SUFFOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSVJvdW5kZWRSZWN0IH0gZnJvbSAnLi4vaW50ZXJzZWN0aW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyByZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgICBwdWJsaWMgZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGVcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { FExecutionRegister } from '../../infrastructure';
|
|
4
|
-
import { GetOutputRectInFlowRequest } from './get-output-rect-in-flow-request';
|
|
5
|
-
import { GetOutputRectInFlowResponse } from './get-output-rect-in-flow-response';
|
|
6
|
-
import { OutputNotFound } from '../../errors';
|
|
7
|
-
import { GetElementRectInFlowRequest } from '../get-element-rect-in-flow';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../f-storage";
|
|
10
|
-
import * as i2 from "../../infrastructure";
|
|
11
|
-
let GetOutputRectInFlowExecution = class GetOutputRectInFlowExecution {
|
|
12
|
-
fComponentsStore;
|
|
13
|
-
fMediator;
|
|
14
|
-
constructor(fComponentsStore, fMediator) {
|
|
15
|
-
this.fComponentsStore = fComponentsStore;
|
|
16
|
-
this.fMediator = fMediator;
|
|
17
|
-
}
|
|
18
|
-
handle(request) {
|
|
19
|
-
let output = this.fComponentsStore.fOutputs.find((x) => x.id === request.fOutputId);
|
|
20
|
-
if (!output) {
|
|
21
|
-
output = this.fComponentsStore.fOutlets.find((x) => x.id === request.fOutputId);
|
|
22
|
-
}
|
|
23
|
-
if (!output) {
|
|
24
|
-
throw OutputNotFound(request.fOutputId);
|
|
25
|
-
}
|
|
26
|
-
const result = this.fMediator.send(new GetElementRectInFlowRequest(output.hostElement));
|
|
27
|
-
return new GetOutputRectInFlowResponse(result, output.fConnectableSide);
|
|
28
|
-
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetOutputRectInFlowExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetOutputRectInFlowExecution });
|
|
31
|
-
};
|
|
32
|
-
GetOutputRectInFlowExecution = __decorate([
|
|
33
|
-
FExecutionRegister(GetOutputRectInFlowRequest)
|
|
34
|
-
], GetOutputRectInFlowExecution);
|
|
35
|
-
export { GetOutputRectInFlowExecution };
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetOutputRectInFlowExecution, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FFlowMediator }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cvZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBS25FLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBRzNCO0lBQ0E7SUFGWixZQUNZLGdCQUFrQyxFQUNsQyxTQUF3QjtRQUR4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFFcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFtQztRQUUvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFcEYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZSxJQUFJLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQzt1R0F0QlUsNEJBQTRCOzJHQUE1Qiw0QkFBNEI7O0FBQTVCLDRCQUE0QjtJQUR4QyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQztHQUNsQyw0QkFBNEIsQ0F1QnhDOzsyRkF2QlksNEJBQTRCO2tCQUZ4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGRmxvd01lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QgfSBmcm9tICcuL2dldC1vdXRwdXQtcmVjdC1pbi1mbG93LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2UgfSBmcm9tICcuL2dldC1vdXRwdXQtcmVjdC1pbi1mbG93LXJlc3BvbnNlJztcbmltcG9ydCB7IE91dHB1dE5vdEZvdW5kIH0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uL2dldC1lbGVtZW50LXJlY3QtaW4tZmxvdyc7XG5pbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICcuLi9pbnRlcnNlY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRPdXRwdXRSZWN0SW5GbG93UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRPdXRwdXRSZWN0SW5GbG93RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRPdXRwdXRSZWN0SW5GbG93UmVxdWVzdCwgR2V0T3V0cHV0UmVjdEluRmxvd1Jlc3BvbnNlPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0KTogR2V0T3V0cHV0UmVjdEluRmxvd1Jlc3BvbnNlIHtcblxuICAgIGxldCBvdXRwdXQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gcmVxdWVzdC5mT3V0cHV0SWQpO1xuXG4gICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgIG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0bGV0cy5maW5kKCh4KSA9PiB4LmlkID09PSByZXF1ZXN0LmZPdXRwdXRJZCk7XG4gICAgfVxuXG4gICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgIHRocm93IE91dHB1dE5vdEZvdW5kKHJlcXVlc3QuZk91dHB1dElkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSb3VuZGVkUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdChvdXRwdXQuaG9zdEVsZW1lbnQpKTtcbiAgICByZXR1cm4gbmV3IEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZShyZXN1bHQsIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Point } from '@foblex/core';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { GetPositionInFlowRequest } from './get-position-in-flow-request';
|
|
5
|
-
import { FExecutionRegister } from '../../infrastructure';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../f-storage";
|
|
8
|
-
let GetPositionInFlowExecution = class GetPositionInFlowExecution {
|
|
9
|
-
fComponentsStore;
|
|
10
|
-
get transform() {
|
|
11
|
-
return this.fComponentsStore.transform;
|
|
12
|
-
}
|
|
13
|
-
get flowHost() {
|
|
14
|
-
return this.fComponentsStore.flowHost;
|
|
15
|
-
}
|
|
16
|
-
constructor(fComponentsStore) {
|
|
17
|
-
this.fComponentsStore = fComponentsStore;
|
|
18
|
-
}
|
|
19
|
-
handle(request) {
|
|
20
|
-
return Point.fromPoint(request.position).elementTransform(this.flowHost)
|
|
21
|
-
.sub(this.transform.scaledPosition).sub(this.transform.position).div(this.transform.scale);
|
|
22
|
-
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution });
|
|
25
|
-
};
|
|
26
|
-
GetPositionInFlowExecution = __decorate([
|
|
27
|
-
FExecutionRegister(GetPositionInFlowRequest)
|
|
28
|
-
], GetPositionInFlowExecution);
|
|
29
|
-
export { GetPositionInFlowExecution };
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution, decorators: [{
|
|
31
|
-
type: Injectable
|
|
32
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvc2l0aW9uLWluLWZsb3cuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LXBvc2l0aW9uLWluLWZsb3cvZ2V0LXBvc2l0aW9uLWluLWZsb3cuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQXFDLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDOzs7QUFJL0QsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFXM0I7SUFUVixJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUNVLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTVDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBaUM7UUFDN0MsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3JFLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9GLENBQUM7dUdBbEJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBbUJ0Qzs7MkZBbkJZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUG9pbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0UG9zaXRpb25JbkZsb3dSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtcG9zaXRpb24taW4tZmxvdy1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldFBvc2l0aW9uSW5GbG93UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRQb3NpdGlvbkluRmxvd0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0UG9zaXRpb25JbkZsb3dSZXF1ZXN0LCBJUG9pbnQ+IHtcblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZsb3dIb3N0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0UG9zaXRpb25JbkZsb3dSZXF1ZXN0KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QucG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5mbG93SG9zdClcbiAgICAgIC5zdWIodGhpcy50cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pLnN1Yih0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbikuZGl2KHRoaXMudHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { RectExtensions } from '@foblex/core';
|
|
3
|
-
import { GetScaledNodeRectsWithFlowPositionRequest } from './get-scaled-node-rects-with-flow-position.request';
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { FExecutionRegister } from '../../infrastructure';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../f-storage";
|
|
8
|
-
let GetScaledNodeRectsWithFlowPositionExecution = class GetScaledNodeRectsWithFlowPositionExecution {
|
|
9
|
-
fComponentsStore;
|
|
10
|
-
constructor(fComponentsStore) {
|
|
11
|
-
this.fComponentsStore = fComponentsStore;
|
|
12
|
-
}
|
|
13
|
-
handle(request) {
|
|
14
|
-
return RectExtensions.union(this.getNodesRects());
|
|
15
|
-
}
|
|
16
|
-
getNodesRects() {
|
|
17
|
-
return this.getNodes().map((x) => {
|
|
18
|
-
const rect = RectExtensions.fromElement(x.hostElement);
|
|
19
|
-
return RectExtensions.initialize(x.position.x, x.position.y, rect.width, rect.height);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
getNodes() {
|
|
23
|
-
return this.fComponentsStore.fNodes;
|
|
24
|
-
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution });
|
|
27
|
-
};
|
|
28
|
-
GetScaledNodeRectsWithFlowPositionExecution = __decorate([
|
|
29
|
-
FExecutionRegister(GetScaledNodeRectsWithFlowPositionRequest)
|
|
30
|
-
], GetScaledNodeRectsWithFlowPositionExecution);
|
|
31
|
-
export { GetScaledNodeRectsWithFlowPositionExecution };
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution, decorators: [{
|
|
33
|
-
type: Injectable
|
|
34
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNjYWxlZC1ub2RlLXJlY3RzLXdpdGgtZmxvdy1wb3NpdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtc2NhbGVkLW5vZGUtcmVjdHMtd2l0aC1mbG93LXBvc2l0aW9uL2dldC1zY2FsZWQtbm9kZS1yZWN0cy13aXRoLWZsb3ctcG9zaXRpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUsvRCxJQUFNLDJDQUEyQyxHQUFqRCxNQUFNLDJDQUEyQztJQUc1QztJQURWLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFrRDtRQUM5RCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQzt1R0FwQlUsMkNBQTJDOzJHQUEzQywyQ0FBMkM7O0FBQTNDLDJDQUEyQztJQUR2RCxrQkFBa0IsQ0FBQyx5Q0FBeUMsQ0FBQztHQUNqRCwyQ0FBMkMsQ0FxQnZEOzsyRkFyQlksMkNBQTJDO2tCQUZ2RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEdldFNjYWxlZE5vZGVSZWN0c1dpdGhGbG93UG9zaXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9nZXQtc2NhbGVkLW5vZGUtcmVjdHMtd2l0aC1mbG93LXBvc2l0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldFNjYWxlZE5vZGVSZWN0c1dpdGhGbG93UG9zaXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldFNjYWxlZE5vZGVSZWN0c1dpdGhGbG93UG9zaXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldFNjYWxlZE5vZGVSZWN0c1dpdGhGbG93UG9zaXRpb25SZXF1ZXN0LCBJUmVjdCB8IG51bGw+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXRTY2FsZWROb2RlUmVjdHNXaXRoRmxvd1Bvc2l0aW9uUmVxdWVzdCk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLnVuaW9uKHRoaXMuZ2V0Tm9kZXNSZWN0cygpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXNSZWN0cygpOiBJUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXROb2RlcygpLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHguaG9zdEVsZW1lbnQpO1xuICAgICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoeC5wb3NpdGlvbi54LCB4LnBvc2l0aW9uLnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { GetSelectionRequest } from './get-selection.request';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { FExecutionRegister } from '../../infrastructure';
|
|
5
|
-
import { FSelectionChangeEvent } from '../../f-draggable';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../f-draggable";
|
|
8
|
-
let GetSelectionExecution = class GetSelectionExecution {
|
|
9
|
-
fDraggableDataContext;
|
|
10
|
-
constructor(fDraggableDataContext) {
|
|
11
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
12
|
-
}
|
|
13
|
-
handle() {
|
|
14
|
-
let selectedNodes = [];
|
|
15
|
-
let selectedConnections = [];
|
|
16
|
-
this.fDraggableDataContext.selectedItems.forEach((x) => {
|
|
17
|
-
if (x.hostElement.classList.contains('f-node')) {
|
|
18
|
-
selectedNodes.push(x.hostElement.dataset['fNodeId']);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
selectedConnections.push(x.hostElement.id);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return new FSelectionChangeEvent(selectedNodes, selectedConnections);
|
|
25
|
-
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution });
|
|
28
|
-
};
|
|
29
|
-
GetSelectionExecution = __decorate([
|
|
30
|
-
FExecutionRegister(GetSelectionRequest)
|
|
31
|
-
], GetSelectionExecution);
|
|
32
|
-
export { GetSelectionExecution };
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtc2VsZWN0aW9uL2dldC1zZWxlY3Rpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBeUIscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSTFFLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBR3RCO0lBRFYsWUFDVSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTTtRQUVYLElBQUksYUFBYSxHQUFhLEVBQUUsQ0FBQztRQUNqQyxJQUFJLG1CQUFtQixHQUFhLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFFLENBQUMsQ0FBQTtZQUN2RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLHFCQUFxQixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBckJVLHFCQUFxQjsyR0FBckIscUJBQXFCOztBQUFyQixxQkFBcUI7SUFEakMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7R0FDM0IscUJBQXFCLENBc0JqQzs7MkZBdEJZLHFCQUFxQjtrQkFGakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2dldC1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRTZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldFNlbGVjdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0U2VsZWN0aW9uUmVxdWVzdCwgRlNlbGVjdGlvbkNoYW5nZUV2ZW50PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKCk6IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG5cbiAgICBsZXQgc2VsZWN0ZWROb2Rlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgc2VsZWN0ZWRDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKHguaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLW5vZGUnKSkge1xuICAgICAgICBzZWxlY3RlZE5vZGVzLnB1c2goeC5ob3N0RWxlbWVudC5kYXRhc2V0WydmTm9kZUlkJ10hKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0aW9ucy5wdXNoKHguaG9zdEVsZW1lbnQuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQoc2VsZWN0ZWROb2Rlcywgc2VsZWN0ZWRDb25uZWN0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export function getValueFromDataAttr(element, attr, cls) {
|
|
2
|
-
return getClosestTarget(element, cls).dataset[attr];
|
|
3
|
-
}
|
|
4
|
-
function getClosestTarget(element, cls) {
|
|
5
|
-
return element.closest(cls);
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxPQUFvQixFQUFFLElBQVksRUFBRSxHQUFXO0lBQ3JGLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQU0sQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFpQyxFQUFFLEdBQVc7SUFDdEUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlRnJvbURhdGFBdHRyPFQ+KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhdHRyOiBzdHJpbmcsIGNsczogc3RyaW5nKTogVCB7XG4gIHJldHVybiBnZXRDbG9zZXN0VGFyZ2V0KGVsZW1lbnQsIGNscykuZGF0YXNldFthdHRyXSBhcyBUO1xufVxuXG5mdW5jdGlvbiBnZXRDbG9zZXN0VGFyZ2V0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgY2xzOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50LmNsb3Nlc3QoY2xzKSBhcyBIVE1MRWxlbWVudDtcbn1cbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Arc, Line } from '@foblex/core';
|
|
2
|
-
import { EFConnectorShape } from './e-f-connector-shape';
|
|
3
|
-
export class FConnectorShapeExtensions {
|
|
4
|
-
static getSegments(shape) {
|
|
5
|
-
let result = [];
|
|
6
|
-
switch (shape.type) {
|
|
7
|
-
case EFConnectorShape.ROUNDED_RECT:
|
|
8
|
-
result = this.parseRect(shape);
|
|
9
|
-
break;
|
|
10
|
-
default:
|
|
11
|
-
throw new Error(`Unknown connector shape type: ${shape.type}`);
|
|
12
|
-
}
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Parses the rounded rectangle into its constituent segments (arcs and lines).
|
|
17
|
-
* @param rect - The rounded rectangle to parse.
|
|
18
|
-
* @returns An array of arcs and lines representing the rectangle.
|
|
19
|
-
*/
|
|
20
|
-
static parseRect(rect) {
|
|
21
|
-
const degree90 = Math.PI * 0.5;
|
|
22
|
-
const x0 = rect.x;
|
|
23
|
-
const y0 = rect.y;
|
|
24
|
-
const x1 = rect.x + rect.width;
|
|
25
|
-
const y1 = rect.y + rect.height;
|
|
26
|
-
const topLeftX = rect.x + rect.radius1;
|
|
27
|
-
const topLeftY = rect.y + rect.radius1;
|
|
28
|
-
const topRightX = rect.x + rect.width - rect.radius2;
|
|
29
|
-
const topRightY = rect.y + rect.radius2;
|
|
30
|
-
const bottomRightX = rect.x + rect.width - rect.radius3;
|
|
31
|
-
const bottomRightY = rect.y + rect.height - rect.radius3;
|
|
32
|
-
const bottomLeftX = rect.x + rect.radius4;
|
|
33
|
-
const bottomLeftY = rect.y + rect.height - rect.radius4;
|
|
34
|
-
return [
|
|
35
|
-
new Arc({ x: topLeftX, y: topLeftY }, rect.radius1, rect.radius1, 2 * degree90, 3 * degree90),
|
|
36
|
-
new Line({ x: topLeftX, y: y0 }, { x: topRightX, y: y0 }),
|
|
37
|
-
new Arc({ x: topRightX, y: topRightY }, rect.radius2, rect.radius2, 3 * degree90, 4 * degree90),
|
|
38
|
-
new Line({ x: x1, y: topRightY }, { x: x1, y: bottomRightY }),
|
|
39
|
-
new Arc({ x: bottomRightX, y: bottomRightY }, rect.radius3, rect.radius3, 0, degree90),
|
|
40
|
-
new Line({ x: bottomRightX, y: y1 }, { x: bottomLeftX, y: y1 }),
|
|
41
|
-
new Arc({ x: bottomLeftX, y: bottomLeftY }, rect.radius4, rect.radius4, degree90, 2 * degree90),
|
|
42
|
-
new Line({ x: x0, y: bottomLeftY }, { x: x0, y: topLeftY }),
|
|
43
|
-
];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQU8seUJBQXlCO0lBRTdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBc0I7UUFDOUMsSUFBSSxNQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixLQUFLLGdCQUFnQixDQUFDLFlBQVk7Z0JBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQXFCLENBQUMsQ0FBQztnQkFDL0MsTUFBTTtZQUNSO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWtDLEtBQUssQ0FBQyxJQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBa0I7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFFL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXhELE9BQU87WUFDTCxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDN0YsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3pELElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUMvRixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDN0QsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQztZQUN0RixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDL0QsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDL0YsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1NBQzVELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuL2ktY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJy4vcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IEFyYywgTGluZSB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcblxuZXhwb3J0IGNsYXNzIEZDb25uZWN0b3JTaGFwZUV4dGVuc2lvbnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0U2VnbWVudHMoc2hhcGU6IElDb25uZWN0b3JTaGFwZSk6IChBcmMgfCBMaW5lKVtdIHtcbiAgICBsZXQgcmVzdWx0OiAoQXJjIHwgTGluZSlbXSA9IFtdO1xuICAgIHN3aXRjaCAoc2hhcGUudHlwZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZVJlY3Qoc2hhcGUgYXMgSVJvdW5kZWRSZWN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29ubmVjdG9yIHNoYXBlIHR5cGU6ICR7IHNoYXBlLnR5cGUgfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyB0aGUgcm91bmRlZCByZWN0YW5nbGUgaW50byBpdHMgY29uc3RpdHVlbnQgc2VnbWVudHMgKGFyY3MgYW5kIGxpbmVzKS5cbiAgICogQHBhcmFtIHJlY3QgLSBUaGUgcm91bmRlZCByZWN0YW5nbGUgdG8gcGFyc2UuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFyY3MgYW5kIGxpbmVzIHJlcHJlc2VudGluZyB0aGUgcmVjdGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcGFyc2VSZWN0KHJlY3Q6IElSb3VuZGVkUmVjdCk6IChBcmMgfCBMaW5lKVtdIHtcbiAgICBjb25zdCBkZWdyZWU5MCA9IE1hdGguUEkgKiAwLjU7XG5cbiAgICBjb25zdCB4MCA9IHJlY3QueDtcbiAgICBjb25zdCB5MCA9IHJlY3QueTtcbiAgICBjb25zdCB4MSA9IHJlY3QueCArIHJlY3Qud2lkdGg7XG4gICAgY29uc3QgeTEgPSByZWN0LnkgKyByZWN0LmhlaWdodDtcblxuICAgIGNvbnN0IHRvcExlZnRYID0gcmVjdC54ICsgcmVjdC5yYWRpdXMxO1xuICAgIGNvbnN0IHRvcExlZnRZID0gcmVjdC55ICsgcmVjdC5yYWRpdXMxO1xuICAgIGNvbnN0IHRvcFJpZ2h0WCA9IHJlY3QueCArIHJlY3Qud2lkdGggLSByZWN0LnJhZGl1czI7XG4gICAgY29uc3QgdG9wUmlnaHRZID0gcmVjdC55ICsgcmVjdC5yYWRpdXMyO1xuICAgIGNvbnN0IGJvdHRvbVJpZ2h0WCA9IHJlY3QueCArIHJlY3Qud2lkdGggLSByZWN0LnJhZGl1czM7XG4gICAgY29uc3QgYm90dG9tUmlnaHRZID0gcmVjdC55ICsgcmVjdC5oZWlnaHQgLSByZWN0LnJhZGl1czM7XG4gICAgY29uc3QgYm90dG9tTGVmdFggPSByZWN0LnggKyByZWN0LnJhZGl1czQ7XG4gICAgY29uc3QgYm90dG9tTGVmdFkgPSByZWN0LnkgKyByZWN0LmhlaWdodCAtIHJlY3QucmFkaXVzNDtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgQXJjKHsgeDogdG9wTGVmdFgsIHk6IHRvcExlZnRZIH0sIHJlY3QucmFkaXVzMSwgcmVjdC5yYWRpdXMxLCAyICogZGVncmVlOTAsIDMgKiBkZWdyZWU5MCksXG4gICAgICBuZXcgTGluZSh7IHg6IHRvcExlZnRYLCB5OiB5MCB9LCB7IHg6IHRvcFJpZ2h0WCwgeTogeTAgfSksXG4gICAgICBuZXcgQXJjKHsgeDogdG9wUmlnaHRYLCB5OiB0b3BSaWdodFkgfSwgcmVjdC5yYWRpdXMyLCByZWN0LnJhZGl1czIsIDMgKiBkZWdyZWU5MCwgNCAqIGRlZ3JlZTkwKSxcbiAgICAgIG5ldyBMaW5lKHsgeDogeDEsIHk6IHRvcFJpZ2h0WSB9LCB7IHg6IHgxLCB5OiBib3R0b21SaWdodFkgfSksXG4gICAgICBuZXcgQXJjKHsgeDogYm90dG9tUmlnaHRYLCB5OiBib3R0b21SaWdodFkgfSwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czMsIDAsIGRlZ3JlZTkwKSxcbiAgICAgIG5ldyBMaW5lKHsgeDogYm90dG9tUmlnaHRYLCB5OiB5MSB9LCB7IHg6IGJvdHRvbUxlZnRYLCB5OiB5MSB9KSxcbiAgICAgIG5ldyBBcmMoeyB4OiBib3R0b21MZWZ0WCwgeTogYm90dG9tTGVmdFkgfSwgcmVjdC5yYWRpdXM0LCByZWN0LnJhZGl1czQsIGRlZ3JlZTkwLCAyICogZGVncmVlOTApLFxuICAgICAgbmV3IExpbmUoeyB4OiB4MCwgeTogYm90dG9tTGVmdFkgfSwgeyB4OiB4MCwgeTogdG9wTGVmdFkgfSksXG4gICAgXTtcbiAgfVxufVxuIl19
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Arc, Line, PointExtensions, VectorExtensions } from '@foblex/core';
|
|
2
|
-
import { FConnectorShapeExtensions } from './f-connector-shape.extensions';
|
|
3
|
-
/**
|
|
4
|
-
* The IntersectionFinder class is designed to find intersection points between
|
|
5
|
-
* line segments and various geometric shapes. Currently, it supports rectangles,
|
|
6
|
-
* circles, and ellipses. In the future, support for additional shapes will be added.
|
|
7
|
-
*/
|
|
8
|
-
export class IntersectionFinder {
|
|
9
|
-
/**
|
|
10
|
-
* Finds the guaranteed intersection points between a line segment and a rounded rectangle.
|
|
11
|
-
* @param from - Starting point of the line segment.
|
|
12
|
-
* @param to - Ending point of the line segment.
|
|
13
|
-
* @param shape - The shape to check for intersections.
|
|
14
|
-
* @returns An array of intersection points.
|
|
15
|
-
*/
|
|
16
|
-
static getIntersections(from, to, shape) {
|
|
17
|
-
const segments = FConnectorShapeExtensions.getSegments(shape);
|
|
18
|
-
for (const segment of segments) {
|
|
19
|
-
if (segment instanceof Arc) {
|
|
20
|
-
const intersections = this.intersectArcWithLine(segment, from, to);
|
|
21
|
-
if (intersections.length > 0) {
|
|
22
|
-
return intersections;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else if (segment instanceof Line) {
|
|
26
|
-
const intersection = this.intersectLineSegments(from, to, segment.point1, segment.point2);
|
|
27
|
-
if (intersection) {
|
|
28
|
-
return [intersection];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Finds the intersection points between an arc and a line segment.
|
|
36
|
-
* @param arc - The arc to check for intersections.
|
|
37
|
-
* @param from - Starting point of the line segment.
|
|
38
|
-
* @param to - Ending point of the line segment.
|
|
39
|
-
* @returns An array of intersection points.
|
|
40
|
-
*/
|
|
41
|
-
static intersectArcWithLine(arc, from, to) {
|
|
42
|
-
return this.filterPointsWithinArc(this.findEllipseLineIntersections(arc.center, arc.radiusX, arc.radiusY, from, to), arc);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Finds the intersection point between two line segments.
|
|
46
|
-
* @param p1 - Starting point of the first line segment.
|
|
47
|
-
* @param p2 - Ending point of the first line segment.
|
|
48
|
-
* @param p3 - Starting point of the second line segment.
|
|
49
|
-
* @param p4 - Ending point of the second line segment.
|
|
50
|
-
* @returns The intersection point or null if there is no intersection.
|
|
51
|
-
*/
|
|
52
|
-
static intersectLineSegments(p1, p2, p3, p4) {
|
|
53
|
-
const s1_x = p2.x - p1.x;
|
|
54
|
-
const s1_y = p2.y - p1.y;
|
|
55
|
-
const s2_x = p4.x - p3.x;
|
|
56
|
-
const s2_y = p4.y - p3.y;
|
|
57
|
-
const s = (-s1_y * (p1.x - p3.x) + s1_x * (p1.y - p3.y)) / (-s2_x * s1_y + s1_x * s2_y);
|
|
58
|
-
const t = (s2_x * (p1.y - p3.y) - s2_y * (p1.x - p3.x)) / (-s2_x * s1_y + s1_x * s2_y);
|
|
59
|
-
if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {
|
|
60
|
-
return { x: p1.x + (t * s1_x), y: p1.y + (t * s1_y) };
|
|
61
|
-
}
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Filters intersection points to retain only those within the given arc.
|
|
66
|
-
* @param points - The points to filter.
|
|
67
|
-
* @param arc - The arc to check against.
|
|
68
|
-
* @returns An array of points within the arc.
|
|
69
|
-
*/
|
|
70
|
-
static filterPointsWithinArc(points, arc) {
|
|
71
|
-
let { center, startAngle, endAngle } = arc;
|
|
72
|
-
if (points.length === 0) {
|
|
73
|
-
return points;
|
|
74
|
-
}
|
|
75
|
-
if (endAngle < startAngle) {
|
|
76
|
-
[startAngle, endAngle] = [endAngle, startAngle];
|
|
77
|
-
}
|
|
78
|
-
if (startAngle < 0 || endAngle < 0) {
|
|
79
|
-
startAngle += 2.0 * Math.PI;
|
|
80
|
-
endAngle += 2.0 * Math.PI;
|
|
81
|
-
}
|
|
82
|
-
const filteredPoints = [];
|
|
83
|
-
for (const point of points) {
|
|
84
|
-
let angle = this.normalizeAngle(VectorExtensions.angle(VectorExtensions.initialize(1, 0), VectorExtensions.initialize(point.x - center.x, point.y - center.y)));
|
|
85
|
-
if (angle < startAngle) {
|
|
86
|
-
angle += 2.0 * Math.PI;
|
|
87
|
-
}
|
|
88
|
-
if (startAngle <= angle && angle <= endAngle) {
|
|
89
|
-
filteredPoints.push(point);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return filteredPoints;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Normalizes an angle to be within the range 0 to 2π.
|
|
96
|
-
* @param radians - The angle in radians.
|
|
97
|
-
* @returns The normalized angle.
|
|
98
|
-
*/
|
|
99
|
-
static normalizeAngle(radians) {
|
|
100
|
-
const normal = radians % (2.0 * Math.PI);
|
|
101
|
-
return normal < 0.0 ? (normal + (2.0 * Math.PI)) : normal;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Finds the intersection points between an ellipse and a line segment.
|
|
105
|
-
* @param center - Center of the ellipse.
|
|
106
|
-
* @param radiusX - X radius of the ellipse.
|
|
107
|
-
* @param radiusY - Y radius of the ellipse.
|
|
108
|
-
* @param pointA - Starting point of the line segment.
|
|
109
|
-
* @param pointB - Ending point of the line segment.
|
|
110
|
-
* @returns An array of intersection points.
|
|
111
|
-
*/
|
|
112
|
-
static findEllipseLineIntersections(center, radiusX, radiusY, pointA, pointB) {
|
|
113
|
-
const origin = VectorExtensions.initialize(pointA.x, pointA.y);
|
|
114
|
-
const direction = VectorExtensions.fromPoints(pointA, pointB);
|
|
115
|
-
const ellipseCenter = VectorExtensions.initialize(center.x, center.y);
|
|
116
|
-
const diff = VectorExtensions.subtract(origin, ellipseCenter);
|
|
117
|
-
const scaledDir = VectorExtensions.initialize(direction.x / (radiusX * radiusX), direction.y / (radiusY * radiusY));
|
|
118
|
-
const scaledDiff = VectorExtensions.initialize(diff.x / (radiusX * radiusX), diff.y / (radiusY * radiusY));
|
|
119
|
-
const a = VectorExtensions.dotProduct(direction, scaledDir);
|
|
120
|
-
const b = VectorExtensions.dotProduct(direction, scaledDiff);
|
|
121
|
-
const c = VectorExtensions.dotProduct(diff, scaledDiff) - 1.0;
|
|
122
|
-
const discriminant = b * b - a * c;
|
|
123
|
-
return discriminant < 0 ? [] : this.calculateIntersectionPoints(discriminant, a, b, pointA, pointB);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Calculates the intersection points based on the discriminant.
|
|
127
|
-
* @param discriminant - The discriminant value.
|
|
128
|
-
* @param a - Coefficient 'a' in the quadratic equation.
|
|
129
|
-
* @param b - Coefficient 'b' in the quadratic equation.
|
|
130
|
-
* @param pointA - Starting point of the line segment.
|
|
131
|
-
* @param pointB - Ending point of the line segment.
|
|
132
|
-
* @returns An array of intersection points.
|
|
133
|
-
*/
|
|
134
|
-
static calculateIntersectionPoints(discriminant, a, b, pointA, pointB) {
|
|
135
|
-
const points = [];
|
|
136
|
-
if (discriminant > 0) {
|
|
137
|
-
const root = Math.sqrt(discriminant);
|
|
138
|
-
const t1 = (-b - root) / a;
|
|
139
|
-
const t2 = (-b + root) / a;
|
|
140
|
-
if (t1 >= 0 && t1 <= 1) {
|
|
141
|
-
points.push(PointExtensions.interpolatePoints(pointA, pointB, t1));
|
|
142
|
-
}
|
|
143
|
-
if (t2 >= 0 && t2 <= 1) {
|
|
144
|
-
points.push(PointExtensions.interpolatePoints(pointA, pointB, t2));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
const t = -b / a;
|
|
149
|
-
if (t >= 0 && t <= 1) {
|
|
150
|
-
points.push(PointExtensions.interpolatePoints(pointA, pointB, t));
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return points;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLWZpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvaW50ZXJzZWN0aW9uLWZpbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzdFLE1BQU0sUUFBUSxHQUFtQix5QkFBeUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLE9BQU8sWUFBWSxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25FLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxhQUFhLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksT0FBTyxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFFLFlBQVks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QUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmMsIElBcmMsIElQb2ludCwgTGluZSwgUG9pbnRFeHRlbnNpb25zLCBWZWN0b3JFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElDb25uZWN0b3JTaGFwZSB9IGZyb20gJy4vaS1jb25uZWN0b3Itc2hhcGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucyB9IGZyb20gJy4vZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogVGhlIEludGVyc2VjdGlvbkZpbmRlciBjbGFzcyBpcyBkZXNpZ25lZCB0byBmaW5kIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlblxuICogbGluZSBzZWdtZW50cyBhbmQgdmFyaW91cyBnZW9tZXRyaWMgc2hhcGVzLiBDdXJyZW50bHksIGl0IHN1cHBvcnRzIHJlY3RhbmdsZXMsXG4gKiBjaXJjbGVzLCBhbmQgZWxsaXBzZXMuIEluIHRoZSBmdXR1cmUsIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2hhcGVzIHdpbGwgYmUgYWRkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25GaW5kZXIge1xuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZ3VhcmFudGVlZCBpbnRlcnNlY3Rpb24gcG9pbnRzIGJldHdlZW4gYSBsaW5lIHNlZ21lbnQgYW5kIGEgcm91bmRlZCByZWN0YW5nbGUuXG4gICAqIEBwYXJhbSBmcm9tIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHRvIC0gRW5kaW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBzaGFwZSAtIFRoZSBzaGFwZSB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW50ZXJzZWN0aW9ucyhmcm9tOiBJUG9pbnQsIHRvOiBJUG9pbnQsIHNoYXBlOiBJQ29ubmVjdG9yU2hhcGUpOiBJUG9pbnRbXSB7XG4gICAgY29uc3Qgc2VnbWVudHM6IChBcmMgfCBMaW5lKVtdID0gRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucy5nZXRTZWdtZW50cyhzaGFwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2Ygc2VnbWVudHMpIHtcbiAgICAgIGlmIChzZWdtZW50IGluc3RhbmNlb2YgQXJjKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbnMgPSB0aGlzLmludGVyc2VjdEFyY1dpdGhMaW5lKHNlZ21lbnQsIGZyb20sIHRvKTtcbiAgICAgICAgaWYgKGludGVyc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBpbnRlcnNlY3Rpb25zO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNlZ21lbnQgaW5zdGFuY2VvZiBMaW5lKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbiA9IHRoaXMuaW50ZXJzZWN0TGluZVNlZ21lbnRzKGZyb20sIHRvLCBzZWdtZW50LnBvaW50MSwgc2VnbWVudC5wb2ludDIpO1xuICAgICAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIFsgaW50ZXJzZWN0aW9uIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlbiBhbiBhcmMgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gYXJjIC0gVGhlIGFyYyB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHBhcmFtIGZyb20gLSBTdGFydGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gdG8gLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdEFyY1dpdGhMaW5lKGFyYzogSUFyYywgZnJvbTogSVBvaW50LCB0bzogSVBvaW50KTogSVBvaW50W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvaW50c1dpdGhpbkFyYyhcbiAgICAgIHRoaXMuZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhhcmMuY2VudGVyLCBhcmMucmFkaXVzWCwgYXJjLnJhZGl1c1ksIGZyb20sIHRvKSxcbiAgICAgIGFyY1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBiZXR3ZWVuIHR3byBsaW5lIHNlZ21lbnRzLlxuICAgKiBAcGFyYW0gcDEgLSBTdGFydGluZyBwb2ludCBvZiB0aGUgZmlyc3QgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gcDIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGZpcnN0IGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHAzIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNlY29uZCBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwNCAtIEVuZGluZyBwb2ludCBvZiB0aGUgc2Vjb25kIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgVGhlIGludGVyc2VjdGlvbiBwb2ludCBvciBudWxsIGlmIHRoZXJlIGlzIG5vIGludGVyc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdExpbmVTZWdtZW50cyhwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCBwNDogSVBvaW50KTogSVBvaW50IHwgbnVsbCB7XG4gICAgY29uc3QgczFfeCA9IHAyLnggLSBwMS54O1xuICAgIGNvbnN0IHMxX3kgPSBwMi55IC0gcDEueTtcbiAgICBjb25zdCBzMl94ID0gcDQueCAtIHAzLng7XG4gICAgY29uc3QgczJfeSA9IHA0LnkgLSBwMy55O1xuXG4gICAgY29uc3QgcyA9ICgtczFfeSAqIChwMS54IC0gcDMueCkgKyBzMV94ICogKHAxLnkgLSBwMy55KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuICAgIGNvbnN0IHQgPSAoczJfeCAqIChwMS55IC0gcDMueSkgLSBzMl95ICogKHAxLnggLSBwMy54KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuXG4gICAgaWYgKHMgPj0gMCAmJiBzIDw9IDEgJiYgdCA+PSAwICYmIHQgPD0gMSkge1xuICAgICAgcmV0dXJuIHsgeDogcDEueCArICh0ICogczFfeCksIHk6IHAxLnkgKyAodCAqIHMxX3kpIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBpbnRlcnNlY3Rpb24gcG9pbnRzIHRvIHJldGFpbiBvbmx5IHRob3NlIHdpdGhpbiB0aGUgZ2l2ZW4gYXJjLlxuICAgKiBAcGFyYW0gcG9pbnRzIC0gVGhlIHBvaW50cyB0byBmaWx0ZXIuXG4gICAqIEBwYXJhbSBhcmMgLSBUaGUgYXJjIHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBvaW50cyB3aXRoaW4gdGhlIGFyYy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGZpbHRlclBvaW50c1dpdGhpbkFyYyhwb2ludHM6IElQb2ludFtdLCBhcmM6IElBcmMpOiBJUG9pbnRbXSB7XG4gICAgbGV0IHsgY2VudGVyLCBzdGFydEFuZ2xlLCBlbmRBbmdsZSB9ID0gYXJjO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgaWYgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkge1xuICAgICAgWyBzdGFydEFuZ2xlLCBlbmRBbmdsZSBdID0gWyBlbmRBbmdsZSwgc3RhcnRBbmdsZSBdO1xuICAgIH1cblxuICAgIGlmIChzdGFydEFuZ2xlIDwgMCB8fCBlbmRBbmdsZSA8IDApIHtcbiAgICAgIHN0YXJ0QW5nbGUgKz0gMi4wICogTWF0aC5QSTtcbiAgICAgIGVuZEFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50IG9mIHBvaW50cykge1xuICAgICAgbGV0IGFuZ2xlID0gdGhpcy5ub3JtYWxpemVBbmdsZShcbiAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5hbmdsZShcbiAgICAgICAgICBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCksXG4gICAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LnggLSBjZW50ZXIueCwgcG9pbnQueSAtIGNlbnRlci55KVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBpZiAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7XG4gICAgICAgIGFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydEFuZ2xlIDw9IGFuZ2xlICYmIGFuZ2xlIDw9IGVuZEFuZ2xlKSB7XG4gICAgICAgIGZpbHRlcmVkUG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFBvaW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGFuIGFuZ2xlIHRvIGJlIHdpdGhpbiB0aGUgcmFuZ2UgMCB0byAyz4AuXG4gICAqIEBwYXJhbSByYWRpYW5zIC0gVGhlIGFuZ2xlIGluIHJhZGlhbnMuXG4gICAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbm9ybWFsaXplQW5nbGUocmFkaWFuczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3JtYWwgPSByYWRpYW5zICUgKDIuMCAqIE1hdGguUEkpO1xuICAgIHJldHVybiBub3JtYWwgPCAwLjAgPyAobm9ybWFsICsgKDIuMCAqIE1hdGguUEkpKSA6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiZXR3ZWVuIGFuIGVsbGlwc2UgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gY2VudGVyIC0gQ2VudGVyIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWCAtIFggcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWSAtIFkgcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcG9pbnRBIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHBvaW50QiAtIEVuZGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBpbnRlcnNlY3Rpb24gcG9pbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhjZW50ZXI6IElQb2ludCwgcmFkaXVzWDogbnVtYmVyLCByYWRpdXNZOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBvcmlnaW4gPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUocG9pbnRBLngsIHBvaW50QS55KTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBWZWN0b3JFeHRlbnNpb25zLmZyb21Qb2ludHMocG9pbnRBLCBwb2ludEIpO1xuICAgIGNvbnN0IGVsbGlwc2VDZW50ZXIgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoY2VudGVyLngsIGNlbnRlci55KTtcbiAgICBjb25zdCBkaWZmID0gVmVjdG9yRXh0ZW5zaW9ucy5zdWJ0cmFjdChvcmlnaW4sIGVsbGlwc2VDZW50ZXIpO1xuICAgIGNvbnN0IHNjYWxlZERpciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaXJlY3Rpb24ueCAvIChyYWRpdXNYICogcmFkaXVzWCksIGRpcmVjdGlvbi55IC8gKHJhZGl1c1kgKiByYWRpdXNZKSk7XG4gICAgY29uc3Qgc2NhbGVkRGlmZiA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaWZmLnggLyAocmFkaXVzWCAqIHJhZGl1c1gpLCBkaWZmLnkgLyAocmFkaXVzWSAqIHJhZGl1c1kpKTtcblxuICAgIGNvbnN0IGEgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaXIpO1xuICAgIGNvbnN0IGIgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaWZmKTtcbiAgICBjb25zdCBjID0gVmVjdG9yRXh0ZW5zaW9ucy5kb3RQcm9kdWN0KGRpZmYsIHNjYWxlZERpZmYpIC0gMS4wO1xuICAgIGNvbnN0IGRpc2NyaW1pbmFudCA9IGIgKiBiIC0gYSAqIGM7XG5cbiAgICByZXR1cm4gZGlzY3JpbWluYW50IDwgMCA/IFtdIDogdGhpcy5jYWxjdWxhdGVJbnRlcnNlY3Rpb25Qb2ludHMoZGlzY3JpbWluYW50LCBhLCBiLCBwb2ludEEsIHBvaW50Qik7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiYXNlZCBvbiB0aGUgZGlzY3JpbWluYW50LlxuICAgKiBAcGFyYW0gZGlzY3JpbWluYW50IC0gVGhlIGRpc2NyaW1pbmFudCB2YWx1ZS5cbiAgICogQHBhcmFtIGEgLSBDb2VmZmljaWVudCAnYScgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIGIgLSBDb2VmZmljaWVudCAnYicgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIHBvaW50QSAtIFN0YXJ0aW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwb2ludEIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZUludGVyc2VjdGlvblBvaW50cyhkaXNjcmltaW5hbnQ6IG51bWJlciwgYTogbnVtYmVyLCBiOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBwb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBpZiAoZGlzY3JpbWluYW50ID4gMCkge1xuICAgICAgY29uc3Qgcm9vdCA9IE1hdGguc3FydChkaXNjcmltaW5hbnQpO1xuICAgICAgY29uc3QgdDEgPSAoLWIgLSByb290KSAvIGE7XG4gICAgICBjb25zdCB0MiA9ICgtYiArIHJvb3QpIC8gYTtcblxuICAgICAgaWYgKHQxID49IDAgJiYgdDEgPD0gMSkge1xuICAgICAgICBwb2ludHMucHVzaChQb2ludEV4dGVuc2lvbnMuaW50ZXJwb2xhdGVQb2ludHMocG9pbnRBLCBwb2ludEIsIHQxKSk7XG4gICAgICB9XG4gICAgICBpZiAodDIgPj0gMCAmJiB0MiA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdDIpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdCA9IC1iIC8gYTtcbiAgICAgIGlmICh0ID49IDAgJiYgdCA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwb2ludHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Point } from '@foblex/core';
|
|
2
|
-
import { EFConnectorShape } from '../e-f-connector-shape';
|
|
3
|
-
export class RoundedRect {
|
|
4
|
-
x;
|
|
5
|
-
y;
|
|
6
|
-
width;
|
|
7
|
-
height;
|
|
8
|
-
radius1;
|
|
9
|
-
radius2;
|
|
10
|
-
radius3;
|
|
11
|
-
radius4;
|
|
12
|
-
type = EFConnectorShape.ROUNDED_RECT;
|
|
13
|
-
gravityCenter = { x: 0, y: 0 };
|
|
14
|
-
constructor(x = 0, y = 0, width = 0, height = 0, radius1 = 0, radius2 = 0, radius3 = 0, radius4 = 0) {
|
|
15
|
-
this.x = x;
|
|
16
|
-
this.y = y;
|
|
17
|
-
this.width = width;
|
|
18
|
-
this.height = height;
|
|
19
|
-
this.radius1 = radius1;
|
|
20
|
-
this.radius2 = radius2;
|
|
21
|
-
this.radius3 = radius3;
|
|
22
|
-
this.radius4 = radius4;
|
|
23
|
-
this.gravityCenter = this.calculateGravityCenter(this);
|
|
24
|
-
}
|
|
25
|
-
calculateGravityCenter(rect) {
|
|
26
|
-
return new Point(rect.x + rect.width / 2, rect.y + rect.height / 2);
|
|
27
|
-
}
|
|
28
|
-
static fromRect(rect) {
|
|
29
|
-
return new RoundedRect(rect.x, rect.y, rect.width, rect.height);
|
|
30
|
-
}
|
|
31
|
-
static fromRoundedRect(rect) {
|
|
32
|
-
return new RoundedRect(rect.x, rect.y, rect.width, rect.height, rect.radius1, rect.radius2, rect.radius3, rect.radius4);
|
|
33
|
-
}
|
|
34
|
-
static fromElement(element, fBrowser) {
|
|
35
|
-
const { x, y, width, height } = element.getBoundingClientRect();
|
|
36
|
-
return this.setRadiusFromElement(new RoundedRect(x, y, width, height), element, fBrowser);
|
|
37
|
-
}
|
|
38
|
-
static setRadiusFromElement(rect, element, fBrowser) {
|
|
39
|
-
const data = fBrowser.window.getComputedStyle(element);
|
|
40
|
-
rect.radius1 = fBrowser.toPixels(data.borderTopLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
|
|
41
|
-
rect.radius2 = fBrowser.toPixels(data.borderTopRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
|
|
42
|
-
rect.radius3 = fBrowser.toPixels(data.borderBottomRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
|
|
43
|
-
rect.radius4 = fBrowser.toPixels(data.borderBottomLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
|
|
44
|
-
return rect;
|
|
45
|
-
}
|
|
46
|
-
addPoint(point) {
|
|
47
|
-
const copy = RoundedRect.fromRoundedRect(this);
|
|
48
|
-
copy.x += point.x;
|
|
49
|
-
copy.y += point.y;
|
|
50
|
-
copy.gravityCenter = this.calculateGravityCenter(copy);
|
|
51
|
-
return copy;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaW50ZXJzZWN0aW9ucy9yb3VuZGVkLXJlY3Qvcm91bmRlZC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzFELE1BQU0sT0FBTyxXQUFXO0lBT2I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpPLElBQUksR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBRWhFLGFBQWEsR0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRTlDLFlBQ1MsSUFBWSxDQUFDLEVBQ2IsSUFBWSxDQUFDLEVBQ2IsUUFBZ0IsQ0FBQyxFQUNqQixTQUFpQixDQUFDLEVBQ2xCLFVBQWtCLENBQUMsRUFDbkIsVUFBa0IsQ0FBQyxFQUNuQixVQUFrQixDQUFDLEVBQ25CLFVBQWtCLENBQUM7UUFQbkIsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBa0I7UUFDL0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJ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L2ktcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBSb3VuZGVkUmVjdCBpbXBsZW1lbnRzIElSb3VuZGVkUmVjdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGQ29ubmVjdG9yU2hhcGUgPSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDtcblxuICBwdWJsaWMgZ3Jhdml0eUNlbnRlcjogSVBvaW50ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHk6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czE6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czI6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czM6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czQ6IG51bWJlciA9IDBcbiAgKSB7XG4gICAgdGhpcy5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIG5ldyBQb2ludChyZWN0LnggKyByZWN0LndpZHRoIC8gMiwgcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlY3QocmVjdDogSVJlY3QpOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91bmRlZFJlY3QocmVjdDogSVJvdW5kZWRSZWN0KTogUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCByZWN0LnJhZGl1czEsIHJlY3QucmFkaXVzMiwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGZCcm93c2VyOiBCcm93c2VyU2VydmljZSk6IFJvdW5kZWRSZWN0IHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHRoaXMuc2V0UmFkaXVzRnJvbUVsZW1lbnQobmV3IFJvdW5kZWRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpLCBlbGVtZW50LCBmQnJvd3Nlcik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXRSYWRpdXNGcm9tRWxlbWVudChyZWN0OiBSb3VuZGVkUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UpOiBSb3VuZGVkUmVjdCB7XG4gICAgY29uc3QgZGF0YSA9IGZCcm93c2VyLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHJlY3QucmFkaXVzMSA9IGZCcm93c2VyLnRvUGl4ZWxzKGRhdGEuYm9yZGVyVG9wTGVmdFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMyID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJUb3BSaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMzID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXM0ID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzLCBlbGVtZW50LmNsaWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdodCwgZGF0YS5mb250U2l6ZSkgfHwgMDtcbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRQb2ludChwb2ludDogSVBvaW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IGNvcHkgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcyk7XG4gICAgY29weS54ICs9IHBvaW50Lng7XG4gICAgY29weS55ICs9IHBvaW50Lnk7XG4gICAgY29weS5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKGNvcHkpO1xuICAgIHJldHVybiBjb3B5O1xuICB9XG59XG4iXX0=
|