@foblex/flow 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/foblex-flow.mjs +5 -0
- package/esm2022/lib/common-behaviours/change-position.mjs +15 -0
- package/esm2022/lib/common-behaviours/change-zoom/change-zoom.mjs +25 -0
- package/esm2022/lib/common-behaviours/change-zoom/i-can-change-zoom.mjs +2 -0
- package/esm2022/lib/common-behaviours/change-zoom/index.mjs +3 -0
- package/esm2022/lib/common-behaviours/constructor.mjs +2 -0
- package/esm2022/lib/common-behaviours/fit-to-parent/fit-to-parent.mjs +27 -0
- package/esm2022/lib/common-behaviours/fit-to-parent/i-can-fit-to-parent.mjs +2 -0
- package/esm2022/lib/common-behaviours/fit-to-parent/index.mjs +3 -0
- package/esm2022/lib/common-behaviours/index.mjs +6 -0
- package/esm2022/lib/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.mjs +2 -0
- package/esm2022/lib/common-behaviours/one-to-one-centering/index.mjs +3 -0
- package/esm2022/lib/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +24 -0
- package/esm2022/lib/components/f-connection/f-connection-base.mjs +28 -0
- package/esm2022/lib/components/f-connection/f-connection-identifiers.mjs +21 -0
- package/esm2022/lib/components/f-connection/f-connection-text/f-connection-text-path.directive.mjs +38 -0
- package/esm2022/lib/components/f-connection/f-connection-text/f-connection-text.component.mjs +55 -0
- package/esm2022/lib/components/f-connection/f-connection-text/index.mjs +3 -0
- package/esm2022/lib/components/f-connection/f-connection.component.mjs +91 -0
- package/esm2022/lib/components/f-connection/f-connection.module.mjs +47 -0
- package/esm2022/lib/components/f-connection/f-drag-handle/f-connection-drag-handle.component.mjs +30 -0
- package/esm2022/lib/components/f-connection/f-drag-handle/index.mjs +2 -0
- package/esm2022/lib/components/f-connection/f-gradient/f-connection-gradient.component.mjs +59 -0
- package/esm2022/lib/components/f-connection/f-gradient/index.mjs +2 -0
- package/esm2022/lib/components/f-connection/f-path/f-connection-path.component.mjs +55 -0
- package/esm2022/lib/components/f-connection/f-path/index.mjs +2 -0
- package/esm2022/lib/components/f-connection/f-selection/f-connection-selection.component.mjs +34 -0
- package/esm2022/lib/components/f-connection/f-selection/index.mjs +2 -0
- package/esm2022/lib/components/f-connection/f-temp-connection/f-temp-connection.component.mjs +61 -0
- package/esm2022/lib/components/f-connection/f-temp-connection/index.mjs +3 -0
- package/esm2022/lib/components/f-connection/f-temp-connection/temp-connection-input-output-model.mjs +7 -0
- package/esm2022/lib/components/f-connection/get-connection-intersect.mjs +10 -0
- package/esm2022/lib/components/f-connection/i-input-output-model.mjs +2 -0
- package/esm2022/lib/components/f-connection/index.mjs +13 -0
- package/esm2022/lib/components/f-connection/public-api.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-connector-base.mjs +14 -0
- package/esm2022/lib/components/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
- package/esm2022/lib/components/f-connectors/f-node-input/f-node-input.directive.mjs +58 -0
- package/esm2022/lib/components/f-connectors/f-node-input/index.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-input/is-node-input.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-input/public-api.mjs +2 -0
- package/esm2022/lib/components/f-connectors/f-node-outlet/f-node-outlet-base.mjs +22 -0
- package/esm2022/lib/components/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +56 -0
- package/esm2022/lib/components/f-connectors/f-node-outlet/index.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-outlet/public-api.mjs +2 -0
- package/esm2022/lib/components/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
- package/esm2022/lib/components/f-connectors/f-node-output/f-node-output.directive.mjs +54 -0
- package/esm2022/lib/components/f-connectors/f-node-output/index.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-output/is-node-output.mjs +4 -0
- package/esm2022/lib/components/f-connectors/f-node-output/public-api.mjs +2 -0
- package/esm2022/lib/components/f-connectors/f-out-connector-base.mjs +4 -0
- package/esm2022/lib/components/f-connectors/get-element-rect-in-canvas.mjs +8 -0
- package/esm2022/lib/components/f-connectors/index.mjs +7 -0
- package/esm2022/lib/components/f-connectors/public-api.mjs +4 -0
- package/esm2022/lib/components/f-flow/f-flow-base.mjs +54 -0
- package/esm2022/lib/components/f-flow/f-flow.component.mjs +67 -0
- package/esm2022/lib/components/f-flow/index.mjs +3 -0
- package/esm2022/lib/components/f-flow/public-api.mjs +2 -0
- package/esm2022/lib/components/f-node/f-drag-handle/f-drag-handle.directive.mjs +54 -0
- package/esm2022/lib/components/f-node/f-drag-handle/index.mjs +3 -0
- package/esm2022/lib/components/f-node/f-drag-handle/is-drag-handle.mjs +20 -0
- package/esm2022/lib/components/f-node/f-drag-handle/public-api.mjs +2 -0
- package/esm2022/lib/components/f-node/f-foreign-object/f-foreign-object-base.mjs +40 -0
- package/esm2022/lib/components/f-node/f-foreign-object/f-foreign-object.component.mjs +49 -0
- package/esm2022/lib/components/f-node/f-foreign-object/index.mjs +3 -0
- package/esm2022/lib/components/f-node/f-foreign-object/public-api.mjs +2 -0
- package/esm2022/lib/components/f-node/f-node-base.mjs +28 -0
- package/esm2022/lib/components/f-node/f-node.component.mjs +63 -0
- package/esm2022/lib/components/f-node/index.mjs +5 -0
- package/esm2022/lib/components/f-node/public-api.mjs +4 -0
- package/esm2022/lib/components/index.mjs +6 -0
- package/esm2022/lib/components/public-api.mjs +5 -0
- package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.mjs +58 -0
- package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.mjs +6 -0
- package/esm2022/lib/directives/f-connect-if-intersect/connect-if-intersect/index.mjs +3 -0
- package/esm2022/lib/directives/f-connect-if-intersect/f-connect-if-intersect.directive.mjs +41 -0
- package/esm2022/lib/directives/f-connect-if-intersect/index.mjs +3 -0
- package/esm2022/lib/directives/f-connect-if-intersect/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-containers/f-connections-container/f-connections-container-base.mjs +32 -0
- package/esm2022/lib/directives/f-containers/f-connections-container/f-connections-container.component.mjs +30 -0
- package/esm2022/lib/directives/f-containers/f-connections-container/index.mjs +3 -0
- package/esm2022/lib/directives/f-containers/f-connections-container/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-containers/f-items-container/f-items-container-base.mjs +44 -0
- package/esm2022/lib/directives/f-containers/f-items-container/f-items-container.directive.mjs +25 -0
- package/esm2022/lib/directives/f-containers/f-items-container/index.mjs +3 -0
- package/esm2022/lib/directives/f-containers/f-items-container/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-containers/f-nodes-container/f-nodes-container-base.mjs +39 -0
- package/esm2022/lib/directives/f-containers/f-nodes-container/f-nodes-container.component.mjs +25 -0
- package/esm2022/lib/directives/f-containers/f-nodes-container/index.mjs +3 -0
- package/esm2022/lib/directives/f-containers/f-nodes-container/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-containers/index.mjs +4 -0
- package/esm2022/lib/directives/f-containers/public-api.mjs +4 -0
- package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.mjs +24 -0
- package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.mjs +20 -0
- package/esm2022/lib/directives/f-draggable/canvas/canvas-on-pointer-move/index.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/canvas/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.mjs +78 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.mjs +31 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection.event.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.mjs +28 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +20 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/create-connection/index.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +25 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +20 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/index.mjs +5 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +14 -0
- package/esm2022/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/connections/index.mjs +4 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/index.mjs +5 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +9 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.mjs +36 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.mjs +31 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.mjs +23 -0
- package/esm2022/lib/directives/f-draggable/default-drag-handler/default-drag.handler.mjs +11 -0
- package/esm2022/lib/directives/f-draggable/default-drag-handler/index.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/e-draggable-type.mjs +12 -0
- package/esm2022/lib/directives/f-draggable/external-item/create-node.event.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.mjs +28 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.mjs +6 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.mjs +30 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-move/index.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.mjs +26 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/external-item/external-item-on-pointer-up/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/external-item/index.mjs +5 -0
- package/esm2022/lib/directives/f-draggable/f-draggable-base.mjs +103 -0
- package/esm2022/lib/directives/f-draggable/f-draggable.directive.mjs +52 -0
- package/esm2022/lib/directives/f-draggable/f-draggable.module.mjs +49 -0
- package/esm2022/lib/directives/f-draggable/f-draggable.service.mjs +23 -0
- package/esm2022/lib/directives/f-draggable/i-drag-handler.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/i-draggable-item.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/index.mjs +14 -0
- package/esm2022/lib/directives/f-draggable/node/index.mjs +4 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.mjs +9 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.mjs +88 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.mjs +24 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.mjs +24 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.mjs +22 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/index.mjs +5 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.mjs +23 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.mjs +7 -0
- package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.mjs +28 -0
- package/esm2022/lib/directives/f-draggable/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/selection/index.mjs +4 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.mjs +8 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.mjs +60 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-move/index.mjs +2 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.mjs +54 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/index.mjs +3 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.mjs +8 -0
- package/esm2022/lib/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.mjs +22 -0
- package/esm2022/lib/directives/f-external-item/f-external-item-base.mjs +11 -0
- package/esm2022/lib/directives/f-external-item/f-external-item.directive.mjs +44 -0
- package/esm2022/lib/directives/f-external-item/f-external-item.service.mjs +25 -0
- package/esm2022/lib/directives/f-external-item/index.mjs +5 -0
- package/esm2022/lib/directives/f-external-item/is-external-item.mjs +7 -0
- package/esm2022/lib/directives/f-external-item/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.mjs +40 -0
- package/esm2022/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.mjs +40 -0
- package/esm2022/lib/directives/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
- package/esm2022/lib/directives/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
- package/esm2022/lib/directives/f-line-alignment/domain/index.mjs +5 -0
- package/esm2022/lib/directives/f-line-alignment/f-line-alignment.directive.mjs +105 -0
- package/esm2022/lib/directives/f-line-alignment/index.mjs +3 -0
- package/esm2022/lib/directives/f-line-alignment/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-selection/f-selection.directive.mjs +40 -0
- package/esm2022/lib/directives/f-selection/index.mjs +2 -0
- package/esm2022/lib/directives/f-selection/public-api.mjs +2 -0
- package/esm2022/lib/directives/f-zoom/f-zoom-base.mjs +87 -0
- package/esm2022/lib/directives/f-zoom/f-zoom.directive.mjs +57 -0
- package/esm2022/lib/directives/f-zoom/index.mjs +3 -0
- package/esm2022/lib/directives/f-zoom/public-api.mjs +2 -0
- package/esm2022/lib/directives/index.mjs +8 -0
- package/esm2022/lib/directives/public-api.mjs +8 -0
- package/esm2022/lib/f-flow.module.mjs +79 -0
- package/esm2022/lib/i-has-state-changes.mjs +2 -0
- package/esm2022/lib/i-selectable.mjs +2 -0
- package/esm2022/lib/internal/f-backgroud/f-background-base.mjs +25 -0
- package/esm2022/lib/internal/f-backgroud/f-background.directive.mjs +24 -0
- package/esm2022/lib/internal/f-backgroud/index.mjs +3 -0
- package/esm2022/lib/internal/f-canvas/f-canvas-base.mjs +25 -0
- package/esm2022/lib/internal/f-canvas/f-canvas.directive.mjs +19 -0
- package/esm2022/lib/internal/f-canvas/index.mjs +3 -0
- package/esm2022/lib/internal/index.mjs +3 -0
- package/esm2022/lib/public-api.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/fesm2022/foblex-flow.mjs +3055 -0
- package/fesm2022/foblex-flow.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/common-behaviours/change-position.d.ts +9 -0
- package/lib/common-behaviours/change-zoom/change-zoom.d.ts +6 -0
- package/lib/common-behaviours/change-zoom/i-can-change-zoom.d.ts +6 -0
- package/lib/common-behaviours/change-zoom/index.d.ts +2 -0
- package/lib/common-behaviours/constructor.d.ts +2 -0
- package/lib/common-behaviours/fit-to-parent/fit-to-parent.d.ts +6 -0
- package/lib/common-behaviours/fit-to-parent/i-can-fit-to-parent.d.ts +4 -0
- package/lib/common-behaviours/fit-to-parent/index.d.ts +2 -0
- package/lib/common-behaviours/index.d.ts +5 -0
- package/lib/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.d.ts +4 -0
- package/lib/common-behaviours/one-to-one-centering/index.d.ts +2 -0
- package/lib/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +6 -0
- package/lib/components/f-connection/f-connection-base.d.ts +28 -0
- package/lib/components/f-connection/f-connection-identifiers.d.ts +8 -0
- package/lib/components/f-connection/f-connection-text/f-connection-text-path.directive.d.ts +17 -0
- package/lib/components/f-connection/f-connection-text/f-connection-text.component.d.ts +19 -0
- package/lib/components/f-connection/f-connection-text/index.d.ts +2 -0
- package/lib/components/f-connection/f-connection.component.d.ts +33 -0
- package/lib/components/f-connection/f-connection.module.d.ts +15 -0
- package/lib/components/f-connection/f-drag-handle/f-connection-drag-handle.component.d.ts +13 -0
- package/lib/components/f-connection/f-drag-handle/index.d.ts +1 -0
- package/lib/components/f-connection/f-gradient/f-connection-gradient.component.d.ts +21 -0
- package/lib/components/f-connection/f-gradient/index.d.ts +1 -0
- package/lib/components/f-connection/f-path/f-connection-path.component.d.ts +20 -0
- package/lib/components/f-connection/f-path/index.d.ts +1 -0
- package/lib/components/f-connection/f-selection/f-connection-selection.component.d.ts +15 -0
- package/lib/components/f-connection/f-selection/index.d.ts +1 -0
- package/lib/components/f-connection/f-temp-connection/f-temp-connection.component.d.ts +27 -0
- package/lib/components/f-connection/f-temp-connection/index.d.ts +2 -0
- package/lib/components/f-connection/f-temp-connection/temp-connection-input-output-model.d.ts +7 -0
- package/lib/components/f-connection/get-connection-intersect.d.ts +2 -0
- package/lib/components/f-connection/i-input-output-model.d.ts +5 -0
- package/lib/components/f-connection/index.d.ts +12 -0
- package/lib/components/f-connection/public-api.d.ts +3 -0
- package/lib/components/f-connectors/f-connector-base.d.ts +13 -0
- package/lib/components/f-connectors/f-node-input/f-node-input-base.d.ts +11 -0
- package/lib/components/f-connectors/f-node-input/f-node-input.directive.d.ts +17 -0
- package/lib/components/f-connectors/f-node-input/index.d.ts +3 -0
- package/lib/components/f-connectors/f-node-input/is-node-input.d.ts +1 -0
- package/lib/components/f-connectors/f-node-input/public-api.d.ts +1 -0
- package/lib/components/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +12 -0
- package/lib/components/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +17 -0
- package/lib/components/f-connectors/f-node-outlet/index.d.ts +3 -0
- package/lib/components/f-connectors/f-node-outlet/is-node-outlet.d.ts +1 -0
- package/lib/components/f-connectors/f-node-outlet/public-api.d.ts +1 -0
- package/lib/components/f-connectors/f-node-output/f-node-output-base.d.ts +10 -0
- package/lib/components/f-connectors/f-node-output/f-node-output.directive.d.ts +16 -0
- package/lib/components/f-connectors/f-node-output/index.d.ts +3 -0
- package/lib/components/f-connectors/f-node-output/is-node-output.d.ts +1 -0
- package/lib/components/f-connectors/f-node-output/public-api.d.ts +1 -0
- package/lib/components/f-connectors/f-out-connector-base.d.ts +4 -0
- package/lib/components/f-connectors/get-element-rect-in-canvas.d.ts +2 -0
- package/lib/components/f-connectors/index.d.ts +6 -0
- package/lib/components/f-connectors/public-api.d.ts +3 -0
- package/lib/components/f-flow/f-flow-base.d.ts +31 -0
- package/lib/components/f-flow/f-flow.component.d.ts +32 -0
- package/lib/components/f-flow/index.d.ts +2 -0
- package/lib/components/f-flow/public-api.d.ts +1 -0
- package/lib/components/f-node/f-drag-handle/f-drag-handle.directive.d.ts +19 -0
- package/lib/components/f-node/f-drag-handle/index.d.ts +2 -0
- package/lib/components/f-node/f-drag-handle/is-drag-handle.d.ts +1 -0
- package/lib/components/f-node/f-drag-handle/public-api.d.ts +1 -0
- package/lib/components/f-node/f-foreign-object/f-foreign-object-base.d.ts +20 -0
- package/lib/components/f-node/f-foreign-object/f-foreign-object.component.d.ts +16 -0
- package/lib/components/f-node/f-foreign-object/index.d.ts +2 -0
- package/lib/components/f-node/f-foreign-object/public-api.d.ts +1 -0
- package/lib/components/f-node/f-node-base.d.ts +24 -0
- package/lib/components/f-node/f-node.component.d.ts +23 -0
- package/lib/components/f-node/index.d.ts +4 -0
- package/lib/components/f-node/public-api.d.ts +3 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/public-api.d.ts +4 -0
- package/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.handler.d.ts +16 -0
- package/lib/directives/f-connect-if-intersect/connect-if-intersect/connect-if-intersect.request.d.ts +5 -0
- package/lib/directives/f-connect-if-intersect/connect-if-intersect/index.d.ts +2 -0
- package/lib/directives/f-connect-if-intersect/f-connect-if-intersect.directive.d.ts +16 -0
- package/lib/directives/f-connect-if-intersect/index.d.ts +2 -0
- package/lib/directives/f-connect-if-intersect/public-api.d.ts +1 -0
- package/lib/directives/f-containers/f-connections-container/f-connections-container-base.d.ts +18 -0
- package/lib/directives/f-containers/f-connections-container/f-connections-container.component.d.ts +14 -0
- package/lib/directives/f-containers/f-connections-container/index.d.ts +2 -0
- package/lib/directives/f-containers/f-connections-container/public-api.d.ts +1 -0
- package/lib/directives/f-containers/f-items-container/f-items-container-base.d.ts +23 -0
- package/lib/directives/f-containers/f-items-container/f-items-container.directive.d.ts +9 -0
- package/lib/directives/f-containers/f-items-container/index.d.ts +2 -0
- package/lib/directives/f-containers/f-items-container/public-api.d.ts +1 -0
- package/lib/directives/f-containers/f-nodes-container/f-nodes-container-base.d.ts +18 -0
- package/lib/directives/f-containers/f-nodes-container/f-nodes-container.component.d.ts +12 -0
- package/lib/directives/f-containers/f-nodes-container/index.d.ts +2 -0
- package/lib/directives/f-containers/f-nodes-container/public-api.d.ts +1 -0
- package/lib/directives/f-containers/index.d.ts +3 -0
- package/lib/directives/f-containers/public-api.d.ts +3 -0
- package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.handler.d.ts +12 -0
- package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/canvas-on-pointer-down.request.d.ts +5 -0
- package/lib/directives/f-draggable/canvas/canvas-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/canvas/canvas-on-pointer-move/canvas.on-pointer-move.d.ts +13 -0
- package/lib/directives/f-draggable/canvas/canvas-on-pointer-move/index.d.ts +1 -0
- package/lib/directives/f-draggable/canvas/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection-on-pointer-down.request.d.ts +6 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/create-connection.on-pointer-down.d.ts +14 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection-on-pointer-up.request.d.ts +7 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/create-connection.on-pointer-up.d.ts +11 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection-on-pointer-up/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection.event.d.ts +5 -0
- package/lib/directives/f-draggable/connections/create-connection/create-connection.on-pointer-move.d.ts +16 -0
- package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +8 -0
- package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.request.d.ts +5 -0
- package/lib/directives/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/create-connection/index.d.ts +5 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +9 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts +8 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +8 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.request.d.ts +5 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/index.d.ts +4 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +8 -0
- package/lib/directives/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.request.d.ts +5 -0
- package/lib/directives/f-draggable/connections/index.d.ts +3 -0
- package/lib/directives/f-draggable/connections/reassign-connection/index.d.ts +4 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-connection.event.d.ts +7 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection-on-pointer-down.request.d.ts +6 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-down/reassign-connection.on-pointer-down.d.ts +11 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/index.d.ts +1 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-move/reassign-connection.on-pointer-move.d.ts +17 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/index.d.ts +2 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection-on-pointer-up.request.d.ts +7 -0
- package/lib/directives/f-draggable/connections/reassign-connection/reassign-on-pointer-up/reassign-connection.on-pointer-up.d.ts +11 -0
- package/lib/directives/f-draggable/default-drag-handler/default-drag.handler.d.ts +5 -0
- package/lib/directives/f-draggable/default-drag-handler/index.d.ts +1 -0
- package/lib/directives/f-draggable/e-draggable-type.d.ts +10 -0
- package/lib/directives/f-draggable/external-item/create-node.event.d.ts +6 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.handler.d.ts +10 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/external-item-on-pointer-down.request.d.ts +5 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-move/external-item-on-pointer-move.handler.d.ts +17 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-move/index.d.ts +1 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.handler.d.ts +11 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/external-item-on-pointer-up.request.d.ts +7 -0
- package/lib/directives/f-draggable/external-item/external-item-on-pointer-up/index.d.ts +2 -0
- package/lib/directives/f-draggable/external-item/index.d.ts +4 -0
- package/lib/directives/f-draggable/f-draggable-base.d.ts +46 -0
- package/lib/directives/f-draggable/f-draggable.directive.d.ts +22 -0
- package/lib/directives/f-draggable/f-draggable.module.d.ts +11 -0
- package/lib/directives/f-draggable/f-draggable.service.d.ts +13 -0
- package/lib/directives/f-draggable/i-drag-handler.d.ts +9 -0
- package/lib/directives/f-draggable/i-draggable-item.d.ts +8 -0
- package/lib/directives/f-draggable/index.d.ts +13 -0
- package/lib/directives/f-draggable/node/index.d.ts +3 -0
- package/lib/directives/f-draggable/node/node-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/node/node-on-pointer-down/node-on-pointer-down.request.d.ts +9 -0
- package/lib/directives/f-draggable/node/node-on-pointer-down/node.on-pointer-down.d.ts +17 -0
- package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-source.drag-handler.d.ts +15 -0
- package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection-target.drag-handler.d.ts +15 -0
- package/lib/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.d.ts +14 -0
- package/lib/directives/f-draggable/node/node-on-pointer-move/index.d.ts +4 -0
- package/lib/directives/f-draggable/node/node-on-pointer-move/node.on-pointer-move.d.ts +15 -0
- package/lib/directives/f-draggable/node/node-on-pointer-up/index.d.ts +2 -0
- package/lib/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.d.ts +7 -0
- package/lib/directives/f-draggable/node/node-on-pointer-up/node.on-pointer-up.d.ts +11 -0
- package/lib/directives/f-draggable/public-api.d.ts +1 -0
- package/lib/directives/f-draggable/selection/index.d.ts +3 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-down/index.d.ts +2 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-down/selection-on-pointer-down.request.d.ts +8 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-down/selection.on-pointer-down.d.ts +11 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-move/index.d.ts +1 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-move/selection.on-pointer-move.d.ts +19 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-up/index.d.ts +2 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-up/selection-on-pointer-up.request.d.ts +9 -0
- package/lib/directives/f-draggable/selection/selection-on-pointer-up/selection.on-pointer-up.d.ts +8 -0
- package/lib/directives/f-external-item/f-external-item-base.d.ts +11 -0
- package/lib/directives/f-external-item/f-external-item.directive.d.ts +16 -0
- package/lib/directives/f-external-item/f-external-item.service.d.ts +10 -0
- package/lib/directives/f-external-item/index.d.ts +4 -0
- package/lib/directives/f-external-item/is-external-item.d.ts +2 -0
- package/lib/directives/f-external-item/public-api.d.ts +1 -0
- package/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-x.d.ts +3 -0
- package/lib/directives/f-line-alignment/domain/find-nearest-coordinate-by-y.d.ts +3 -0
- package/lib/directives/f-line-alignment/domain/i-line-alignment-result.d.ts +5 -0
- package/lib/directives/f-line-alignment/domain/i-nearest-coordinate-result.d.ts +4 -0
- package/lib/directives/f-line-alignment/domain/index.d.ts +4 -0
- package/lib/directives/f-line-alignment/f-line-alignment.directive.d.ts +25 -0
- package/lib/directives/f-line-alignment/index.d.ts +2 -0
- package/lib/directives/f-line-alignment/public-api.d.ts +1 -0
- package/lib/directives/f-selection/f-selection.directive.d.ts +15 -0
- package/lib/directives/f-selection/index.d.ts +1 -0
- package/lib/directives/f-selection/public-api.d.ts +1 -0
- package/lib/directives/f-zoom/f-zoom-base.d.ts +24 -0
- package/lib/directives/f-zoom/f-zoom.directive.d.ts +15 -0
- package/lib/directives/f-zoom/index.d.ts +2 -0
- package/lib/directives/f-zoom/public-api.d.ts +1 -0
- package/lib/directives/index.d.ts +7 -0
- package/lib/directives/public-api.d.ts +7 -0
- package/lib/f-flow.module.d.ts +21 -0
- package/lib/i-has-state-changes.d.ts +4 -0
- package/lib/i-selectable.d.ts +6 -0
- package/lib/internal/f-backgroud/f-background-base.d.ts +15 -0
- package/lib/internal/f-backgroud/f-background.directive.d.ts +9 -0
- package/lib/internal/f-backgroud/index.d.ts +2 -0
- package/lib/internal/f-canvas/f-canvas-base.d.ts +12 -0
- package/lib/internal/f-canvas/f-canvas.directive.d.ts +8 -0
- package/lib/internal/f-canvas/index.d.ts +2 -0
- package/lib/internal/index.d.ts +2 -0
- package/lib/public-api.d.ts +4 -0
- package/package.json +26 -0
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Point } from '@foblex/core';
|
|
2
|
+
import { isNodeDragHandle } from '../../../../components';
|
|
3
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
4
|
+
import { FConnectionDragHandler, FConnectionSourceDragHandler, FConnectionTargetDragHandler, NodeOnPointerMove } from '../node-on-pointer-move';
|
|
5
|
+
export class NodeOnPointerDown {
|
|
6
|
+
get fConnectionsContainer() {
|
|
7
|
+
return this.fFlow.fConnectionsContainer;
|
|
8
|
+
}
|
|
9
|
+
get fNodesContainer() {
|
|
10
|
+
return this.fFlow.fNodesContainer;
|
|
11
|
+
}
|
|
12
|
+
constructor(fLineAlignment, fFlow, hostElement) {
|
|
13
|
+
this.fLineAlignment = fLineAlignment;
|
|
14
|
+
this.fFlow = fFlow;
|
|
15
|
+
this.hostElement = hostElement;
|
|
16
|
+
}
|
|
17
|
+
handle(payload) {
|
|
18
|
+
let result;
|
|
19
|
+
const node = this.fNodesContainer.findNode(payload.event.targetElement);
|
|
20
|
+
const pointerPositionInCanvas = Point.fromPoint(payload.event.getPosition()).matrixTransform(this.hostElement);
|
|
21
|
+
if (node) {
|
|
22
|
+
if (isNodeDragHandle(payload.event.targetElement)) {
|
|
23
|
+
if (!payload.selectedItems.includes(node) && payload.isMoveCurrentNode) {
|
|
24
|
+
payload.selectedItems.push(node);
|
|
25
|
+
node.select();
|
|
26
|
+
}
|
|
27
|
+
this.fNodesContainer.setNodeToTopLayer(node);
|
|
28
|
+
const itemsToDrag = this.calculateDraggableConnectionsAndNodes(payload);
|
|
29
|
+
const draggedNodes = itemsToDrag.filter((x) => {
|
|
30
|
+
return x.type === EDraggableType.NODE;
|
|
31
|
+
}).map((x) => x.fNode);
|
|
32
|
+
this.fLineAlignment?.initialize(this.fNodesContainer.fNodes.toArray(), draggedNodes);
|
|
33
|
+
result = {
|
|
34
|
+
onPointerDownScale: payload.transform.scale,
|
|
35
|
+
onPointerDownPosition: pointerPositionInCanvas.div(payload.transform.scale),
|
|
36
|
+
draggableItems: itemsToDrag
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
calculateDraggableConnectionsAndNodes(payload) {
|
|
43
|
+
let itemsToDrag = [];
|
|
44
|
+
const selectedNodes = payload.selectedItems.map((x) => {
|
|
45
|
+
return this.fNodesContainer.findNode(x.hostElement);
|
|
46
|
+
}).filter((x) => !!x);
|
|
47
|
+
const nodeDragHandlers = selectedNodes.map((x) => new NodeOnPointerMove(this.fLineAlignment, x));
|
|
48
|
+
itemsToDrag = nodeDragHandlers;
|
|
49
|
+
const allOutputs = selectedNodes.reduce((result, x) => {
|
|
50
|
+
return result.concat(this.getOutputsForNode(x));
|
|
51
|
+
}, []);
|
|
52
|
+
const allInputs = selectedNodes.reduce((result, x) => {
|
|
53
|
+
return result.concat(this.getInputsForNode(x));
|
|
54
|
+
}, []);
|
|
55
|
+
nodeDragHandlers.forEach((nodeHandler) => {
|
|
56
|
+
const outputConnections = this.fConnectionsContainer.findOutgoingConnections(this.getOutputsForNode(nodeHandler.fNode));
|
|
57
|
+
outputConnections.forEach((c) => {
|
|
58
|
+
if (allInputs.includes(c.fromTo.input)) {
|
|
59
|
+
itemsToDrag.push(new FConnectionDragHandler(c, payload.transform, this.hostElement));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
itemsToDrag.push(new FConnectionSourceDragHandler(c, payload.transform, this.hostElement));
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const inputConnections = this.fConnectionsContainer.findIncomingConnections(this.getInputsForNode(nodeHandler.fNode));
|
|
66
|
+
inputConnections.forEach((c) => {
|
|
67
|
+
if (allOutputs.includes(c.fromTo.output)) {
|
|
68
|
+
const index = itemsToDrag.findIndex((x) => x.type === EDraggableType.CONNECTION && x.connection.id === c.id);
|
|
69
|
+
if (index !== -1) {
|
|
70
|
+
itemsToDrag.push(new FConnectionDragHandler(c, payload.transform, this.hostElement));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
itemsToDrag.push(new FConnectionTargetDragHandler(c, payload.transform, this.hostElement));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
//itemsToDrag.push(new NodeOnPointerMove(this.fLineAlignment, x.fNode));
|
|
78
|
+
});
|
|
79
|
+
return itemsToDrag;
|
|
80
|
+
}
|
|
81
|
+
getInputsForNode(node) {
|
|
82
|
+
return this.fFlow.inputs.toArray().filter((x) => node.isContains(x.hostElement));
|
|
83
|
+
}
|
|
84
|
+
getOutputsForNode(node) {
|
|
85
|
+
return this.fFlow.outputs.toArray().filter((x) => node.isContains(x.hostElement));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5vbi1wb2ludGVyLWRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLWRvd24vbm9kZS5vbi1wb2ludGVyLWRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU9yRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFZLGVBQWU7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDWSxjQUFtRCxFQUNuRCxLQUFnQixFQUNoQixXQUEwQjtRQUYxQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUM7UUFDbkQsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtJQUV0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksTUFBZ0MsQ0FBQztRQUVyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvRyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtvQkFDdEUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDZjtnQkFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLElBQUssQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLFdBQVcsR0FBcUIsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUUxRixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzVDLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTlDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUVyRixNQUFNLEdBQUc7b0JBQ1Asa0JBQWtCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLO29CQUMzQyxxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7b0JBQzNFLGNBQWMsRUFBRSxXQUFXO2lCQUM1QixDQUFBO2FBQ0Y7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxxQ0FBcUMsQ0FBQyxPQUFpQztRQUM3RSxJQUFJLFdBQVcsR0FBcUIsRUFBRSxDQUFDO1FBRXZDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBRXJDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakcsV0FBVyxHQUFHLGdCQUFnQixDQUFDO1FBRS9CLE1BQU0sVUFBVSxHQUFzQixhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBeUIsRUFBRSxDQUFZLEVBQUUsRUFBRTtZQUNyRyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsTUFBTSxTQUFTLEdBQXFCLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUF3QixFQUFFLENBQVksRUFBRSxFQUFFO1lBQ2xHLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFUCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN2QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEgsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlCLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTyxDQUFDLEtBQU0sQ0FBQyxFQUFFO29CQUN4QyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQ3RGO3FCQUFNO29CQUNMLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztpQkFDNUY7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0SCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFPLENBQUMsTUFBMEIsQ0FBQyxFQUFFO29CQUM3RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxVQUFVLElBQUssQ0FBNEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDekksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQ2hCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztxQkFDdEY7aUJBQ0Y7cUJBQU07b0JBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2lCQUM1RjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsd0VBQXdFO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQWU7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IE5vZGVPblBvaW50ZXJEb3duUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1vbi1wb2ludGVyLWRvd24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UsIGlzTm9kZURyYWdIYW5kbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IElEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2ktZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2Rlc0NvbnRhaW5lckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbnRhaW5lcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25zQ29udGFpbmVyQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29udGFpbmVycyc7XG5pbXBvcnQgeyBGTm9kZUlucHV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHtcbiAgRkNvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgRkNvbm5lY3Rpb25Tb3VyY2VEcmFnSGFuZGxlcixcbiAgRkNvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlcixcbiAgTm9kZU9uUG9pbnRlck1vdmVcbn0gZnJvbSAnLi4vbm9kZS1vbi1wb2ludGVyLW1vdmUnO1xuaW1wb3J0IHsgRkxpbmVBbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0IGNsYXNzIE5vZGVPblBvaW50ZXJEb3duXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxOb2RlT25Qb2ludGVyRG93blJlcXVlc3QsIElEcmFnSGFuZGxlciB8IHVuZGVmaW5lZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9uc0NvbnRhaW5lcigpOiBGQ29ubmVjdGlvbnNDb250YWluZXJCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5mRmxvdy5mQ29ubmVjdGlvbnNDb250YWluZXI7XG4gIH1cblxuICBwcml2YXRlIGdldCBmTm9kZXNDb250YWluZXIoKTogRk5vZGVzQ29udGFpbmVyQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuZkZsb3cuZk5vZGVzQ29udGFpbmVyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZMaW5lQWxpZ25tZW50OiBGTGluZUFsaWdubWVudERpcmVjdGl2ZSB8IHVuZGVmaW5lZCxcbiAgICAgIHByaXZhdGUgZkZsb3c6IEZGbG93QmFzZSxcbiAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IFNWR1NWR0VsZW1lbnRcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHBheWxvYWQ6IE5vZGVPblBvaW50ZXJEb3duUmVxdWVzdCk6IElEcmFnSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdIYW5kbGVyIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZk5vZGVzQ29udGFpbmVyLmZpbmROb2RlKHBheWxvYWQuZXZlbnQudGFyZ2V0RWxlbWVudCk7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMgPSBQb2ludC5mcm9tUG9pbnQocGF5bG9hZC5ldmVudC5nZXRQb3NpdGlvbigpKS5tYXRyaXhUcmFuc2Zvcm0odGhpcy5ob3N0RWxlbWVudCk7XG5cbiAgICBpZiAobm9kZSkge1xuICAgICAgaWYgKGlzTm9kZURyYWdIYW5kbGUocGF5bG9hZC5ldmVudC50YXJnZXRFbGVtZW50KSkge1xuICAgICAgICBpZiAoIXBheWxvYWQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhub2RlKSAmJiBwYXlsb2FkLmlzTW92ZUN1cnJlbnROb2RlKSB7XG4gICAgICAgICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLnB1c2gobm9kZSk7XG4gICAgICAgICAgbm9kZS5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZOb2Rlc0NvbnRhaW5lci5zZXROb2RlVG9Ub3BMYXllcihub2RlISk7XG4gICAgICAgIGNvbnN0IGl0ZW1zVG9EcmFnOiBJRHJhZ2dhYmxlSXRlbVtdID0gdGhpcy5jYWxjdWxhdGVEcmFnZ2FibGVDb25uZWN0aW9uc0FuZE5vZGVzKHBheWxvYWQpO1xuXG4gICAgICAgIGNvbnN0IGRyYWdnZWROb2RlcyA9IGl0ZW1zVG9EcmFnLmZpbHRlcigoeCkgPT4ge1xuICAgICAgICAgIHJldHVybiB4LnR5cGUgPT09IEVEcmFnZ2FibGVUeXBlLk5PREU7XG4gICAgICAgIH0pLm1hcCgoeCkgPT4gKHggYXMgTm9kZU9uUG9pbnRlck1vdmUpLmZOb2RlKTtcblxuICAgICAgICB0aGlzLmZMaW5lQWxpZ25tZW50Py5pbml0aWFsaXplKHRoaXMuZk5vZGVzQ29udGFpbmVyLmZOb2Rlcy50b0FycmF5KCksIGRyYWdnZWROb2Rlcyk7XG5cbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIG9uUG9pbnRlckRvd25TY2FsZTogcGF5bG9hZC50cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgb25Qb2ludGVyRG93blBvc2l0aW9uOiBwb2ludGVyUG9zaXRpb25JbkNhbnZhcy5kaXYocGF5bG9hZC50cmFuc2Zvcm0uc2NhbGUpLFxuICAgICAgICAgIGRyYWdnYWJsZUl0ZW1zOiBpdGVtc1RvRHJhZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRHJhZ2dhYmxlQ29ubmVjdGlvbnNBbmROb2RlcyhwYXlsb2FkOiBOb2RlT25Qb2ludGVyRG93blJlcXVlc3QpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgaXRlbXNUb0RyYWc6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBwYXlsb2FkLnNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mTm9kZXNDb250YWluZXIuZmluZE5vZGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSkuZmlsdGVyKCh4KSA9PiAhIXgpIGFzIEZOb2RlQmFzZVtdO1xuXG4gICAgY29uc3Qgbm9kZURyYWdIYW5kbGVycyA9IHNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiBuZXcgTm9kZU9uUG9pbnRlck1vdmUodGhpcy5mTGluZUFsaWdubWVudCwgeCkpO1xuICAgIGl0ZW1zVG9EcmFnID0gbm9kZURyYWdIYW5kbGVycztcblxuICAgIGNvbnN0IGFsbE91dHB1dHM6IEZOb2RlT3V0cHV0QmFzZVtdID0gc2VsZWN0ZWROb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVPdXRwdXRCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQodGhpcy5nZXRPdXRwdXRzRm9yTm9kZSh4KSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgYWxsSW5wdXRzOiBGTm9kZUlucHV0QmFzZVtdID0gc2VsZWN0ZWROb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVJbnB1dEJhc2VbXSwgeDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdCh0aGlzLmdldElucHV0c0Zvck5vZGUoeCkpO1xuICAgIH0sIFtdKTtcblxuICAgIG5vZGVEcmFnSGFuZGxlcnMuZm9yRWFjaCgobm9kZUhhbmRsZXIpID0+IHtcbiAgICAgIGNvbnN0IG91dHB1dENvbm5lY3Rpb25zID0gdGhpcy5mQ29ubmVjdGlvbnNDb250YWluZXIuZmluZE91dGdvaW5nQ29ubmVjdGlvbnModGhpcy5nZXRPdXRwdXRzRm9yTm9kZShub2RlSGFuZGxlci5mTm9kZSkpO1xuICAgICAgb3V0cHV0Q29ubmVjdGlvbnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBpZiAoYWxsSW5wdXRzLmluY2x1ZGVzKGMuZnJvbVRvIS5pbnB1dCEpKSB7XG4gICAgICAgICAgaXRlbXNUb0RyYWcucHVzaChuZXcgRkNvbm5lY3Rpb25EcmFnSGFuZGxlcihjLCBwYXlsb2FkLnRyYW5zZm9ybSwgdGhpcy5ob3N0RWxlbWVudCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zVG9EcmFnLnB1c2gobmV3IEZDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIoYywgcGF5bG9hZC50cmFuc2Zvcm0sIHRoaXMuaG9zdEVsZW1lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCBpbnB1dENvbm5lY3Rpb25zID0gdGhpcy5mQ29ubmVjdGlvbnNDb250YWluZXIuZmluZEluY29taW5nQ29ubmVjdGlvbnModGhpcy5nZXRJbnB1dHNGb3JOb2RlKG5vZGVIYW5kbGVyLmZOb2RlKSk7XG4gICAgICBpbnB1dENvbm5lY3Rpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgaWYgKGFsbE91dHB1dHMuaW5jbHVkZXMoYy5mcm9tVG8hLm91dHB1dCEgYXMgRk5vZGVPdXRwdXRCYXNlKSkge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbXNUb0RyYWcuZmluZEluZGV4KCh4KSA9PiB4LnR5cGUgPT09IEVEcmFnZ2FibGVUeXBlLkNPTk5FQ1RJT04gJiYgKHggYXMgRkNvbm5lY3Rpb25EcmFnSGFuZGxlcikuY29ubmVjdGlvbi5pZCA9PT0gYy5pZCk7XG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgaXRlbXNUb0RyYWcucHVzaChuZXcgRkNvbm5lY3Rpb25EcmFnSGFuZGxlcihjLCBwYXlsb2FkLnRyYW5zZm9ybSwgdGhpcy5ob3N0RWxlbWVudCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtc1RvRHJhZy5wdXNoKG5ldyBGQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyKGMsIHBheWxvYWQudHJhbnNmb3JtLCB0aGlzLmhvc3RFbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLy9pdGVtc1RvRHJhZy5wdXNoKG5ldyBOb2RlT25Qb2ludGVyTW92ZSh0aGlzLmZMaW5lQWxpZ25tZW50LCB4LmZOb2RlKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGl0ZW1zVG9EcmFnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZOb2RlSW5wdXRCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZGbG93LmlucHV0cy50b0FycmF5KCkuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGTm9kZU91dHB1dEJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkZsb3cub3V0cHV0cy50b0FycmF5KCkuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RectExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
import { getConnectionIntersect } from '../../../../components/f-connection/get-connection-intersect';
|
|
4
|
+
export class FConnectionSourceDragHandler {
|
|
5
|
+
constructor(connection, canvasTransform, canvasHost) {
|
|
6
|
+
this.connection = connection;
|
|
7
|
+
this.type = EDraggableType.CONNECTION;
|
|
8
|
+
this.onPointerDownFromConnectorRect = RectExtensions.initialize();
|
|
9
|
+
this.onPointerDownToConnectorRect = RectExtensions.initialize();
|
|
10
|
+
this.onPointerDownFromConnectorRect = this.connection.fromTo.output.getElementRectInCanvas(canvasTransform, canvasHost);
|
|
11
|
+
this.onPointerDownToConnectorRect = this.connection.fromTo.input.getElementRectInCanvas(canvasTransform, canvasHost);
|
|
12
|
+
}
|
|
13
|
+
initialize() {
|
|
14
|
+
}
|
|
15
|
+
move(difference) {
|
|
16
|
+
const fromPoint = RectExtensions.addPoint(this.onPointerDownFromConnectorRect, difference);
|
|
17
|
+
const vector = getConnectionIntersect(fromPoint, this.onPointerDownToConnectorRect);
|
|
18
|
+
this.connection.setVector(vector);
|
|
19
|
+
this.connection.redraw();
|
|
20
|
+
}
|
|
21
|
+
complete() {
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXNvdXJjZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLW1vdmUvZi1jb25uZWN0aW9uLXNvdXJjZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXRHLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxVQUE0QyxFQUNwRCxlQUFnQyxFQUNoQyxVQUF5QjtRQUZqQixlQUFVLEdBQVYsVUFBVSxDQUFrQztRQU50QyxTQUFJLEdBQW1CLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFFaEQsbUNBQThCLEdBQVUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BFLGlDQUE0QixHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQU9qRixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6SCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUMsS0FBTSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRU0sVUFBVTtJQUNqQixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRURyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZ2V0Q29ubmVjdGlvbkludGVyc2VjdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZi1jb25uZWN0aW9uL2dldC1jb25uZWN0aW9uLWludGVyc2VjdCc7XG5cbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRHJhZ2dhYmxlVHlwZSA9IEVEcmFnZ2FibGVUeXBlLkNPTk5FQ1RJT047XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlPEZOb2RlT3V0cHV0QmFzZT4sXG4gICAgY2FudmFzVHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwsXG4gICAgY2FudmFzSG9zdDogU1ZHU1ZHRWxlbWVudFxuICApIHtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Gcm9tQ29ubmVjdG9yUmVjdCA9IHRoaXMuY29ubmVjdGlvbi5mcm9tVG8hLm91dHB1dC5nZXRFbGVtZW50UmVjdEluQ2FudmFzKGNhbnZhc1RyYW5zZm9ybSwgY2FudmFzSG9zdCk7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0ID0gdGhpcy5jb25uZWN0aW9uLmZyb21UbyEuaW5wdXQhLmdldEVsZW1lbnRSZWN0SW5DYW52YXMoY2FudmFzVHJhbnNmb3JtLCBjYW52YXNIb3N0KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgZnJvbVBvaW50ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQodGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QsIGRpZmZlcmVuY2UpO1xuICAgIGNvbnN0IHZlY3RvciA9IGdldENvbm5lY3Rpb25JbnRlcnNlY3QoZnJvbVBvaW50LCB0aGlzLm9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3QpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRWZWN0b3IodmVjdG9yKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RectExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
import { getConnectionIntersect } from '../../../../components/f-connection/get-connection-intersect';
|
|
4
|
+
export class FConnectionTargetDragHandler {
|
|
5
|
+
constructor(connection, canvasTransform, canvasHost) {
|
|
6
|
+
this.connection = connection;
|
|
7
|
+
this.type = EDraggableType.CONNECTION;
|
|
8
|
+
this.onPointerDownFromConnectorRect = RectExtensions.initialize();
|
|
9
|
+
this.onPointerDownToConnectorRect = RectExtensions.initialize();
|
|
10
|
+
this.onPointerDownFromConnectorRect = this.connection.fromTo.output.getElementRectInCanvas(canvasTransform, canvasHost);
|
|
11
|
+
this.onPointerDownToConnectorRect = this.connection.fromTo.input.getElementRectInCanvas(canvasTransform, canvasHost);
|
|
12
|
+
}
|
|
13
|
+
initialize() {
|
|
14
|
+
}
|
|
15
|
+
move(difference) {
|
|
16
|
+
const toPoint = RectExtensions.addPoint(this.onPointerDownToConnectorRect, difference);
|
|
17
|
+
const vector = getConnectionIntersect(this.onPointerDownFromConnectorRect, toPoint);
|
|
18
|
+
this.connection.setVector(vector);
|
|
19
|
+
this.connection.redraw();
|
|
20
|
+
}
|
|
21
|
+
complete() {
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRhcmdldC5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLW1vdmUvZi1jb25uZWN0aW9uLXRhcmdldC5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXRHLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxVQUE0QyxFQUNwRCxlQUFnQyxFQUNoQyxVQUF5QjtRQUZqQixlQUFVLEdBQVYsVUFBVSxDQUFrQztRQU50QyxTQUFJLEdBQW1CLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFFaEQsbUNBQThCLEdBQVUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BFLGlDQUE0QixHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQU9qRixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6SCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUMsS0FBTSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRU0sVUFBVTtJQUNqQixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRURyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZ2V0Q29ubmVjdGlvbkludGVyc2VjdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZi1jb25uZWN0aW9uL2dldC1jb25uZWN0aW9uLWludGVyc2VjdCc7XG5cbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRHJhZ2dhYmxlVHlwZSA9IEVEcmFnZ2FibGVUeXBlLkNPTk5FQ1RJT047XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlPEZOb2RlT3V0cHV0QmFzZT4sXG4gICAgY2FudmFzVHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwsXG4gICAgY2FudmFzSG9zdDogU1ZHU1ZHRWxlbWVudFxuICApIHtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Gcm9tQ29ubmVjdG9yUmVjdCA9IHRoaXMuY29ubmVjdGlvbi5mcm9tVG8hLm91dHB1dC5nZXRFbGVtZW50UmVjdEluQ2FudmFzKGNhbnZhc1RyYW5zZm9ybSwgY2FudmFzSG9zdCk7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0ID0gdGhpcy5jb25uZWN0aW9uLmZyb21UbyEuaW5wdXQhLmdldEVsZW1lbnRSZWN0SW5DYW52YXMoY2FudmFzVHJhbnNmb3JtLCBjYW52YXNIb3N0KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgdG9Qb2ludCA9IFJlY3RFeHRlbnNpb25zLmFkZFBvaW50KHRoaXMub25Qb2ludGVyRG93blRvQ29ubmVjdG9yUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgdmVjdG9yID0gZ2V0Q29ubmVjdGlvbkludGVyc2VjdCh0aGlzLm9uUG9pbnRlckRvd25Gcm9tQ29ubmVjdG9yUmVjdCwgdG9Qb2ludCk7XG4gICAgdGhpcy5jb25uZWN0aW9uLnNldFZlY3Rvcih2ZWN0b3IpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgfVxufVxuIl19
|
package/esm2022/lib/directives/f-draggable/node/node-on-pointer-move/f-connection.drag-handler.mjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Point, VectorExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
import { getConnectionIntersect } from '../../../../components/f-connection/get-connection-intersect';
|
|
4
|
+
export class FConnectionDragHandler {
|
|
5
|
+
constructor(connection, canvasTransform, canvasHost) {
|
|
6
|
+
this.connection = connection;
|
|
7
|
+
this.type = EDraggableType.CONNECTION;
|
|
8
|
+
this.onPointerDownVector = VectorExtensions.initialize();
|
|
9
|
+
this.onPointerDownVector = getConnectionIntersect(this.connection.fromTo.output.getElementRectInCanvas(canvasTransform, canvasHost), this.connection.fromTo.input.getElementRectInCanvas(canvasTransform, canvasHost));
|
|
10
|
+
}
|
|
11
|
+
initialize() {
|
|
12
|
+
}
|
|
13
|
+
move(difference) {
|
|
14
|
+
const fromPoint = Point.fromPoint(this.onPointerDownVector.point1).add(difference);
|
|
15
|
+
const toPoint = Point.fromPoint(this.onPointerDownVector.point2).add(difference);
|
|
16
|
+
this.connection.setVector(VectorExtensions.initialize(fromPoint, toPoint));
|
|
17
|
+
this.connection.redraw();
|
|
18
|
+
}
|
|
19
|
+
complete() {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW9uLXBvaW50ZXItbW92ZS9mLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV0RyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ1MsVUFBNEMsRUFDbkQsZUFBZ0MsRUFDaEMsVUFBeUI7UUFGbEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0M7UUFMckMsU0FBSSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFFekMsd0JBQW1CLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFPbkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNCQUFzQixDQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxFQUNsRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU8sQ0FBQyxLQUFNLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUNuRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7SUFDakIsQ0FBQztJQUVNLElBQUksQ0FBQyxVQUFrQjtRQUM1QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJVHJhbnNmb3JtTW9kZWwsIElWZWN0b3IsIFBvaW50LCBWZWN0b3JFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBnZXRDb25uZWN0aW9uSW50ZXJzZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9mLWNvbm5lY3Rpb24vZ2V0LWNvbm5lY3Rpb24taW50ZXJzZWN0JztcblxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBFRHJhZ2dhYmxlVHlwZS5DT05ORUNUSU9OO1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93blZlY3RvcjogSVZlY3RvciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2U8Rk5vZGVPdXRwdXRCYXNlPixcbiAgICBjYW52YXNUcmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCxcbiAgICBjYW52YXNIb3N0OiBTVkdTVkdFbGVtZW50XG4gICkge1xuICAgIHRoaXMub25Qb2ludGVyRG93blZlY3RvciA9IGdldENvbm5lY3Rpb25JbnRlcnNlY3QoXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZnJvbVRvIS5vdXRwdXQuZ2V0RWxlbWVudFJlY3RJbkNhbnZhcyhjYW52YXNUcmFuc2Zvcm0sIGNhbnZhc0hvc3QpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZyb21UbyEuaW5wdXQhLmdldEVsZW1lbnRSZWN0SW5DYW52YXMoY2FudmFzVHJhbnNmb3JtLCBjYW52YXNIb3N0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21Qb2ludCA9IFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25WZWN0b3IucG9pbnQxKS5hZGQoZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgdG9Qb2ludCA9IFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25WZWN0b3IucG9pbnQyKS5hZGQoZGlmZmVyZW5jZSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0VmVjdG9yKFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShmcm9tUG9pbnQsIHRvUG9pbnQpKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './f-connection.drag-handler';
|
|
2
|
+
export * from './f-connection-source.drag-handler';
|
|
3
|
+
export * from './f-connection-target.drag-handler';
|
|
4
|
+
export * from './node.on-pointer-move';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLW1vdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uLXRhcmdldC5kcmFnLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLm9uLXBvaW50ZXItbW92ZSc7XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Point, PointExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
export class NodeOnPointerMove {
|
|
4
|
+
constructor(fLineAlignment, fNode) {
|
|
5
|
+
this.fLineAlignment = fLineAlignment;
|
|
6
|
+
this.fNode = fNode;
|
|
7
|
+
this.type = EDraggableType.NODE;
|
|
8
|
+
this.onPointerDownPosition = PointExtensions.initialize();
|
|
9
|
+
this.onPointerDownPosition = this.fNode.position;
|
|
10
|
+
}
|
|
11
|
+
initialize() {
|
|
12
|
+
}
|
|
13
|
+
move(difference) {
|
|
14
|
+
const position = Point.fromPoint(this.onPointerDownPosition).add(difference);
|
|
15
|
+
this.fNode.updatePosition(position);
|
|
16
|
+
this.fNode.redraw();
|
|
17
|
+
this.fLineAlignment?.handle(difference);
|
|
18
|
+
}
|
|
19
|
+
complete() {
|
|
20
|
+
this.fNode.completeDrag();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5vbi1wb2ludGVyLW1vdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLW1vdmUvbm9kZS5vbi1wb2ludGVyLW1vdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXhELE1BQU0sT0FBTyxpQkFBaUI7SUFNNUIsWUFDVSxjQUFtRCxFQUNwRCxLQUFnQjtRQURmLG1CQUFjLEdBQWQsY0FBYyxDQUFxQztRQUNwRCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBTlQsU0FBSSxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO1FBRW5ELDBCQUFxQixHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQU1uRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVNLFVBQVU7SUFDakIsQ0FBQztJQUVNLElBQUksQ0FBQyxVQUFrQjtRQUM1QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEVEcmFnZ2FibGVUeXBlIH0gZnJvbSAnLi4vLi4vZS1kcmFnZ2FibGUtdHlwZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCBjbGFzcyBOb2RlT25Qb2ludGVyTW92ZSBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogRURyYWdnYWJsZVR5cGUgPSBFRHJhZ2dhYmxlVHlwZS5OT0RFO1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkxpbmVBbGlnbm1lbnQ6IEZMaW5lQWxpZ25tZW50RGlyZWN0aXZlIHwgdW5kZWZpbmVkLFxuICAgIHB1YmxpYyBmTm9kZTogRk5vZGVCYXNlXG4gICkge1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gdGhpcy5mTm9kZS5wb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb24gPSBQb2ludC5mcm9tUG9pbnQodGhpcy5vblBvaW50ZXJEb3duUG9zaXRpb24pLmFkZChkaWZmZXJlbmNlKTtcbiAgICB0aGlzLmZOb2RlLnVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICB0aGlzLmZOb2RlLnJlZHJhdygpO1xuICAgIHRoaXMuZkxpbmVBbGlnbm1lbnQ/LmhhbmRsZShkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLmNvbXBsZXRlRHJhZygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './node.on-pointer-up';
|
|
2
|
+
export * from './node-on-pointer-up.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLXVwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbm9kZS5vbi1wb2ludGVyLXVwJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1vbi1wb2ludGVyLXVwLnJlcXVlc3QnO1xuIl19
|
package/esm2022/lib/directives/f-draggable/node/node-on-pointer-up/node-on-pointer-up.request.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class NodeOnPointerUpRequest {
|
|
2
|
+
constructor(event, dragHandler) {
|
|
3
|
+
this.event = event;
|
|
4
|
+
this.dragHandler = dragHandler;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1vbi1wb2ludGVyLXVwLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1vbi1wb2ludGVyLXVwL25vZGUtb24tcG9pbnRlci11cC5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFDUyxLQUFvQixFQUNwQixXQUF5QjtRQUR6QixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRWxDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vaS1kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgTm9kZU9uUG9pbnRlclVwUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50LFxuICAgIHB1YmxpYyBkcmFnSGFuZGxlcjogSURyYWdIYW5kbGVyXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Point } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
export class NodeOnPointerUp {
|
|
4
|
+
constructor(fLineAlignment, fConnectIfIntersect, hostElement) {
|
|
5
|
+
this.fLineAlignment = fLineAlignment;
|
|
6
|
+
this.fConnectIfIntersect = fConnectIfIntersect;
|
|
7
|
+
this.hostElement = hostElement;
|
|
8
|
+
}
|
|
9
|
+
handle(payload) {
|
|
10
|
+
const pointerPositionInCanvas = Point.fromPoint(payload.event.getPosition()).matrixTransform(this.hostElement);
|
|
11
|
+
let difference = pointerPositionInCanvas.div(payload.dragHandler.onPointerDownScale).sub(payload.dragHandler.onPointerDownPosition);
|
|
12
|
+
const isDragNodes = payload.dragHandler.draggableItems.some((x) => x.type === EDraggableType.NODE);
|
|
13
|
+
if (isDragNodes) {
|
|
14
|
+
const nearestIntersection = this.fLineAlignment?.findNearestCoordinate(difference);
|
|
15
|
+
if (nearestIntersection) {
|
|
16
|
+
difference.x = nearestIntersection.xResult.value ? (difference.x - nearestIntersection.xResult.distance) : difference.x;
|
|
17
|
+
difference.y = nearestIntersection.yResult.value ? (difference.y - nearestIntersection.yResult.distance) : difference.y;
|
|
18
|
+
}
|
|
19
|
+
payload.dragHandler.draggableItems.forEach((x) => {
|
|
20
|
+
x.move(difference);
|
|
21
|
+
x.complete();
|
|
22
|
+
});
|
|
23
|
+
this.fConnectIfIntersect?.handle(payload.dragHandler.draggableItems);
|
|
24
|
+
this.fLineAlignment?.complete();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5vbi1wb2ludGVyLXVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvZGlyZWN0aXZlcy9mLWRyYWdnYWJsZS9ub2RlL25vZGUtb24tcG9pbnRlci11cC9ub2RlLm9uLXBvaW50ZXItdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDVSxjQUFtRCxFQUNuRCxtQkFBNkQsRUFDOUQsV0FBMEI7UUFGekIsbUJBQWMsR0FBZCxjQUFjLENBQXFDO1FBQ25ELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEM7UUFDOUQsZ0JBQVcsR0FBWCxXQUFXLENBQWU7SUFFbkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUErQjtRQUMzQyxNQUFNLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0csSUFBSSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBJLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkcsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkYsSUFBSSxtQkFBbUIsRUFBRTtnQkFDdkIsVUFBVSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN6SCxVQUFVLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7YUFDMUg7WUFFRCxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBOb2RlT25Qb2ludGVyVXBSZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLW9uLXBvaW50ZXItdXAucmVxdWVzdCc7XG5pbXBvcnQgeyBFRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RJZkludGVyc2VjdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdC1pZi1pbnRlcnNlY3QnO1xuaW1wb3J0IHsgRkxpbmVBbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0IGNsYXNzIE5vZGVPblBvaW50ZXJVcFxuICBpbXBsZW1lbnRzIElIYW5kbGVyPE5vZGVPblBvaW50ZXJVcFJlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZMaW5lQWxpZ25tZW50OiBGTGluZUFsaWdubWVudERpcmVjdGl2ZSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIGZDb25uZWN0SWZJbnRlcnNlY3Q6IEZDb25uZWN0SWZJbnRlcnNlY3REaXJlY3RpdmUgfCB1bmRlZmluZWQsXG4gICAgcHVibGljIGhvc3RFbGVtZW50OiBTVkdTVkdFbGVtZW50LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogTm9kZU9uUG9pbnRlclVwUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzID0gUG9pbnQuZnJvbVBvaW50KHBheWxvYWQuZXZlbnQuZ2V0UG9zaXRpb24oKSkubWF0cml4VHJhbnNmb3JtKHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgIGxldCBkaWZmZXJlbmNlID0gcG9pbnRlclBvc2l0aW9uSW5DYW52YXMuZGl2KHBheWxvYWQuZHJhZ0hhbmRsZXIub25Qb2ludGVyRG93blNjYWxlKS5zdWIocGF5bG9hZC5kcmFnSGFuZGxlci5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuXG4gICAgY29uc3QgaXNEcmFnTm9kZXMgPSBwYXlsb2FkLmRyYWdIYW5kbGVyLmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHgudHlwZSA9PT0gRURyYWdnYWJsZVR5cGUuTk9ERSk7XG5cbiAgICBpZiAoaXNEcmFnTm9kZXMpIHtcbiAgICAgIGNvbnN0IG5lYXJlc3RJbnRlcnNlY3Rpb24gPSB0aGlzLmZMaW5lQWxpZ25tZW50Py5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgICBpZiAobmVhcmVzdEludGVyc2VjdGlvbikge1xuICAgICAgICBkaWZmZXJlbmNlLnggPSBuZWFyZXN0SW50ZXJzZWN0aW9uLnhSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS54IC0gbmVhcmVzdEludGVyc2VjdGlvbi54UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLng7XG4gICAgICAgIGRpZmZlcmVuY2UueSA9IG5lYXJlc3RJbnRlcnNlY3Rpb24ueVJlc3VsdC52YWx1ZSA/IChkaWZmZXJlbmNlLnkgLSBuZWFyZXN0SW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5kcmFnSGFuZGxlci5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIHgubW92ZShkaWZmZXJlbmNlKTtcbiAgICAgICAgeC5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZDb25uZWN0SWZJbnRlcnNlY3Q/LmhhbmRsZShwYXlsb2FkLmRyYWdIYW5kbGVyLmRyYWdnYWJsZUl0ZW1zKTtcbiAgICAgIHRoaXMuZkxpbmVBbGlnbm1lbnQ/LmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './f-draggable.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1kcmFnZ2FibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './selection-on-pointer-down';
|
|
2
|
+
export * from './selection-on-pointer-move';
|
|
3
|
+
export * from './selection-on-pointer-up';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL3NlbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLW9uLXBvaW50ZXItZG93bic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1vbi1wb2ludGVyLW1vdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24tb24tcG9pbnRlci11cCc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './selection.on-pointer-down';
|
|
2
|
+
export * from './selection-on-pointer-down.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tb24tcG9pbnRlci1kb3duL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLm9uLXBvaW50ZXItZG93bic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1vbi1wb2ludGVyLWRvd24ucmVxdWVzdCc7XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class SelectionOnPointerDownRequest {
|
|
2
|
+
constructor(event, transform, selectedItems) {
|
|
3
|
+
this.event = event;
|
|
4
|
+
this.transform = transform;
|
|
5
|
+
this.selectedItems = selectedItems;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW9uLXBvaW50ZXItZG93bi5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9saWIvZGlyZWN0aXZlcy9mLWRyYWdnYWJsZS9zZWxlY3Rpb24vc2VsZWN0aW9uLW9uLXBvaW50ZXItZG93bi9zZWxlY3Rpb24tb24tcG9pbnRlci1kb3duLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxZQUNTLEtBQW9CLEVBQ3BCLFNBQTBCLEVBQzFCLGFBQTRCO1FBRjVCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCwgSVRyYW5zZm9ybU1vZGVsIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaS1zZWxlY3RhYmxlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk9uUG9pbnRlckRvd25SZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXZlbnQ6IElQb2ludGVyRXZlbnQsXG4gICAgcHVibGljIHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsLFxuICAgIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJU2VsZWN0YWJsZVtdXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { MouseEventExtensions, Point } from '@foblex/core';
|
|
2
|
+
import { isNodeOutlet, isNodeOutput } from '../../../../components';
|
|
3
|
+
import { SelectionOnPointerMove } from '../selection-on-pointer-move';
|
|
4
|
+
export class SelectionOnPointerDown {
|
|
5
|
+
constructor(fFlow, fSelection, hostElement) {
|
|
6
|
+
this.fFlow = fFlow;
|
|
7
|
+
this.fSelection = fSelection;
|
|
8
|
+
this.hostElement = hostElement;
|
|
9
|
+
}
|
|
10
|
+
handle(payload) {
|
|
11
|
+
const pointerPositionInCanvas = Point.fromPoint(payload.event.getPosition()).matrixTransform(this.hostElement);
|
|
12
|
+
let node = this.fFlow.fNodesContainer.findNode(payload.event.targetElement);
|
|
13
|
+
const connection = this.fFlow.fConnectionsContainer.findConnectionWithElement(payload.event.targetElement);
|
|
14
|
+
payload.selectedItems.forEach((x) => {
|
|
15
|
+
x.deselect();
|
|
16
|
+
});
|
|
17
|
+
const isMultiselect = MouseEventExtensions.isCommandButton(payload.event.originalEvent) ||
|
|
18
|
+
MouseEventExtensions.isShiftPressed(payload.event.originalEvent);
|
|
19
|
+
if (!isMultiselect) {
|
|
20
|
+
payload.selectedItems = [];
|
|
21
|
+
}
|
|
22
|
+
if (node) {
|
|
23
|
+
if (isNodeOutlet(payload.event.targetElement) || isNodeOutput(payload.event.targetElement)) {
|
|
24
|
+
node = undefined;
|
|
25
|
+
}
|
|
26
|
+
if (node) {
|
|
27
|
+
if (!payload.selectedItems.includes(node)) {
|
|
28
|
+
payload.selectedItems.push(node);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
payload.selectedItems.splice(payload.selectedItems.indexOf(node), 1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (connection) {
|
|
36
|
+
if (!payload.selectedItems.includes(connection)) {
|
|
37
|
+
payload.selectedItems.push(connection);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
payload.selectedItems.splice(payload.selectedItems.indexOf(connection), 1);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
payload.selectedItems.forEach((x) => {
|
|
44
|
+
x.select();
|
|
45
|
+
});
|
|
46
|
+
let draggableItems = [];
|
|
47
|
+
if (MouseEventExtensions.isShiftPressed(payload.event.originalEvent)) {
|
|
48
|
+
draggableItems = [
|
|
49
|
+
new SelectionOnPointerMove(this.fFlow, this.fSelection, payload.selectedItems, pointerPositionInCanvas)
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
onPointerDownScale: 1,
|
|
54
|
+
onPointerDownPosition: pointerPositionInCanvas.div(1),
|
|
55
|
+
draggableItems: draggableItems,
|
|
56
|
+
selectedItems: payload.selectedItems
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm9uLXBvaW50ZXItZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1kcmFnZ2FibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi1vbi1wb2ludGVyLWRvd24vc2VsZWN0aW9uLm9uLXBvaW50ZXItZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksb0JBQW9CLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBa0MsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXBHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RFLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFDWSxLQUFnQixFQUNoQixVQUEyQyxFQUMzQyxXQUEwQjtRQUYxQixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWlDO1FBQzNDLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBRXRDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBc0M7UUFDbEQsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9HLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzRyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQ2Ysb0JBQW9CLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ2pFLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsT0FBTyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzFGLElBQUksR0FBRyxTQUFTLENBQUM7YUFDbEI7WUFDRCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDdEU7YUFDRjtTQUVGO2FBQU0sSUFBSSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN4QztpQkFBTTtnQkFDTCxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM1RTtTQUNGO1FBQ0QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksY0FBYyxHQUFxQixFQUFFLENBQUM7UUFDMUMsSUFBSSxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNwRSxjQUFjLEdBQUc7Z0JBQ2YsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQzthQUN4RyxDQUFDO1NBQ0g7UUFDRCxPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JELGNBQWMsRUFBRSxjQUFjO1lBQzlCLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtTQUNyQyxDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIE1vdXNlRXZlbnRFeHRlbnNpb25zLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UsIEZTZWxlY3Rpb25EaXJlY3RpdmUsIGlzTm9kZU91dGxldCwgaXNOb2RlT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktc2VsZWN0YWJsZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25PblBvaW50ZXJEb3duUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLW9uLXBvaW50ZXItZG93bi5yZXF1ZXN0JztcbmltcG9ydCB7IElEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2ktZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbk9uUG9pbnRlck1vdmUgfSBmcm9tICcuLi9zZWxlY3Rpb24tb24tcG9pbnRlci1tb3ZlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25PblBvaW50ZXJEb3duIGltcGxlbWVudHMgSUhhbmRsZXI8U2VsZWN0aW9uT25Qb2ludGVyRG93blJlcXVlc3QsIElEcmFnSGFuZGxlcj4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmRmxvdzogRkZsb3dCYXNlLFxuICAgICAgcHJpdmF0ZSBmU2VsZWN0aW9uOiBGU2VsZWN0aW9uRGlyZWN0aXZlIHwgdW5kZWZpbmVkLFxuICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogU1ZHU1ZHRWxlbWVudFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogU2VsZWN0aW9uT25Qb2ludGVyRG93blJlcXVlc3QpOiBJRHJhZ0hhbmRsZXIge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzID0gUG9pbnQuZnJvbVBvaW50KHBheWxvYWQuZXZlbnQuZ2V0UG9zaXRpb24oKSkubWF0cml4VHJhbnNmb3JtKHRoaXMuaG9zdEVsZW1lbnQpO1xuXG4gICAgbGV0IG5vZGUgPSB0aGlzLmZGbG93LmZOb2Rlc0NvbnRhaW5lci5maW5kTm9kZShwYXlsb2FkLmV2ZW50LnRhcmdldEVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmZGbG93LmZDb25uZWN0aW9uc0NvbnRhaW5lci5maW5kQ29ubmVjdGlvbldpdGhFbGVtZW50KHBheWxvYWQuZXZlbnQudGFyZ2V0RWxlbWVudCk7XG5cbiAgICBwYXlsb2FkLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5kZXNlbGVjdCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGlzTXVsdGlzZWxlY3QgPVxuICAgICAgICBNb3VzZUV2ZW50RXh0ZW5zaW9ucy5pc0NvbW1hbmRCdXR0b24ocGF5bG9hZC5ldmVudC5vcmlnaW5hbEV2ZW50KSB8fFxuICAgICAgICBNb3VzZUV2ZW50RXh0ZW5zaW9ucy5pc1NoaWZ0UHJlc3NlZChwYXlsb2FkLmV2ZW50Lm9yaWdpbmFsRXZlbnQpO1xuICAgIGlmICghaXNNdWx0aXNlbGVjdCkge1xuICAgICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgfVxuICAgIGlmIChub2RlKSB7XG4gICAgICBpZiAoaXNOb2RlT3V0bGV0KHBheWxvYWQuZXZlbnQudGFyZ2V0RWxlbWVudCkgfHwgaXNOb2RlT3V0cHV0KHBheWxvYWQuZXZlbnQudGFyZ2V0RWxlbWVudCkpIHtcbiAgICAgICAgbm9kZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIGlmICghcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKG5vZGUpKSB7XG4gICAgICAgICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLnB1c2gobm9kZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLnNwbGljZShwYXlsb2FkLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihub2RlKSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSBpZiAoY29ubmVjdGlvbikge1xuICAgICAgaWYgKCFwYXlsb2FkLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoY29ubmVjdGlvbikpIHtcbiAgICAgICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLnB1c2goY29ubmVjdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXlsb2FkLnNlbGVjdGVkSXRlbXMuc3BsaWNlKHBheWxvYWQuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKGNvbm5lY3Rpb24pLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0KCk7XG4gICAgfSk7XG5cbiAgICBsZXQgZHJhZ2dhYmxlSXRlbXM6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcbiAgICBpZiAoTW91c2VFdmVudEV4dGVuc2lvbnMuaXNTaGlmdFByZXNzZWQocGF5bG9hZC5ldmVudC5vcmlnaW5hbEV2ZW50KSkge1xuICAgICAgZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICAgIG5ldyBTZWxlY3Rpb25PblBvaW50ZXJNb3ZlKHRoaXMuZkZsb3csIHRoaXMuZlNlbGVjdGlvbiwgcGF5bG9hZC5zZWxlY3RlZEl0ZW1zLCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcylcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBvblBvaW50ZXJEb3duU2NhbGU6IDEsXG4gICAgICBvblBvaW50ZXJEb3duUG9zaXRpb246IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzLmRpdigxKSxcbiAgICAgIGRyYWdnYWJsZUl0ZW1zOiBkcmFnZ2FibGVJdGVtcyxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IHBheWxvYWQuc2VsZWN0ZWRJdGVtc1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './selection.on-pointer-move';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tb24tcG9pbnRlci1tb3ZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi5vbi1wb2ludGVyLW1vdmUnO1xuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Point, PointExtensions, RectExtensions } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
import { getElementRectInCanvas } from '../../../../components';
|
|
4
|
+
export class SelectionOnPointerMove {
|
|
5
|
+
constructor(fFlow, fSelection, selectedOnStart, onPointerDownPosition = PointExtensions.initialize()) {
|
|
6
|
+
this.fFlow = fFlow;
|
|
7
|
+
this.fSelection = fSelection;
|
|
8
|
+
this.selectedOnStart = selectedOnStart;
|
|
9
|
+
this.onPointerDownPosition = onPointerDownPosition;
|
|
10
|
+
this.type = EDraggableType.SELECTION;
|
|
11
|
+
this.selectedItems = [];
|
|
12
|
+
this.items = [];
|
|
13
|
+
const nodeRects = fFlow.fNodesContainer.fNodes.map((x) => {
|
|
14
|
+
return {
|
|
15
|
+
element: x,
|
|
16
|
+
rect: getElementRectInCanvas(x.hostElement, fFlow.transform, this.fFlow.hostElement)
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
const lineRects = fFlow.fConnectionsContainer.fConnections.map((x) => {
|
|
20
|
+
return {
|
|
21
|
+
element: x,
|
|
22
|
+
rect: getElementRectInCanvas(x.fPath.hostElement, fFlow.transform, this.fFlow.hostElement)
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
this.items = [...nodeRects, ...lineRects].filter((x) => {
|
|
26
|
+
return !selectedOnStart.includes(x.element);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
initialize() {
|
|
30
|
+
this.fSelection?.show();
|
|
31
|
+
this.fSelection?.draw({ ...this.onPointerDownPosition, width: 0, height: 0 });
|
|
32
|
+
}
|
|
33
|
+
move(difference) {
|
|
34
|
+
const currentPoint = Point.fromPoint(difference).add(this.onPointerDownPosition);
|
|
35
|
+
const x = Math.min(this.onPointerDownPosition.x, currentPoint.x);
|
|
36
|
+
const y = Math.min(this.onPointerDownPosition.y, currentPoint.y);
|
|
37
|
+
const width = Math.abs(difference.x);
|
|
38
|
+
const height = Math.abs(difference.y);
|
|
39
|
+
this.fSelection?.draw({ x, y, width, height });
|
|
40
|
+
this.selectedItems = [];
|
|
41
|
+
this.items.forEach((item) => {
|
|
42
|
+
item.element.deselect();
|
|
43
|
+
if (RectExtensions.intersectionWithRect(item.rect, RectExtensions.initialize(x, y, width, height))) {
|
|
44
|
+
item.element.select();
|
|
45
|
+
this.selectedItems.push(item.element);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
complete() {
|
|
50
|
+
this.fSelection?.hide();
|
|
51
|
+
this.selectedItems.push(...this.selectedOnStart || []);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm9uLXBvaW50ZXItbW92ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1kcmFnZ2FibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi1vbi1wb2ludGVyLW1vdmUvc2VsZWN0aW9uLm9uLXBvaW50ZXItbW92ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLEtBQUssRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd4RCxPQUFPLEVBQWEsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRSxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1ksS0FBZ0IsRUFDaEIsVUFBMkMsRUFDM0MsZUFBOEIsRUFDOUIsd0JBQWdDLGVBQWUsQ0FBQyxVQUFVLEVBQUU7UUFINUQsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFpQztRQUMzQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZTtRQUM5QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVDO1FBVnhELFNBQUksR0FBbUIsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUV6RCxrQkFBYSxHQUFrQixFQUFFLENBQUM7UUFFakMsVUFBSyxHQUE0QyxFQUFFLENBQUM7UUFRMUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsT0FBTztnQkFDTCxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ3JGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkUsT0FBTztnQkFDTCxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUMzRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2RCxPQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFakYsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFDSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ2hHO2dCQUNBLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRURyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7IEZTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktc2VsZWN0YWJsZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UsIGdldEVsZW1lbnRSZWN0SW5DYW52YXMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk9uUG9pbnRlck1vdmUgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVEcmFnZ2FibGVUeXBlID0gRURyYWdnYWJsZVR5cGUuU0VMRUNUSU9OO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJU2VsZWN0YWJsZVtdID0gW107XG5cbiAgcHJpdmF0ZSBpdGVtczogeyBlbGVtZW50OiBJU2VsZWN0YWJsZSwgcmVjdDogSVJlY3QgfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZGbG93OiBGRmxvd0Jhc2UsXG4gICAgICBwcml2YXRlIGZTZWxlY3Rpb246IEZTZWxlY3Rpb25EaXJlY3RpdmUgfCB1bmRlZmluZWQsXG4gICAgICBwcml2YXRlIHNlbGVjdGVkT25TdGFydDogSVNlbGVjdGFibGVbXSxcbiAgICAgIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpXG4gICkge1xuICAgIGNvbnN0IG5vZGVSZWN0cyA9IGZGbG93LmZOb2Rlc0NvbnRhaW5lci5mTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50OiB4LFxuICAgICAgICByZWN0OiBnZXRFbGVtZW50UmVjdEluQ2FudmFzKHguaG9zdEVsZW1lbnQsIGZGbG93LnRyYW5zZm9ybSwgdGhpcy5mRmxvdy5ob3N0RWxlbWVudClcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBsaW5lUmVjdHMgPSBmRmxvdy5mQ29ubmVjdGlvbnNDb250YWluZXIuZkNvbm5lY3Rpb25zLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudDogeCxcbiAgICAgICAgcmVjdDogZ2V0RWxlbWVudFJlY3RJbkNhbnZhcyh4LmZQYXRoLmhvc3RFbGVtZW50LCBmRmxvdy50cmFuc2Zvcm0sIHRoaXMuZkZsb3cuaG9zdEVsZW1lbnQpXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuaXRlbXMgPSBbIC4uLm5vZGVSZWN0cywgLi4ubGluZVJlY3RzIF0uZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIXNlbGVjdGVkT25TdGFydC5pbmNsdWRlcyh4LmVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mU2VsZWN0aW9uPy5zaG93KCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uPy5kcmF3KHsgLi4udGhpcy5vblBvaW50ZXJEb3duUG9zaXRpb24sIHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSk7XG4gIH1cblxuICBwdWJsaWMgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UG9pbnQgPSBQb2ludC5mcm9tUG9pbnQoZGlmZmVyZW5jZSkuYWRkKHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uKTtcblxuICAgIGNvbnN0IHg6IG51bWJlciA9IE1hdGgubWluKHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uLngsIGN1cnJlbnRQb2ludC54KTtcbiAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbi55LCBjdXJyZW50UG9pbnQueSk7XG5cbiAgICBjb25zdCB3aWR0aCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMoZGlmZmVyZW5jZS55KTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbj8uZHJhdyh7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmVsZW1lbnQuZGVzZWxlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgICBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoUmVjdChpdGVtLnJlY3QsIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoeCwgeSwgd2lkdGgsIGhlaWdodCkpXG4gICAgICApIHtcbiAgICAgICAgaXRlbS5lbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtLmVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZlNlbGVjdGlvbj8uaGlkZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKC4uLnRoaXMuc2VsZWN0ZWRPblN0YXJ0IHx8IFtdKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './selection.on-pointer-up';
|
|
2
|
+
export * from './selection-on-pointer-up.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tb24tcG9pbnRlci11cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi5vbi1wb2ludGVyLXVwJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLW9uLXBvaW50ZXItdXAucmVxdWVzdCc7XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class SelectionOnPointerUpRequest {
|
|
2
|
+
constructor(event, dragHandler, selectedItems) {
|
|
3
|
+
this.event = event;
|
|
4
|
+
this.dragHandler = dragHandler;
|
|
5
|
+
this.selectedItems = selectedItems;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW9uLXBvaW50ZXItdXAucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1kcmFnZ2FibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi1vbi1wb2ludGVyLXVwL3NlbGVjdGlvbi1vbi1wb2ludGVyLXVwLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUNTLEtBQW9CLEVBQ3BCLFdBQXlCLEVBQ3pCLGFBQTRCO1FBRjVCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9pLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktc2VsZWN0YWJsZSc7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25PblBvaW50ZXJVcFJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBldmVudDogSVBvaW50ZXJFdmVudCxcbiAgICBwdWJsaWMgZHJhZ0hhbmRsZXI6IElEcmFnSGFuZGxlcixcbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogSVNlbGVjdGFibGVbXVxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Point } from '@foblex/core';
|
|
2
|
+
import { EDraggableType } from '../../e-draggable-type';
|
|
3
|
+
export class SelectionOnPointerUp {
|
|
4
|
+
constructor(hostElement) {
|
|
5
|
+
this.hostElement = hostElement;
|
|
6
|
+
}
|
|
7
|
+
handle(payload) {
|
|
8
|
+
let result = payload.selectedItems;
|
|
9
|
+
const pointerPositionInCanvas = Point.fromPoint(payload.event.getPosition()).matrixTransform(this.hostElement);
|
|
10
|
+
let difference = pointerPositionInCanvas.div(payload.dragHandler.onPointerDownScale).sub(payload.dragHandler.onPointerDownPosition);
|
|
11
|
+
const isSelection = payload.dragHandler.draggableItems.some((x) => x.type === EDraggableType.SELECTION);
|
|
12
|
+
if (isSelection) {
|
|
13
|
+
payload.dragHandler.draggableItems.forEach((x) => {
|
|
14
|
+
x.move(difference);
|
|
15
|
+
x.complete();
|
|
16
|
+
});
|
|
17
|
+
result = payload.dragHandler.draggableItems[0].selectedItems;
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm9uLXBvaW50ZXItdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZHJhZ2dhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tb24tcG9pbnRlci11cC9zZWxlY3Rpb24ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl4RCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQ1csV0FBMEI7UUFBMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7SUFFckMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFvQztRQUNoRCxJQUFJLE1BQU0sR0FBa0IsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNsRCxNQUFNLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0csSUFBSSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBJLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEcsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLEdBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUE2QixDQUFDLGFBQWEsQ0FBQztTQUM1RjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25PblBvaW50ZXJVcFJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdGlvbi1vbi1wb2ludGVyLXVwLnJlcXVlc3QnO1xuaW1wb3J0IHsgRURyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWRyYWdnYWJsZS10eXBlJztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaS1zZWxlY3RhYmxlJztcbmltcG9ydCB7IFNlbGVjdGlvbk9uUG9pbnRlck1vdmUgfSBmcm9tICcuLi9zZWxlY3Rpb24tb24tcG9pbnRlci1tb3ZlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk9uUG9pbnRlclVwXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxTZWxlY3Rpb25PblBvaW50ZXJVcFJlcXVlc3QsIElTZWxlY3RhYmxlW10+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogU1ZHU1ZHRWxlbWVudCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHBheWxvYWQ6IFNlbGVjdGlvbk9uUG9pbnRlclVwUmVxdWVzdCk6IElTZWxlY3RhYmxlW10ge1xuICAgIGxldCByZXN1bHQ6IElTZWxlY3RhYmxlW10gPSBwYXlsb2FkLnNlbGVjdGVkSXRlbXM7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMgPSBQb2ludC5mcm9tUG9pbnQocGF5bG9hZC5ldmVudC5nZXRQb3NpdGlvbigpKS5tYXRyaXhUcmFuc2Zvcm0odGhpcy5ob3N0RWxlbWVudCk7XG4gICAgbGV0IGRpZmZlcmVuY2UgPSBwb2ludGVyUG9zaXRpb25JbkNhbnZhcy5kaXYocGF5bG9hZC5kcmFnSGFuZGxlci5vblBvaW50ZXJEb3duU2NhbGUpLnN1YihwYXlsb2FkLmRyYWdIYW5kbGVyLm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG5cbiAgICBjb25zdCBpc1NlbGVjdGlvbiA9IHBheWxvYWQuZHJhZ0hhbmRsZXIuZHJhZ2dhYmxlSXRlbXMuc29tZSgoeCkgPT4geC50eXBlID09PSBFRHJhZ2dhYmxlVHlwZS5TRUxFQ1RJT04pO1xuXG4gICAgaWYgKGlzU2VsZWN0aW9uKSB7XG4gICAgICBwYXlsb2FkLmRyYWdIYW5kbGVyLmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgeC5tb3ZlKGRpZmZlcmVuY2UpO1xuICAgICAgICB4LmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICAgIHJlc3VsdCA9IChwYXlsb2FkLmRyYWdIYW5kbGVyLmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgU2VsZWN0aW9uT25Qb2ludGVyTW92ZSkuc2VsZWN0ZWRJdGVtcztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export const F_EXTERNAL_ITEM = new InjectionToken('F_EXTERNAL_ITEM');
|
|
4
|
+
export class FExternalItemBase {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FExternalItemBase, ngImport: i0 }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemBase, decorators: [{
|
|
9
|
+
type: Directive
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2xpYi9kaXJlY3RpdmVzL2YtZXh0ZXJuYWwtaXRlbS9mLWV4dGVybmFsLWl0ZW0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFvQixpQkFBaUIsQ0FBQyxDQUFDO0FBR3hGLE1BQU0sT0FBZ0IsaUJBQWlCOzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX0VYVEVSTkFMX0lURU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48RkV4dGVybmFsSXRlbUJhc2U+KCdGX0VYVEVSTkFMX0lURU0nKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkV4dGVybmFsSXRlbUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpZDogYW55O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkYXRhOiBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { FExternalItemBase, F_EXTERNAL_ITEM } from './f-external-item-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./f-external-item.service";
|
|
5
|
+
let uniqueId = 0;
|
|
6
|
+
export class FExternalItemDirective extends FExternalItemBase {
|
|
7
|
+
get hostElement() {
|
|
8
|
+
return this.elementReference.nativeElement;
|
|
9
|
+
}
|
|
10
|
+
constructor(elementReference, fExternalItemService) {
|
|
11
|
+
super();
|
|
12
|
+
this.elementReference = elementReference;
|
|
13
|
+
this.fExternalItemService = fExternalItemService;
|
|
14
|
+
this.id = `f-external-item-${uniqueId++}`;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.fExternalItemService.registerItem(this);
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
this.fExternalItemService.removeItem(this);
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemDirective, deps: [{ token: i0.ElementRef }, { token: i1.FExternalItemService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: FExternalItemDirective, selector: "[fExternalItem]", inputs: { id: "id", data: "data" }, host: { properties: { "attr.id": "id" }, classAttribute: "f-component f-external-item" }, providers: [
|
|
24
|
+
{ provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
|
|
25
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: FExternalItemDirective, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: "[fExternalItem]",
|
|
31
|
+
host: {
|
|
32
|
+
'[attr.id]': 'id',
|
|
33
|
+
class: "f-component f-external-item",
|
|
34
|
+
},
|
|
35
|
+
providers: [
|
|
36
|
+
{ provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
|
|
37
|
+
],
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FExternalItemService }]; }, propDecorators: { id: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], data: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvbGliL2RpcmVjdGl2ZXMvZi1leHRlcm5hbC1pdGVtL2YtZXh0ZXJuYWwtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzVFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQVl6QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBSzNELElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFLRCxZQUNVLGdCQUF5QyxFQUN6QyxvQkFBMEM7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFYcEMsT0FBRSxHQUFXLG1CQUFvQixRQUFRLEVBQUcsRUFBRSxDQUFDO0lBYy9ELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBekJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdLQUp0QjtZQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7U0FDbEU7OzJGQUVVLHNCQUFzQjtrQkFWbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLElBQUk7d0JBQ2pCLEtBQUssRUFBRSw2QkFBNkI7cUJBQ3JDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTtxQkFDbEU7aUJBQ0Y7b0lBSWlCLEVBQUU7c0JBRGpCLEtBQUs7Z0JBUVUsSUFBSTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtQmFzZSwgRl9FWFRFUk5BTF9JVEVNIH0gZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtU2VydmljZSB9IGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkV4dGVybmFsSXRlbV1cIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtZXh0ZXJuYWwtaXRlbVwiLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfRVhURVJOQUxfSVRFTSwgdXNlRXhpc3Rpbmc6IEZFeHRlcm5hbEl0ZW1EaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGRXh0ZXJuYWxJdGVtRGlyZWN0aXZlIGV4dGVuZHMgRkV4dGVybmFsSXRlbUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1leHRlcm5hbC1pdGVtLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBkYXRhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZFeHRlcm5hbEl0ZW1TZXJ2aWNlOiBGRXh0ZXJuYWxJdGVtU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlZ2lzdGVySXRlbSh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcyk7XG4gIH1cbn1cbiJdfQ==
|