@foblex/flow 17.0.0 → 17.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-background/add-background-to-store/add-background-to-store-request.d.ts +5 -0
- package/domain/f-background/add-background-to-store/add-background-to-store.execution.d.ts +9 -0
- package/domain/f-background/add-background-to-store/index.d.ts +2 -0
- package/domain/f-background/index.d.ts +3 -0
- package/domain/f-background/providers.d.ts +4 -1
- package/domain/f-background/remove-background-from-store/index.d.ts +2 -0
- package/domain/f-background/remove-background-from-store/remove-background-from-store-request.d.ts +5 -0
- package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +9 -0
- package/domain/f-background/set-background-transform/index.d.ts +2 -0
- package/domain/f-background/set-background-transform/set-background-transform-request.d.ts +5 -0
- package/domain/f-background/set-background-transform/set-background-transform.execution.d.ts +9 -0
- package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.d.ts +5 -0
- package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.d.ts +9 -0
- package/domain/f-canvas/add-canvas-to-store/index.d.ts +2 -0
- package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +2 -3
- package/domain/f-canvas/fit-to-flow/fit-to-flow.execution.d.ts +3 -5
- package/domain/f-canvas/get-canvas/get-canvas-request.d.ts +2 -0
- package/domain/f-canvas/get-canvas/get-canvas.execution.d.ts +10 -0
- package/domain/f-canvas/get-canvas/index.d.ts +2 -0
- package/domain/f-canvas/index.d.ts +4 -0
- package/domain/f-canvas/input-canvas-position/input-canvas-position.execution.d.ts +1 -3
- package/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.d.ts +1 -3
- package/domain/f-canvas/providers.d.ts +5 -1
- package/domain/f-canvas/redraw-canvas-with-animation/index.d.ts +2 -0
- package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.d.ts +4 -0
- package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.d.ts +12 -0
- package/domain/f-canvas/remove-canvas-from-store/index.d.ts +2 -0
- package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store-request.d.ts +2 -0
- package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.d.ts +9 -0
- package/domain/f-canvas/reset-scale/reset-scale.execution.d.ts +1 -3
- package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.d.ts +3 -5
- package/domain/f-canvas/update-scale/update-scale.execution.d.ts +1 -3
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +5 -0
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.d.ts +9 -0
- package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +2 -0
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +5 -0
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.d.ts +9 -0
- package/domain/f-connection/add-connection-marker-to-store/index.d.ts +2 -0
- package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +1 -3
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +5 -0
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.d.ts +9 -0
- package/domain/f-connection/add-snap-connection-to-store/index.d.ts +2 -0
- package/domain/{create-connection-markers → f-connection/create-connection-markers}/create-connection-markers-request.d.ts +1 -1
- package/domain/{create-connection-markers → f-connection/create-connection-markers}/create-connection-markers.execution.d.ts +2 -2
- package/domain/f-connection/index.d.ts +8 -0
- package/domain/f-connection/providers.d.ts +9 -1
- package/domain/{redraw-connections → f-connection/redraw-connections}/redraw-connections.execution.d.ts +1 -1
- package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +2 -0
- package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store-request.d.ts +2 -0
- package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.d.ts +9 -0
- package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +2 -3
- package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +2 -0
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +5 -0
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.d.ts +9 -0
- package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +2 -0
- package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store-request.d.ts +2 -0
- package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.d.ts +9 -0
- package/domain/f-connectors/add-input-to-store/add-input-to-store-request.d.ts +5 -0
- package/domain/f-connectors/add-input-to-store/add-input-to-store.execution.d.ts +9 -0
- package/domain/f-connectors/add-input-to-store/index.d.ts +2 -0
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.d.ts +5 -0
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +9 -0
- package/domain/f-connectors/add-outlet-to-store/index.d.ts +2 -0
- package/domain/f-connectors/add-output-to-store/add-output-to-store-request.d.ts +5 -0
- package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +9 -0
- package/domain/f-connectors/add-output-to-store/index.d.ts +2 -0
- package/domain/f-connectors/index.d.ts +7 -0
- package/domain/f-connectors/providers.d.ts +7 -0
- package/domain/f-connectors/remove-input-from-store/index.d.ts +2 -0
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.d.ts +5 -0
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.d.ts +9 -0
- package/domain/f-connectors/remove-outlet-from-store/index.d.ts +2 -0
- package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.d.ts +5 -0
- package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.d.ts +9 -0
- package/domain/f-connectors/remove-output-from-store/index.d.ts +2 -0
- package/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.d.ts +5 -0
- package/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.d.ts +9 -0
- package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.d.ts +5 -0
- package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.d.ts +9 -0
- package/domain/f-draggable/add-dnd-to-store/index.d.ts +2 -0
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.d.ts +2 -0
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +12 -0
- package/domain/f-draggable/emit-selection-change-event/index.d.ts +2 -0
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.d.ts +2 -0
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +11 -0
- package/domain/f-draggable/end-drag-sequence/index.d.ts +2 -0
- package/domain/f-draggable/index.d.ts +10 -0
- package/domain/f-draggable/initialize-drag-sequence/index.d.ts +2 -0
- package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence-request.d.ts +2 -0
- package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +9 -0
- package/domain/f-draggable/is-drag-started/index.d.ts +2 -0
- package/domain/f-draggable/is-drag-started/is-drag-started-request.d.ts +2 -0
- package/domain/f-draggable/is-drag-started/is-drag-started.execution.d.ts +9 -0
- package/domain/f-draggable/on-pointer-move/index.d.ts +2 -0
- package/domain/f-draggable/on-pointer-move/on-pointer-move-request.d.ts +5 -0
- package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +14 -0
- package/domain/f-draggable/prepare-drag-sequence/index.d.ts +2 -0
- package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.d.ts +2 -0
- package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +11 -0
- package/domain/f-draggable/providers.d.ts +10 -0
- package/domain/f-draggable/remove-dnd-from-store/index.d.ts +2 -0
- package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store-request.d.ts +2 -0
- package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.d.ts +9 -0
- package/domain/f-draggable/start-drag-sequence/index.d.ts +2 -0
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.d.ts +2 -0
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +12 -0
- package/domain/f-flow/add-flow-to-store/add-flow-to-store-request.d.ts +5 -0
- package/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.d.ts +9 -0
- package/domain/f-flow/add-flow-to-store/index.d.ts +2 -0
- package/domain/f-flow/get-flow/get-flow-request.d.ts +2 -0
- package/domain/f-flow/get-flow/get-flow.execution.d.ts +10 -0
- package/domain/f-flow/get-flow/index.d.ts +2 -0
- package/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.d.ts +9 -0
- package/domain/f-flow/get-flow-host-element/get-flow-host-element.request.d.ts +2 -0
- package/domain/f-flow/get-flow-host-element/index.d.ts +2 -0
- package/domain/f-flow/index.d.ts +5 -0
- package/domain/f-flow/providers.d.ts +5 -0
- package/domain/f-flow/remove-flow-from-store/index.d.ts +2 -0
- package/domain/f-flow/remove-flow-from-store/remove-flow-from-store-request.d.ts +2 -0
- package/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.d.ts +9 -0
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +5 -0
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.d.ts +9 -0
- package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +2 -0
- package/domain/f-line-alignment/index.d.ts +3 -0
- package/domain/f-line-alignment/providers.d.ts +3 -0
- package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +2 -0
- package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.d.ts +2 -0
- package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.d.ts +9 -0
- package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +5 -0
- package/domain/f-node/add-node-to-store/add-node-to-store.execution.d.ts +9 -0
- package/domain/f-node/add-node-to-store/index.d.ts +2 -0
- package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.d.ts +12 -0
- package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.request.d.ts +2 -0
- package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +2 -0
- package/domain/f-node/get-nodes/get-nodes-request.d.ts +2 -0
- package/domain/f-node/get-nodes/get-nodes.execution.d.ts +10 -0
- package/domain/f-node/get-nodes/index.d.ts +2 -0
- package/domain/f-node/index.d.ts +6 -0
- package/domain/f-node/providers.d.ts +6 -0
- package/domain/f-node/remove-node-from-store/index.d.ts +2 -0
- package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +5 -0
- package/domain/f-node/remove-node-from-store/remove-node-from-store.execution.d.ts +9 -0
- package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +2 -0
- package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +7 -0
- package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +10 -0
- package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +5 -6
- package/domain/get-flow-state/i-f-flow-state-connection.d.ts +1 -1
- package/domain/index.d.ts +7 -8
- package/domain/is-mobile.d.ts +1 -0
- package/domain/providers.d.ts +1 -8
- package/domain/transition-end.d.ts +1 -0
- package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +6 -0
- package/esm2022/domain/f-background/add-background-to-store/add-background-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-background/add-background-to-store/index.mjs +3 -0
- package/esm2022/domain/f-background/index.mjs +4 -1
- package/esm2022/domain/f-background/providers.mjs +8 -2
- package/esm2022/domain/f-background/remove-background-from-store/index.mjs +3 -0
- package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +6 -0
- package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-background/set-background-transform/index.mjs +3 -0
- package/esm2022/domain/f-background/set-background-transform/set-background-transform-request.mjs +6 -0
- package/esm2022/domain/f-background/set-background-transform/set-background-transform.execution.mjs +23 -0
- package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +6 -0
- package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-canvas/add-canvas-to-store/index.mjs +3 -0
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +15 -16
- package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +15 -18
- package/esm2022/domain/f-canvas/get-canvas/get-canvas-request.mjs +3 -0
- package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +27 -0
- package/esm2022/domain/f-canvas/get-canvas/index.mjs +3 -0
- package/esm2022/domain/f-canvas/index.mjs +5 -1
- package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +8 -8
- package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +8 -8
- package/esm2022/domain/f-canvas/providers.mjs +9 -1
- package/esm2022/domain/f-canvas/redraw-canvas-with-animation/index.mjs +3 -0
- package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.mjs +6 -0
- package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.mjs +36 -0
- package/esm2022/domain/f-canvas/remove-canvas-from-store/index.mjs +3 -0
- package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store-request.mjs +3 -0
- package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +9 -9
- package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +15 -18
- package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +9 -9
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +9 -9
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +6 -0
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +60 -0
- package/esm2022/domain/f-connection/create-connection-markers/index.mjs +3 -0
- package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +3 -3
- package/esm2022/domain/f-connection/index.mjs +9 -1
- package/esm2022/domain/f-connection/providers.mjs +18 -2
- package/esm2022/domain/f-connection/redraw-connections/index.mjs +3 -0
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections-request.mjs +3 -0
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +60 -0
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store-request.mjs +3 -0
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +14 -11
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +6 -0
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store-request.mjs +3 -0
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/add-input-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/add-outlet-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/add-output-to-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/index.mjs +8 -0
- package/esm2022/domain/f-connectors/providers.mjs +15 -0
- package/esm2022/domain/f-connectors/remove-input-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/remove-outlet-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-connectors/remove-output-from-store/index.mjs +3 -0
- package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +6 -0
- package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +6 -0
- package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-draggable/add-dnd-to-store/index.mjs +3 -0
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +3 -0
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +36 -0
- package/esm2022/domain/f-draggable/emit-selection-change-event/index.mjs +3 -0
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.mjs +3 -0
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +29 -0
- package/esm2022/domain/f-draggable/end-drag-sequence/index.mjs +3 -0
- package/esm2022/domain/f-draggable/index.mjs +11 -0
- package/esm2022/domain/f-draggable/initialize-drag-sequence/index.mjs +3 -0
- package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence-request.mjs +3 -0
- package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +23 -0
- package/esm2022/domain/f-draggable/is-drag-started/index.mjs +3 -0
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +3 -0
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +23 -0
- package/esm2022/domain/f-draggable/on-pointer-move/index.mjs +3 -0
- package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +6 -0
- package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +42 -0
- package/esm2022/domain/f-draggable/prepare-drag-sequence/index.mjs +3 -0
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +3 -0
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +31 -0
- package/esm2022/domain/f-draggable/providers.mjs +21 -0
- package/esm2022/domain/f-draggable/remove-dnd-from-store/index.mjs +3 -0
- package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store-request.mjs +3 -0
- package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-draggable/start-drag-sequence/index.mjs +3 -0
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.mjs +3 -0
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +33 -0
- package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store-request.mjs +6 -0
- package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-flow/add-flow-to-store/index.mjs +3 -0
- package/esm2022/domain/f-flow/get-flow/get-flow-request.mjs +3 -0
- package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +27 -0
- package/esm2022/domain/f-flow/get-flow/index.mjs +3 -0
- package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.mjs +23 -0
- package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.request.mjs +3 -0
- package/esm2022/domain/f-flow/get-flow-host-element/index.mjs +3 -0
- package/esm2022/domain/f-flow/index.mjs +6 -0
- package/esm2022/domain/f-flow/providers.mjs +11 -0
- package/esm2022/domain/f-flow/remove-flow-from-store/index.mjs +3 -0
- package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store-request.mjs +3 -0
- package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +6 -0
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +3 -0
- package/esm2022/domain/f-line-alignment/index.mjs +4 -0
- package/esm2022/domain/f-line-alignment/providers.mjs +7 -0
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +3 -0
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.mjs +3 -0
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +6 -0
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +23 -0
- package/esm2022/domain/f-node/add-node-to-store/index.mjs +3 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +30 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.request.mjs +3 -0
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +3 -0
- package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +3 -0
- package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +23 -0
- package/esm2022/domain/f-node/get-nodes/index.mjs +3 -0
- package/esm2022/domain/f-node/index.mjs +7 -0
- package/esm2022/domain/f-node/providers.mjs +13 -0
- package/esm2022/domain/f-node/remove-node-from-store/index.mjs +3 -0
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +6 -0
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +23 -0
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +3 -0
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +7 -0
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +35 -0
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +19 -17
- package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +3 -3
- package/esm2022/domain/get-flow-state/i-f-flow-state-connection.mjs +1 -1
- package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +2 -2
- package/esm2022/domain/index.mjs +8 -9
- package/esm2022/domain/is-mobile.mjs +5 -0
- package/esm2022/domain/providers.mjs +11 -15
- package/esm2022/domain/transition-end.mjs +10 -0
- package/esm2022/f-backgroud/f-background-base.mjs +1 -1
- package/esm2022/f-backgroud/f-background.component.mjs +15 -20
- package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +40 -46
- package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +42 -56
- package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
- package/esm2022/f-canvas/f-canvas.component.mjs +30 -40
- package/esm2022/f-connection/common/f-connection-base.mjs +1 -3
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +2 -2
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +3 -3
- package/esm2022/f-connection/common/f-path/i-connection-path.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-text.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +36 -90
- package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +1 -1
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +30 -65
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +10 -9
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +30 -65
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +3 -3
- package/esm2022/f-connectors/f-connector-base.mjs +9 -6
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +1 -5
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +33 -42
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -2
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +21 -33
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -5
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +33 -45
- package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +4 -3
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +4 -4
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +5 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +3 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +3 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +3 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +3 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +8 -8
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +3 -3
- package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +3 -3
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +4 -4
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +6 -6
- package/esm2022/f-draggable/domain/index.mjs +2 -1
- package/esm2022/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.mjs +7 -0
- package/esm2022/f-draggable/domain/is-connection-under-node/index.mjs +5 -0
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +75 -0
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +3 -0
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.mjs +24 -0
- package/esm2022/f-draggable/domain/providers.mjs +5 -2
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +49 -98
- package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
- package/esm2022/f-draggable/index.mjs +2 -1
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +4 -4
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +8 -5
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +4 -2
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +4 -3
- package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +4 -4
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +4 -4
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +2 -2
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +2 -2
- package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +5 -3
- package/esm2022/f-draggable/node/node.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +3 -2
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +3 -2
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +4 -4
- package/esm2022/f-draggable/providers.mjs +2 -2
- package/esm2022/f-draggable/single-select/single-select.execution.mjs +5 -2
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +1 -1
- package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +4 -4
- package/esm2022/f-external-item/domain/index.mjs +2 -1
- package/esm2022/f-external-item/domain/prevent-default-is-external-item/index.mjs +3 -0
- package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +36 -0
- package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +6 -0
- package/esm2022/f-external-item/domain/providers.mjs +3 -1
- package/esm2022/f-flow/f-flow-base.mjs +1 -1
- package/esm2022/f-flow/f-flow.component.mjs +46 -49
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +21 -22
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +4 -4
- package/esm2022/f-minimap/domain/index.mjs +4 -2
- package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.mjs +2 -0
- package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.mjs +4 -0
- package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +71 -0
- package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.mjs +7 -0
- package/esm2022/f-minimap/domain/minimap-calculate-view-box/index.mjs +3 -0
- package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +39 -0
- package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.mjs +3 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +2 -2
- package/esm2022/f-minimap/domain/minimap-draw-nodes/index.mjs +3 -0
- package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +60 -0
- package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.mjs +3 -0
- package/esm2022/f-minimap/domain/providers.mjs +7 -1
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +17 -51
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +16 -60
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +14 -25
- package/esm2022/f-minimap/f-minimap.component.mjs +28 -30
- package/esm2022/f-node/domain/index.mjs +1 -2
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +8 -8
- package/esm2022/f-node/f-group.directive.mjs +18 -42
- package/esm2022/f-node/f-node-base.mjs +15 -3
- package/esm2022/f-node/f-node.directive.mjs +18 -42
- package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +13 -16
- package/esm2022/f-node/index.mjs +1 -2
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +2 -2
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +6 -6
- package/esm2022/f-selection-area/f-selection-area.component.mjs +13 -13
- package/esm2022/f-storage/f-components-store.mjs +15 -20
- package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +3 -0
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +3 -0
- package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +25 -0
- package/esm2022/f-storage/features/listen-count-changes/index.mjs +3 -0
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +3 -0
- package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +25 -0
- package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -0
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +24 -0
- package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.request.mjs +3 -0
- package/esm2022/f-storage/features/notify-data-changed/index.mjs +3 -0
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +3 -0
- package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +23 -0
- package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -0
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +23 -0
- package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.request.mjs +3 -0
- package/esm2022/f-storage/index.mjs +7 -2
- package/esm2022/f-storage/providers.mjs +15 -0
- package/esm2022/f-zoom/f-zoom-base.mjs +51 -45
- package/esm2022/f-zoom/f-zoom.directive.mjs +11 -12
- package/esm2022/i-has-host-element.mjs +1 -1
- package/esm2022/public-api.mjs +2 -2
- package/esm2022/reactivity/debounce-time.mjs +10 -0
- package/esm2022/reactivity/f-channel-hub.mjs +23 -0
- package/esm2022/reactivity/f-channel.mjs +16 -0
- package/esm2022/reactivity/f-resize-channel.mjs +28 -0
- package/esm2022/reactivity/index.mjs +7 -0
- package/esm2022/reactivity/notify-on-start.mjs +7 -0
- package/esm2022/reactivity/types.mjs +2 -0
- package/f-backgroud/f-background-base.d.ts +0 -1
- package/f-backgroud/f-background.component.d.ts +3 -8
- package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +16 -17
- package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +17 -20
- package/f-canvas/f-canvas-base.d.ts +0 -2
- package/f-canvas/f-canvas.component.d.ts +5 -11
- package/f-connection/common/f-connection-base.d.ts +3 -5
- package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
- package/f-connection/common/f-path/i-connection-path.d.ts +1 -1
- package/f-connection/common/i-has-connection-text.d.ts +1 -0
- package/f-connection/f-connection/f-connection.component.d.ts +17 -35
- package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +1 -1
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +13 -23
- package/f-connection/f-marker/f-marker.directive.d.ts +2 -3
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +13 -23
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/f-connector-base.d.ts +7 -8
- package/f-connectors/f-node-input/f-node-input-base.d.ts +0 -1
- package/f-connectors/f-node-input/f-node-input.directive.d.ts +14 -16
- package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +0 -1
- package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +9 -11
- package/f-connectors/f-node-output/f-node-output-base.d.ts +0 -1
- package/f-connectors/f-node-output/f-node-output.directive.d.ts +14 -16
- package/f-draggable/canvas/canvas.drag-handler.d.ts +3 -3
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -3
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +3 -3
- package/f-draggable/domain/index.d.ts +1 -0
- package/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.d.ts +5 -0
- package/f-draggable/domain/is-connection-under-node/index.d.ts +4 -0
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +19 -0
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.d.ts +9 -0
- package/f-draggable/domain/providers.d.ts +2 -1
- package/f-draggable/f-draggable-base.d.ts +2 -0
- package/f-draggable/f-draggable.directive.d.ts +9 -16
- package/f-draggable/i-draggable-item.d.ts +3 -3
- package/f-draggable/index.d.ts +1 -0
- package/f-draggable/node/connection-base-drag-handler.d.ts +2 -2
- package/f-draggable/node/connection-source.drag-handler.d.ts +1 -1
- package/f-draggable/node/connection-target.drag-handler.d.ts +1 -1
- package/f-draggable/node/connection.drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +1 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +2 -2
- package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +3 -2
- package/f-draggable/node/node.drag-handler.d.ts +2 -2
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/node-resize/node-resize.drag-handler.d.ts +3 -3
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.execution.d.ts +1 -0
- package/f-external-item/domain/external-item.drag-handler.d.ts +3 -3
- package/f-external-item/domain/index.d.ts +1 -0
- package/f-external-item/domain/prevent-default-is-external-item/index.d.ts +2 -0
- package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.d.ts +10 -0
- package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.d.ts +4 -0
- package/f-external-item/domain/providers.d.ts +2 -1
- package/f-flow/f-flow-base.d.ts +1 -1
- package/f-flow/f-flow.component.d.ts +11 -13
- package/f-line-alignment/f-line-alignment.component.d.ts +8 -10
- package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -3
- package/f-minimap/domain/index.d.ts +3 -1
- package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.d.ts +5 -0
- package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.d.ts +3 -0
- package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.d.ts +22 -0
- package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.d.ts +5 -0
- package/f-minimap/domain/minimap-calculate-view-box/index.d.ts +2 -0
- package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +14 -0
- package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.d.ts +2 -0
- package/f-minimap/domain/minimap-draw-nodes/index.d.ts +2 -0
- package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +18 -0
- package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.d.ts +2 -0
- package/f-minimap/domain/providers.d.ts +4 -1
- package/f-minimap/f-minimap-canvas.directive.d.ts +3 -15
- package/f-minimap/f-minimap-flow.directive.d.ts +4 -20
- package/f-minimap/f-minimap-view.directive.d.ts +4 -9
- package/f-minimap/f-minimap.component.d.ts +7 -10
- package/f-node/domain/index.d.ts +0 -1
- package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +2 -3
- package/f-node/f-group.directive.d.ts +4 -11
- package/f-node/f-node-base.d.ts +6 -7
- package/f-node/f-node.directive.d.ts +4 -11
- package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +4 -6
- package/f-node/index.d.ts +0 -1
- package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
- package/f-selection-area/f-selection-area.component.d.ts +3 -5
- package/f-storage/f-components-store.d.ts +7 -9
- package/f-storage/features/listen-components-data-changed/index.d.ts +2 -0
- package/f-storage/features/listen-components-data-changed/listen-data-changes-request.d.ts +2 -0
- package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +10 -0
- package/f-storage/features/listen-count-changes/index.d.ts +2 -0
- package/f-storage/features/listen-count-changes/listen-count-changes-request.d.ts +2 -0
- package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +10 -0
- package/f-storage/features/listen-transform-changes/index.d.ts +2 -0
- package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +10 -0
- package/f-storage/features/listen-transform-changes/listen-transform-changes.request.d.ts +2 -0
- package/f-storage/features/notify-data-changed/index.d.ts +2 -0
- package/f-storage/features/notify-data-changed/notify-data-changed-request.d.ts +2 -0
- package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +9 -0
- package/f-storage/features/notify-transform-changed/index.d.ts +2 -0
- package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +9 -0
- package/f-storage/features/notify-transform-changed/notify-transform-changed.request.d.ts +2 -0
- package/f-storage/index.d.ts +6 -1
- package/f-storage/providers.d.ts +7 -0
- package/f-zoom/f-zoom-base.d.ts +10 -11
- package/f-zoom/f-zoom.directive.d.ts +0 -2
- package/fesm2022/foblex-flow.mjs +4109 -3168
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/i-has-host-element.d.ts +2 -2
- package/package.json +5 -6
- package/public-api.d.ts +1 -1
- package/reactivity/debounce-time.d.ts +2 -0
- package/reactivity/f-channel-hub.d.ts +10 -0
- package/reactivity/f-channel.d.ts +7 -0
- package/reactivity/f-resize-channel.d.ts +11 -0
- package/reactivity/index.d.ts +6 -0
- package/reactivity/notify-on-start.d.ts +2 -0
- package/reactivity/types.d.ts +2 -0
- package/domain/constants.d.ts +0 -1
- package/domain/emit-transform-changes/emit-transform-changes.execution.d.ts +0 -11
- package/domain/emit-transform-changes/emit-transform-changes.request.d.ts +0 -2
- package/domain/emit-transform-changes/index.d.ts +0 -2
- package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +0 -14
- package/domain/get-nodes-rect/get-nodes-rect.request.d.ts +0 -2
- package/domain/get-nodes-rect/index.d.ts +0 -2
- package/domain/is-connection-under-node/index.d.ts +0 -1
- package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +0 -20
- package/domain/show-connections-after-calculations/index.d.ts +0 -2
- package/domain/show-connections-after-calculations/show-connections-after-calculations-request.d.ts +0 -2
- package/domain/show-connections-after-calculations/show-connections-after-calculations.execution.d.ts +0 -11
- package/domain/subscribe-on-transform-changes/index.d.ts +0 -2
- package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.d.ts +0 -13
- package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.d.ts +0 -2
- package/esm2022/domain/constants.mjs +0 -2
- package/esm2022/domain/create-connection-markers/create-connection-markers-request.mjs +0 -6
- package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -60
- package/esm2022/domain/create-connection-markers/index.mjs +0 -3
- package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -23
- package/esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs +0 -3
- package/esm2022/domain/emit-transform-changes/index.mjs +0 -3
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -30
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs +0 -3
- package/esm2022/domain/get-nodes-rect/index.mjs +0 -3
- package/esm2022/domain/is-connection-under-node/index.mjs +0 -2
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -75
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs +0 -3
- package/esm2022/domain/redraw-connections/index.mjs +0 -3
- package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +0 -3
- package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +0 -62
- package/esm2022/domain/show-connections-after-calculations/index.mjs +0 -3
- package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations-request.mjs +0 -3
- package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +0 -25
- package/esm2022/domain/subscribe-on-transform-changes/index.mjs +0 -3
- package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -25
- package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +0 -3
- package/esm2022/f-minimap/domain/check-rect-is-finite.mjs +0 -8
- package/esm2022/f-node/domain/is-group.mjs +0 -4
- package/esm2022/f-node/f-resize-observer.mjs +0 -16
- package/esm2022/f-storage/f-transform-store.mjs +0 -14
- package/esm2022/i-has-state-changes.mjs +0 -2
- package/f-minimap/domain/check-rect-is-finite.d.ts +0 -2
- package/f-node/domain/is-group.d.ts +0 -1
- package/f-node/f-resize-observer.d.ts +0 -4
- package/f-storage/f-transform-store.d.ts +0 -7
- package/i-has-state-changes.d.ts +0 -4
- /package/domain/{create-connection-markers → f-connection/create-connection-markers}/index.d.ts +0 -0
- /package/domain/{redraw-connections → f-connection/redraw-connections}/index.d.ts +0 -0
- /package/domain/{redraw-connections → f-connection/redraw-connections}/redraw-connections-request.d.ts +0 -0
- /package/{domain → f-draggable/domain}/is-connection-under-node/is-connection-under-node.request.d.ts +0 -0
|
@@ -1,68 +1,24 @@
|
|
|
1
|
-
import { Directive, Input, } from "@angular/core";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Directive, ElementRef, inject, Input, } from "@angular/core";
|
|
2
|
+
import { setRectToViewBox } from '@foblex/2d';
|
|
3
|
+
import { FMediator } from '@foblex/mediator';
|
|
4
|
+
import { FMinimapData, MinimapCalculateSvgScaleAndViewBoxRequest } from './domain';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@foblex/mediator";
|
|
7
|
-
import * as i2 from "../f-storage";
|
|
8
6
|
export class FMinimapFlowDirective {
|
|
9
|
-
|
|
10
|
-
return this.fComponentsStore.flowHost;
|
|
11
|
-
}
|
|
12
|
-
get hostElement() {
|
|
13
|
-
return this.elementReference.nativeElement;
|
|
14
|
-
}
|
|
15
|
-
constructor(elementReference, fMediator, fComponentsStore) {
|
|
16
|
-
this.elementReference = elementReference;
|
|
17
|
-
this.fMediator = fMediator;
|
|
18
|
-
this.fComponentsStore = fComponentsStore;
|
|
7
|
+
constructor() {
|
|
19
8
|
this.fMinSize = 1000;
|
|
9
|
+
this._fMediator = inject(FMediator);
|
|
10
|
+
this._elementReference = inject(ElementRef);
|
|
20
11
|
this.model = new FMinimapData(this.hostElement);
|
|
21
12
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const minimapRect = this.getMinimapRect();
|
|
25
|
-
const scale = this.calculateViewScale(nodesRect, minimapRect);
|
|
26
|
-
const viewBox = this.calculateViewBox(nodesRect, minimapRect, scale);
|
|
27
|
-
this.model = new FMinimapData(this.hostElement, scale, viewBox);
|
|
28
|
-
this.setViewBox(viewBox);
|
|
29
|
-
}
|
|
30
|
-
getProcessedNodesRect() {
|
|
31
|
-
const normalizedRect = this.normalizeRect(this.getNodesRect());
|
|
32
|
-
return this.ensureMinimumSize(normalizedRect);
|
|
33
|
-
}
|
|
34
|
-
getNodesRect() {
|
|
35
|
-
const rect = this.fMediator.send(new GetNodesRectRequest()) || RectExtensions.initialize(0, 0, 0, 0);
|
|
36
|
-
return RectExtensions.elementTransform(rect, this.flowHost);
|
|
37
|
-
}
|
|
38
|
-
getMinimapRect() {
|
|
39
|
-
return RectExtensions.elementTransform(RectExtensions.fromElement(this.hostElement), this.flowHost);
|
|
40
|
-
}
|
|
41
|
-
normalizeRect(rect) {
|
|
42
|
-
return RectExtensions.div(rect, this.fComponentsStore.transform.scale);
|
|
43
|
-
}
|
|
44
|
-
ensureMinimumSize(rect) {
|
|
45
|
-
return RectExtensions.initialize(rect.x - (Math.max(rect.width, this.fMinSize) - rect.width) / 2, rect.y - (Math.max(rect.height, this.fMinSize) - rect.height) / 2, Math.max(rect.width, this.fMinSize), Math.max(rect.height, this.fMinSize));
|
|
46
|
-
}
|
|
47
|
-
calculateViewScale(nodesRect, minimapRect) {
|
|
48
|
-
return Math.max(nodesRect.width / minimapRect.width, nodesRect.height / minimapRect.height);
|
|
49
|
-
}
|
|
50
|
-
calculateViewBox(nodesRect, minimapRect, scale) {
|
|
51
|
-
return this.calculateCenteredViewBox(nodesRect, this.calculateViewSize(minimapRect, scale));
|
|
52
|
-
}
|
|
53
|
-
calculateViewSize(minimapRect, scale) {
|
|
54
|
-
return SizeExtensions.initialize(minimapRect.width * scale || 0, minimapRect.height * scale || 0);
|
|
55
|
-
}
|
|
56
|
-
calculateCenteredViewBox(nodesRect, viewSize) {
|
|
57
|
-
const centeredX = nodesRect.x - (viewSize.width - nodesRect.width) / 2;
|
|
58
|
-
const centeredY = nodesRect.y - (viewSize.height - nodesRect.height) / 2;
|
|
59
|
-
return RectExtensions.initialize(centeredX, centeredY, viewSize.width, viewSize.height);
|
|
13
|
+
get hostElement() {
|
|
14
|
+
return this._elementReference.nativeElement;
|
|
60
15
|
}
|
|
61
|
-
|
|
62
|
-
viewBox =
|
|
63
|
-
this.
|
|
16
|
+
redraw() {
|
|
17
|
+
const { scale, viewBox } = this._fMediator.send(new MinimapCalculateSvgScaleAndViewBoxRequest(this.hostElement, this.fMinSize));
|
|
18
|
+
this.model = new FMinimapData(this.hostElement, scale, viewBox);
|
|
19
|
+
setRectToViewBox(viewBox, this.hostElement);
|
|
64
20
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapFlowDirective, deps: [
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapFlowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
22
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FMinimapFlowDirective, selector: "svg[fMinimapFlow]", inputs: { fMinSize: "fMinSize" }, ngImport: i0 }); }
|
|
67
23
|
}
|
|
68
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapFlowDirective, decorators: [{
|
|
@@ -70,7 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
70
26
|
args: [{
|
|
71
27
|
selector: 'svg[fMinimapFlow]'
|
|
72
28
|
}]
|
|
73
|
-
}],
|
|
29
|
+
}], propDecorators: { fMinSize: [{
|
|
74
30
|
type: Input
|
|
75
31
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLWZsb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZi1taW5pbWFwLWZsb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEdBQ3JDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBNEIseUNBQXlDLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSzdHLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFNUyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBRXZCLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0Isc0JBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBTXhDLFVBQUssR0FBaUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBVWpFO0lBZEMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBSU0sTUFBTTtRQUNYLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzVDLElBQUkseUNBQXlDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQy9FLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWhFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0F0QlUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OEJBSVEsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkluaXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBzZXRSZWN0VG9WaWV3Qm94IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZNaW5pbWFwRGF0YSwgSUZNaW5pbWFwU2NhbGVBbmRWaWV3Qm94LCBNaW5pbWFwQ2FsY3VsYXRlU3ZnU2NhbGVBbmRWaWV3Qm94UmVxdWVzdCB9IGZyb20gJy4vZG9tYWluJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3ZnW2ZNaW5pbWFwRmxvd10nXG59KVxuZXhwb3J0IGNsYXNzIEZNaW5pbWFwRmxvd0RpcmVjdGl2ZSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZNaW5TaXplOiBudW1iZXIgPSAxMDAwO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBTVkdTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG1vZGVsOiBGTWluaW1hcERhdGEgPSBuZXcgRk1pbmltYXBEYXRhKHRoaXMuaG9zdEVsZW1lbnQpO1xuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgY29uc3QgeyBzY2FsZSwgdmlld0JveH0gPSB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxJRk1pbmltYXBTY2FsZUFuZFZpZXdCb3g+KFxuICAgICAgbmV3IE1pbmltYXBDYWxjdWxhdGVTdmdTY2FsZUFuZFZpZXdCb3hSZXF1ZXN0KHRoaXMuaG9zdEVsZW1lbnQsIHRoaXMuZk1pblNpemUpXG4gICAgKTtcbiAgICB0aGlzLm1vZGVsID0gbmV3IEZNaW5pbWFwRGF0YSh0aGlzLmhvc3RFbGVtZW50LCBzY2FsZSwgdmlld0JveCk7XG5cbiAgICBzZXRSZWN0VG9WaWV3Qm94KHZpZXdCb3gsIHRoaXMuaG9zdEVsZW1lbnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,31 +1,20 @@
|
|
|
1
|
-
import { Directive } from "@angular/core";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Directive, ElementRef, inject } from "@angular/core";
|
|
2
|
+
import { setRectToElement } from '@foblex/2d';
|
|
3
|
+
import { FMediator } from '@foblex/mediator';
|
|
4
|
+
import { MinimapCalculateViewBoxRequest } from './domain';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../f-storage";
|
|
6
6
|
export class FMinimapViewDirective {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
get flowScale() {
|
|
11
|
-
return this.fComponentsStore.transform.scale;
|
|
7
|
+
constructor() {
|
|
8
|
+
this._fMediator = inject(FMediator);
|
|
9
|
+
this._elementReference = inject(ElementRef);
|
|
12
10
|
}
|
|
13
|
-
|
|
14
|
-
this.
|
|
15
|
-
this.fComponentsStore = fComponentsStore;
|
|
16
|
-
}
|
|
17
|
-
update() {
|
|
18
|
-
const viewBox = RectExtensions.div(RectExtensions.fromElement(this.fComponentsStore.flowHost), this.flowScale);
|
|
19
|
-
this.setAttributes(viewBox);
|
|
11
|
+
get hostElement() {
|
|
12
|
+
return this._elementReference.nativeElement;
|
|
20
13
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.hostElement.setAttribute('x', '0');
|
|
24
|
-
this.hostElement.setAttribute('y', '0');
|
|
25
|
-
this.hostElement.setAttribute('width', viewBox.width.toString());
|
|
26
|
-
this.hostElement.setAttribute('height', viewBox.height.toString());
|
|
14
|
+
redraw() {
|
|
15
|
+
setRectToElement(this._fMediator.send(new MinimapCalculateViewBoxRequest()), this.hostElement);
|
|
27
16
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapViewDirective, deps: [
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
18
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FMinimapViewDirective, selector: "rect[fMinimapView]", host: { classAttribute: "f-component f-minimap-view" }, ngImport: i0 }); }
|
|
30
19
|
}
|
|
31
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapViewDirective, decorators: [{
|
|
@@ -36,5 +25,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
36
25
|
'class': 'f-component f-minimap-view',
|
|
37
26
|
}
|
|
38
27
|
}]
|
|
39
|
-
}]
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZi1taW5pbWFwLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQVMsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFRMUQsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQVFVLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0Isc0JBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBWWhEO0lBVkMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRU0sTUFBTTtRQUNYLGdCQUFnQixDQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFRLElBQUksOEJBQThCLEVBQUUsQ0FBQyxFQUNqRSxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO0lBQ0osQ0FBQzsrR0FmVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixJQUFJLEVBQUU7d0JBQ0osT0FBTyxFQUFFLDRCQUE0QjtxQkFDdEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJUmVjdCwgc2V0UmVjdFRvRWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBNaW5pbWFwQ2FsY3VsYXRlVmlld0JveFJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3JlY3RbZk1pbmltYXBWaWV3XScsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1taW5pbWFwLXZpZXcnLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZNaW5pbWFwVmlld0RpcmVjdGl2ZSB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICBzZXRSZWN0VG9FbGVtZW50KFxuICAgICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBNaW5pbWFwQ2FsY3VsYXRlVmlld0JveFJlcXVlc3QoKSksXG4gICAgICB0aGlzLmhvc3RFbGVtZW50XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,50 +1,48 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from "@angular/core";
|
|
2
|
-
import {
|
|
3
|
-
import { debounceTime } from 'rxjs/operators';
|
|
4
|
-
import { SubscribeOnTransformChangesRequest } from '../domain';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, inject, Input, ViewChild, } from "@angular/core";
|
|
2
|
+
import { FMediator } from '@foblex/mediator';
|
|
5
3
|
import { FMinimapFlowDirective } from './f-minimap-flow.directive';
|
|
6
4
|
import { FMinimapCanvasDirective } from './f-minimap-canvas.directive';
|
|
7
5
|
import { FMinimapViewDirective } from './f-minimap-view.directive';
|
|
8
6
|
import { F_DRAG_AND_DROP_PLUGIN } from '../f-draggable';
|
|
9
7
|
import { MinimapDragFinalizeRequest, MinimapDragPreparationRequest } from './domain';
|
|
8
|
+
import { ListenTransformChangesRequest } from '../f-storage';
|
|
9
|
+
import { debounceTime, notifyOnStart } from '../reactivity';
|
|
10
|
+
import { BrowserService } from '@foblex/platform';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "
|
|
12
|
-
import * as i2 from "./f-minimap-
|
|
13
|
-
import * as i3 from "./f-minimap-
|
|
14
|
-
import * as i4 from "./f-minimap-flow.directive";
|
|
12
|
+
import * as i1 from "./f-minimap-canvas.directive";
|
|
13
|
+
import * as i2 from "./f-minimap-view.directive";
|
|
14
|
+
import * as i3 from "./f-minimap-flow.directive";
|
|
15
15
|
export class FMinimapComponent {
|
|
16
|
-
constructor(
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
16
|
+
constructor() {
|
|
17
|
+
this._destroyRef = inject(DestroyRef);
|
|
18
|
+
this._fMediator = inject(FMediator);
|
|
19
|
+
this._fBrowser = inject(BrowserService);
|
|
20
20
|
this.fMinSize = 1000;
|
|
21
21
|
}
|
|
22
22
|
ngAfterViewInit() {
|
|
23
|
-
this.
|
|
23
|
+
this._listenTransformChanges();
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this.fMinimapFlow.update();
|
|
28
|
-
this.fMinimapView.update();
|
|
29
|
-
this.fMinimapCanvas.redraw();
|
|
30
|
-
});
|
|
25
|
+
_listenTransformChanges() {
|
|
26
|
+
this._fMediator.send(new ListenTransformChangesRequest()).pipe(notifyOnStart(), debounceTime(5)).listen(this._destroyRef, () => this._redraw());
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
_redraw() {
|
|
29
|
+
if (!this._fBrowser.isBrowser()) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.fMinimapFlow.redraw();
|
|
33
|
+
this.fMinimapView.redraw();
|
|
34
|
+
this.fMinimapCanvas.redraw();
|
|
34
35
|
}
|
|
35
36
|
onPointerDown(event) {
|
|
36
|
-
this.
|
|
37
|
+
this._fMediator.send(new MinimapDragPreparationRequest(event, this.fMinimapFlow.model));
|
|
37
38
|
}
|
|
38
39
|
onPointerUp(event) {
|
|
39
|
-
this.
|
|
40
|
+
this._fMediator.send(new MinimapDragFinalizeRequest(event));
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
this.subscriptions$.unsubscribe();
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapComponent, deps: [{ token: i0.ElementRef }, { token: i1.FMediator }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
43
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FMinimapComponent, selector: "f-minimap", inputs: { fMinSize: "fMinSize" }, host: { classAttribute: "f-component f-minimap" }, providers: [
|
|
46
44
|
{ provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FMinimapComponent },
|
|
47
|
-
], viewQueries: [{ propertyName: "fMinimapCanvas", first: true, predicate: FMinimapCanvasDirective, descendants: true, static: true }, { propertyName: "fMinimapFlow", first: true, predicate: FMinimapFlowDirective, descendants: true, static: true }, { propertyName: "fMinimapView", first: true, predicate: FMinimapViewDirective, descendants: true, static: true }], exportAs: ["fComponent"], ngImport: i0, template: "<svg fMinimapFlow width=\"100%\" height=\"100%\" fLockedContext [fMinSize]=\"fMinSize\">\n <g fMinimapCanvas></g>\n <rect fMinimapView x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" stroke=\"none\"/>\n</svg>\n\n", styles: [":host{display:block;position:absolute}:host svg{overflow:hidden}\n"], dependencies: [{ kind: "directive", type:
|
|
45
|
+
], viewQueries: [{ propertyName: "fMinimapCanvas", first: true, predicate: FMinimapCanvasDirective, descendants: true, static: true }, { propertyName: "fMinimapFlow", first: true, predicate: FMinimapFlowDirective, descendants: true, static: true }, { propertyName: "fMinimapView", first: true, predicate: FMinimapViewDirective, descendants: true, static: true }], exportAs: ["fComponent"], ngImport: i0, template: "<svg fMinimapFlow width=\"100%\" height=\"100%\" fLockedContext [fMinSize]=\"fMinSize\">\n <g fMinimapCanvas></g>\n <rect fMinimapView x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" stroke=\"none\"/>\n</svg>\n\n", styles: [":host{display:block;position:absolute}:host svg{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.FMinimapCanvasDirective, selector: "g[fMinimapCanvas]" }, { kind: "directive", type: i2.FMinimapViewDirective, selector: "rect[fMinimapView]" }, { kind: "directive", type: i3.FMinimapFlowDirective, selector: "svg[fMinimapFlow]", inputs: ["fMinSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
46
|
}
|
|
49
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FMinimapComponent, decorators: [{
|
|
50
48
|
type: Component,
|
|
@@ -53,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
53
51
|
}, providers: [
|
|
54
52
|
{ provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FMinimapComponent },
|
|
55
53
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg fMinimapFlow width=\"100%\" height=\"100%\" fLockedContext [fMinSize]=\"fMinSize\">\n <g fMinimapCanvas></g>\n <rect fMinimapView x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" stroke=\"none\"/>\n</svg>\n\n", styles: [":host{display:block;position:absolute}:host svg{overflow:hidden}\n"] }]
|
|
56
|
-
}],
|
|
54
|
+
}], propDecorators: { fMinimapCanvas: [{
|
|
57
55
|
type: ViewChild,
|
|
58
56
|
args: [FMinimapCanvasDirective, { static: true }]
|
|
59
57
|
}], fMinimapFlow: [{
|
|
@@ -65,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
65
63
|
}], fMinSize: [{
|
|
66
64
|
type: Input
|
|
67
65
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2YtbWluaW1hcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9mLW1pbmltYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQzdELE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHNCQUFzQixFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBZSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQWVsRCxNQUFNLE9BQU8saUJBQWlCO0lBYjlCO1FBZVUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixjQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBWXBDLGFBQVEsR0FBVyxJQUFJLENBQUM7S0E0QmhDO0lBMUJRLGVBQWU7UUFDcEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBYyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3pFLGFBQWEsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDakMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQy9CLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBb0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7K0dBM0NVLGlCQUFpQjttR0FBakIsaUJBQWlCLHlIQUxqQjtZQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRTtTQUNwRSwwRUFTVSx1QkFBdUIsNkZBR3ZCLHFCQUFxQiw2RkFHckIscUJBQXFCLHdGQ3hDbEMsdU5BS0E7OzRGRHVCYSxpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0UsV0FBVyxZQUdYLFlBQVksUUFDaEI7d0JBQ0osT0FBTyxFQUFFLHVCQUF1QjtxQkFDakMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFO3FCQUNwRSxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFTeEMsY0FBYztzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTdDLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkzQyxZQUFZO3NCQURsQixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTWluaW1hcEZsb3dEaXJlY3RpdmUgfSBmcm9tICcuL2YtbWluaW1hcC1mbG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGTWluaW1hcENhbnZhc0RpcmVjdGl2ZSB9IGZyb20gJy4vZi1taW5pbWFwLWNhbnZhcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRk1pbmltYXBWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9mLW1pbmltYXAtdmlldy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIElGRHJhZ0FuZERyb3BQbHVnaW4gfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ0ZpbmFsaXplUmVxdWVzdCwgTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaXN0ZW5UcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLW1pbmltYXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1taW5pbWFwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtbWluaW1hcC5jb21wb25lbnQuc2NzcycgXSxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLW1pbmltYXAnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHVzZUV4aXN0aW5nOiBGTWluaW1hcENvbXBvbmVudCB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRk1pbmltYXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBJRkRyYWdBbmREcm9wUGx1Z2luIHtcblxuICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoRk1pbmltYXBDYW52YXNEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBmTWluaW1hcENhbnZhcyE6IEZNaW5pbWFwQ2FudmFzRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoRk1pbmltYXBGbG93RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZk1pbmltYXBGbG93ITogRk1pbmltYXBGbG93RGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoRk1pbmltYXBWaWV3RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZk1pbmltYXBWaWV3ITogRk1pbmltYXBWaWV3RGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTWluU2l6ZTogbnVtYmVyID0gMTAwMDtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xpc3RlblRyYW5zZm9ybUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblRyYW5zZm9ybUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8RkNoYW5uZWxIdWI+KG5ldyBMaXN0ZW5UcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKS5waXBlKFxuICAgICAgbm90aWZ5T25TdGFydCgpLCBkZWJvdW5jZVRpbWUoNSlcbiAgICApLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXcoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9mQnJvd3Nlci5pc0Jyb3dzZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZNaW5pbWFwRmxvdy5yZWRyYXcoKTtcbiAgICB0aGlzLmZNaW5pbWFwVmlldy5yZWRyYXcoKTtcbiAgICB0aGlzLmZNaW5pbWFwQ2FudmFzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk1pbmltYXBGbG93Lm1vZGVsKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgTWluaW1hcERyYWdGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxufVxuIiwiPHN2ZyBmTWluaW1hcEZsb3cgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZMb2NrZWRDb250ZXh0IFtmTWluU2l6ZV09XCJmTWluU2l6ZVwiPlxuICA8ZyBmTWluaW1hcENhbnZhcz48L2c+XG4gIDxyZWN0IGZNaW5pbWFwVmlldyB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHN0cm9rZT1cIm5vbmVcIi8+XG48L3N2Zz5cblxuIl19
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './is-group';
|
|
2
1
|
export * from './is-node';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lzLW5vZGUnO1xuIl19
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Directive, InjectionToken } from "@angular/core";
|
|
1
|
+
import { Directive, ElementRef, inject, InjectionToken } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
|
|
4
4
|
export class FDragHandleDirective {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
constructor() {
|
|
6
|
+
this._elementReference = inject(ElementRef);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
this.
|
|
8
|
+
get hostElement() {
|
|
9
|
+
return this._elementReference.nativeElement;
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDragHandleDirective, deps: [
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
12
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 }); }
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDragHandleDirective, decorators: [{
|
|
@@ -20,5 +20,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
20
20
|
},
|
|
21
21
|
providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
|
|
22
22
|
}]
|
|
23
|
-
}]
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnLWhhbmRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2YtZHJhZy1oYW5kbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQzlDLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQXVCLGVBQWUsQ0FBQyxDQUFDO0FBU3ZGLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFTVSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FLaEQ7SUFIQyxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7K0dBTlUsb0JBQW9CO21HQUFwQixvQkFBb0IsK0ZBRnBCLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFFOzs0RkFFakUsb0JBQW9CO2tCQVBoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDJCQUEyQjtxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRTtpQkFDN0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW5cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5cbmV4cG9ydCBjb25zdCBGX0RSQUdfSEFORExFID0gbmV3IEluamVjdGlvblRva2VuPEZEcmFnSGFuZGxlRGlyZWN0aXZlPignRl9EUkFHX0hBTkRMRScpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZEcmFnSGFuZGxlXVwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1kcmFnLWhhbmRsZSBmLWNvbXBvbmVudFwiXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfRFJBR19IQU5ETEUsIHVzZUV4aXN0aW5nOiBGRHJhZ0hhbmRsZURpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnSGFuZGxlRGlyZWN0aXZlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, } from "@angular/core";
|
|
1
|
+
import { DestroyRef, Directive, EventEmitter, inject, Input, Output, } from "@angular/core";
|
|
2
2
|
import { PointExtensions } from '@foblex/2d';
|
|
3
3
|
import { F_NODE, FNodeBase } from './f-node-base';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest } from '../f-connectors';
|
|
8
|
-
import { EmitTransformChangesRequest } from '../domain';
|
|
4
|
+
import { NotifyTransformChangedRequest } from '../f-storage';
|
|
5
|
+
import { FMediator } from '@foblex/mediator';
|
|
6
|
+
import { AddNodeToStoreRequest, UpdateNodeWhenStateOrSizeChangedRequest, RemoveNodeFromStoreRequest } from '../domain';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "
|
|
11
|
-
import * as i2 from "@foblex/mediator";
|
|
12
|
-
import * as i3 from "@foblex/platform";
|
|
8
|
+
import * as i1 from "@foblex/platform";
|
|
13
9
|
let uniqueId = 0;
|
|
14
10
|
export class FGroupDirective extends FNodeBase {
|
|
15
11
|
set position(value) {
|
|
@@ -26,13 +22,10 @@ export class FGroupDirective extends FNodeBase {
|
|
|
26
22
|
get size() {
|
|
27
23
|
return this._size;
|
|
28
24
|
}
|
|
29
|
-
constructor(elementReference, renderer,
|
|
25
|
+
constructor(elementReference, renderer, fBrowser) {
|
|
30
26
|
super(elementReference.nativeElement);
|
|
31
27
|
this.renderer = renderer;
|
|
32
|
-
this.fComponentsStore = fComponentsStore;
|
|
33
|
-
this.fMediator = fMediator;
|
|
34
28
|
this.fBrowser = fBrowser;
|
|
35
|
-
this.subscriptions$ = new Subscription();
|
|
36
29
|
this.fId = `f-group-${uniqueId++}`;
|
|
37
30
|
this.fParentId = null;
|
|
38
31
|
this.positionChange = new EventEmitter();
|
|
@@ -41,7 +34,8 @@ export class FGroupDirective extends FNodeBase {
|
|
|
41
34
|
this.fSelectionDisabled = false;
|
|
42
35
|
this.fIncludePadding = true;
|
|
43
36
|
this.fConnectOnNode = true;
|
|
44
|
-
this.
|
|
37
|
+
this._destroyRef = inject(DestroyRef);
|
|
38
|
+
this._fMediator = inject(FMediator);
|
|
45
39
|
}
|
|
46
40
|
ngOnInit() {
|
|
47
41
|
this.setStyle('position', 'absolute');
|
|
@@ -51,49 +45,31 @@ export class FGroupDirective extends FNodeBase {
|
|
|
51
45
|
this.setStyle('left', '0');
|
|
52
46
|
this.setStyle('top', '0');
|
|
53
47
|
super.redraw();
|
|
54
|
-
this.
|
|
48
|
+
this._fMediator.send(new AddNodeToStoreRequest(this));
|
|
55
49
|
}
|
|
56
50
|
setStyle(styleName, value) {
|
|
57
51
|
this.renderer.setStyle(this.hostElement, styleName, value);
|
|
58
52
|
}
|
|
59
53
|
redraw() {
|
|
60
54
|
super.redraw();
|
|
61
|
-
this.
|
|
55
|
+
this._fMediator.send(new NotifyTransformChangedRequest());
|
|
62
56
|
}
|
|
63
57
|
ngAfterViewInit() {
|
|
64
58
|
if (!this.fBrowser.isBrowser()) {
|
|
65
59
|
return;
|
|
66
60
|
}
|
|
67
|
-
this.
|
|
61
|
+
this._listenStateSizeChanges();
|
|
68
62
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.connectors.forEach((fConnector) => {
|
|
72
|
-
fConnector.fConnectableSide = new CalculateConnectorConnectableSideHandler().handle(new CalculateConnectorConnectableSideRequest(fConnector, this.hostElement));
|
|
73
|
-
});
|
|
74
|
-
this.fComponentsStore.componentDataChanged();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
addConnector(connector) {
|
|
78
|
-
this.connectors.push(connector);
|
|
79
|
-
this.stateChanges.next();
|
|
80
|
-
}
|
|
81
|
-
removeConnector(connector) {
|
|
82
|
-
const index = this.connectors.indexOf(connector);
|
|
83
|
-
if (index !== -1) {
|
|
84
|
-
this.connectors.splice(index, 1);
|
|
85
|
-
}
|
|
86
|
-
this.stateChanges.next();
|
|
63
|
+
_listenStateSizeChanges() {
|
|
64
|
+
this._fMediator.send(new UpdateNodeWhenStateOrSizeChangedRequest(this, this._destroyRef));
|
|
87
65
|
}
|
|
88
66
|
refresh() {
|
|
89
|
-
this.stateChanges.
|
|
67
|
+
this.stateChanges.notify();
|
|
90
68
|
}
|
|
91
69
|
ngOnDestroy() {
|
|
92
|
-
this.
|
|
93
|
-
this.stateChanges.complete();
|
|
94
|
-
this.subscriptions$.unsubscribe();
|
|
70
|
+
this._fMediator.send(new RemoveNodeFromStoreRequest(this));
|
|
95
71
|
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FGroupDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FGroupDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
97
73
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FGroupDirective, selector: "[fGroup]", inputs: { fId: ["fGroupId", "fId"], fParentId: ["fGroupParentId", "fParentId"], position: ["fGroupPosition", "position"], size: ["fGroupSize", "size"], fDraggingDisabled: ["fGroupDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fGroupSelectionDisabled", "fSelectionDisabled"], fIncludePadding: "fIncludePadding", fConnectOnNode: "fConnectOnNode" }, outputs: { positionChange: "fGroupPositionChange", sizeChange: "fGroupSizeChange" }, host: { properties: { "attr.data-f-group-id": "fId", "class.f-group-dragging-disabled": "fDraggingDisabled", "class.f-group-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-group f-component" }, providers: [
|
|
98
74
|
{ provide: F_NODE, useExisting: FGroupDirective }
|
|
99
75
|
], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
|
|
@@ -113,7 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
113
89
|
{ provide: F_NODE, useExisting: FGroupDirective }
|
|
114
90
|
],
|
|
115
91
|
}]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.BrowserService }]; }, propDecorators: { fId: [{
|
|
117
93
|
type: Input,
|
|
118
94
|
args: ['fGroupId']
|
|
119
95
|
}], fParentId: [{
|
|
@@ -142,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
142
118
|
}], fConnectOnNode: [{
|
|
143
119
|
type: Input
|
|
144
120
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBRXpDLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQUl4RCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFlekIsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUztJQVc1QyxJQUNvQixRQUFRLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBSUQsSUFDb0IsSUFBSSxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFD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WUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHdCQUF3QixFQUFFLEtBQUs7d0JBQy9CLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLG1DQUFtQyxFQUFFLG1CQUFtQjt3QkFDeEQsb0NBQW9DLEVBQUUsb0JBQW9CO3FCQUMzRDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsaUJBQWlCLEVBQUU7cUJBQ2xEO2lCQUNGOzZNQU9pQixHQUFHO3NCQURsQixLQUFLO3VCQUFDLFVBQVU7Z0JBSUQsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSUgsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBU1AsY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxzQkFBc0I7Z0JBSVYsSUFBSTtzQkFEdkIsS0FBSzt1QkFBQyxZQUFZO2dCQVNILFVBQVU7c0JBRHpCLE1BQU07dUJBQUMsa0JBQWtCO2dCQUlWLGlCQUFpQjtzQkFEaEMsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBSWYsa0JBQWtCO3NCQURqQyxLQUFLO3VCQUFDLHlCQUF5QjtnQkFJaEIsZUFBZTtzQkFEOUIsS0FBSztnQkFJVSxjQUFjO3NCQUQ3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCxcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkdyb3VwXVwiLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLWdyb3VwLWlkXSc6ICdmSWQnLFxuICAgIGNsYXNzOiBcImYtZ3JvdXAgZi1jb21wb25lbnRcIixcbiAgICAnW2NsYXNzLmYtZ3JvdXAtZHJhZ2dpbmctZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtZ3JvdXAtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTk9ERSwgdXNlRXhpc3Rpbmc6IEZHcm91cERpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZHcm91cERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgSUhhc0hvc3RFbGVtZW50LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoJ2ZHcm91cElkJylcbiAgcHVibGljIG92ZXJyaWRlIGZJZDogc3RyaW5nID0gYGYtZ3JvdXAtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZHcm91cFBhcmVudElkJylcbiAgcHVibGljIG92ZXJyaWRlIGZQYXJlbnRJZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQElucHV0KCdmR3JvdXBQb3NpdGlvbicpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgcG9zaXRpb24odmFsdWU6IElQb2ludCkge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHBvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG4gIEBPdXRwdXQoJ2ZHcm91cFBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgnZkdyb3VwU2l6ZScpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgc2l6ZSh2YWx1ZTogSVNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBzaXplKCk6IElTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZSE7XG4gIH1cbiAgQE91dHB1dCgnZkdyb3VwU2l6ZUNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBzaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVJlY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUmVjdD4oKTtcblxuICBASW5wdXQoJ2ZHcm91cERyYWdnaW5nRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZHcm91cFNlbGVjdGlvbkRpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5jbHVkZVBhZGRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdE9uTm9kZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuZkJyb3dzZXIuaXNCcm93c2VyKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG1lcmdlKG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCksIHRoaXMuc3RhdGVDaGFuZ2VzKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwKSwgc3RhcnRXaXRoKG51bGwpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLmZvckVhY2goKGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKSA9PiB7XG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0KGZDb25uZWN0b3IsIHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29ubmVjdG9ycy5pbmRleE9mKGNvbm5lY3Rvcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMsIHRoaXMpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ1UsVUFBVSxFQUN6QixTQUFTLEVBRVQsWUFBWSxFQUFFLE1BQU0sRUFDcEIsS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1Q0FBdUMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRXZILElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBUzVDLElBQ29CLFFBQVEsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNELElBQW9CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxJQUNvQixJQUFJLENBQUMsS0FBWTtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNELElBQW9CLElBQUk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBTSxDQUFDO0lB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QkFBbUI7d0JBQ3hELG9DQUFvQyxFQUFFLG9CQUFvQjtxQkFDM0Q7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLGlCQUFpQixFQUFFO3FCQUNsRDtpQkFDRjtzSkFLaUIsR0FBRztzQkFEbEIsS0FBSzt1QkFBQyxVQUFVO2dCQUlELFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUlILFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVNQLGNBQWM7c0JBRDdCLE1BQU07dUJBQUMsc0JBQXNCO2dCQUlWLElBQUk7c0JBRHZCLEtBQUs7dUJBQUMsWUFBWTtnQkFTSCxVQUFVO3NCQUR6QixNQUFNO3VCQUFDLGtCQUFrQjtnQkFJVixpQkFBaUI7c0JBRGhDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUlmLGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBSWhCLGVBQWU7c0JBRDlCLEtBQUs7Z0JBSVUsY0FBYztzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuaW1wb3J0IHsgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7IEFkZE5vZGVUb1N0b3JlUmVxdWVzdCwgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0LCBSZW1vdmVOb2RlRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmR3JvdXBdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtZ3JvdXAtaWRdJzogJ2ZJZCcsXG4gICAgY2xhc3M6IFwiZi1ncm91cCBmLWNvbXBvbmVudFwiLFxuICAgICdbY2xhc3MuZi1ncm91cC1kcmFnZ2luZy1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ncm91cC1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRkdyb3VwRGlyZWN0aXZlIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRkdyb3VwRGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmR3JvdXBJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWdyb3VwLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmR3JvdXBQYXJlbnRJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmUGFyZW50SWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBJbnB1dCgnZkdyb3VwUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQpIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCh2YWx1ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBwb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBAT3V0cHV0KCdmR3JvdXBQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZHcm91cFNpemUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHNpemUodmFsdWU6IElTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgc2l6ZSgpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemUhO1xuICB9XG4gIEBPdXRwdXQoJ2ZHcm91cFNpemVDaGFuZ2UnKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElSZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVJlY3Q+KCk7XG5cbiAgQElucHV0KCdmR3JvdXBEcmFnZ2luZ0Rpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmR3JvdXBTZWxlY3Rpb25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkluY2x1ZGVQYWRkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3RPbk5vZGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUoJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtLW9yaWdpbicsICdjZW50ZXInKTtcbiAgICB0aGlzLnNldFN0eWxlKCd1c2VyLXNlbGVjdCcsICdub25lJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndG9wJywgJzAnKTtcbiAgICBzdXBlci5yZWRyYXcoKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBBZGROb2RlVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IE5vdGlmeVRyYW5zZm9ybUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZighdGhpcy5mQnJvd3Nlci5pc0Jyb3dzZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9saXN0ZW5TdGF0ZVNpemVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZVNpemVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QodGhpcywgdGhpcy5fZGVzdHJveVJlZikpO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlbW92ZU5vZGVGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
2
|
import { PointExtensions } from '@foblex/2d';
|
|
4
3
|
import { mixinChangeSelection } from '../mixins';
|
|
4
|
+
import { FChannel } from '../reactivity';
|
|
5
5
|
export const F_NODE = new InjectionToken('F_NODE');
|
|
6
6
|
const MIXIN_BASE = mixinChangeSelection(class {
|
|
7
7
|
constructor(hostElement) {
|
|
@@ -11,9 +11,10 @@ const MIXIN_BASE = mixinChangeSelection(class {
|
|
|
11
11
|
export class FNodeBase extends MIXIN_BASE {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
-
this.stateChanges = new
|
|
14
|
+
this.stateChanges = new FChannel();
|
|
15
15
|
this._position = PointExtensions.initialize();
|
|
16
16
|
this.fCanBeResizedByChild = true;
|
|
17
|
+
this.connectors = [];
|
|
17
18
|
}
|
|
18
19
|
isContains(element) {
|
|
19
20
|
return this.hostElement.contains(element);
|
|
@@ -37,5 +38,16 @@ export class FNodeBase extends MIXIN_BASE {
|
|
|
37
38
|
removeClass(className) {
|
|
38
39
|
this.hostElement.classList.remove(className);
|
|
39
40
|
}
|
|
41
|
+
addConnector(connector) {
|
|
42
|
+
this.connectors.push(connector);
|
|
43
|
+
this.refresh();
|
|
44
|
+
}
|
|
45
|
+
removeConnector(connector) {
|
|
46
|
+
const index = this.connectors.indexOf(connector);
|
|
47
|
+
if (index !== -1) {
|
|
48
|
+
this.connectors.splice(index, 1);
|
|
49
|
+
}
|
|
50
|
+
this.refresh();
|
|
51
|
+
}
|
|
40
52
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUtuRSxPQUFPLEVBQXVCLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFZLFFBQVEsQ0FBQyxDQUFDO0FBRTlELE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUNuQztJQUNFLFlBQ1MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFakMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVQLE1BQU0sT0FBZ0IsU0FBVSxTQUFRLFVBQVU7SUFBbEQ7O1FBTWtCLGlCQUFZLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQU9wQyxjQUFTLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBZ0JwRCx5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFNckMsZUFBVSxHQUFxQixFQUFFLENBQUM7SUE2QzNDLENBQUM7SUF6Q1EsVUFBVSxDQUFDLE9BQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsTUFBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUFnQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVk7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFpQjtRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUF5QjtRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxTQUF5QjtRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVNpemUsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5pbXBvcnQgeyBJQ2FuQ2hhbmdlU2VsZWN0aW9uLCBtaXhpbkNoYW5nZVNlbGVjdGlvbiB9IGZyb20gJy4uL21peGlucyc7XG5pbXBvcnQgeyBGQ2hhbm5lbCB9IGZyb20gJy4uL3JlYWN0aXZpdHknO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VTZWxlY3Rpb24oXG4gICAgY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICkge1xuICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGV4dGVuZHMgTUlYSU5fQkFTRSBpbXBsZW1lbnRzIElDYW5DaGFuZ2VTZWxlY3Rpb24sIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGFyZW50SWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG5cbiAgcHVibGljIGFic3RyYWN0IHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcG9zaXRpb246IElQb2ludDtcblxuICBwcm90ZWN0ZWQgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG5cbiAgcHVibGljIGFic3RyYWN0IHNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUmVjdD47XG5cbiAgcHVibGljIGFic3RyYWN0IHNpemU6IElTaXplO1xuXG4gIHByb3RlY3RlZCBfc2l6ZTogSVNpemUgfCB1bmRlZmluZWQ7XG5cblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3RPbk5vZGU6IGJvb2xlYW47XG5cbiAgcHVibGljIGZDYW5CZVJlc2l6ZWRCeUNoaWxkOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkluY2x1ZGVQYWRkaW5nOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWZyZXNoKCk6IHZvaWQ7XG5cbiAgcHVibGljIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0U3R5bGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgdGhpcy5zZXRTdHlsZSgnd2lkdGgnLCAnJyArIHRoaXMuc2l6ZS53aWR0aCArICdweCcpO1xuICAgICAgdGhpcy5zZXRTdHlsZSgnaGVpZ2h0JywgJycgKyB0aGlzLnNpemUuaGVpZ2h0ICsgJ3B4Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgkeyB0aGlzLnBvc2l0aW9uLnggfXB4LCR7IHRoaXMucG9zaXRpb24ueSB9cHgpYCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2l6ZSh2YWx1ZTogSVNpemUpOiB2b2lkIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICB9XG5cbiAgcHVibGljIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb25uZWN0b3JzLmluZGV4T2YoY29ubmVjdG9yKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cbn1cbiJdfQ==
|