@foblex/flow 17.0.0 → 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 -7
- package/domain/is-mobile.d.ts +1 -0
- package/domain/providers.d.ts +1 -7
- 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 -8
- package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +3 -4
- package/esm2022/domain/is-mobile.mjs +5 -0
- package/esm2022/domain/providers.mjs +11 -13
- 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/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/f-draggable.directive.mjs +45 -95
- 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 +3 -3
- 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/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/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/f-draggable.directive.d.ts +6 -15
- 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 +5843 -4931
- package/fesm2022/foblex-flow.mjs.map +1 -1
- 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/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/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
|
@@ -1,85 +1,79 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input } from "@angular/core";
|
|
2
2
|
import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
|
|
3
3
|
import { F_BACKGROUND_PATTERN } from '../domain';
|
|
4
4
|
import { createSVGElement } from '../../domain';
|
|
5
|
-
import {
|
|
6
|
-
import { startWith } from 'rxjs/operators';
|
|
5
|
+
import { FChannel, FChannelHub, notifyOnStart } from '../../reactivity';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "@foblex/platform";
|
|
9
8
|
let uniqueId = 0;
|
|
10
9
|
export class FCirclePatternComponent {
|
|
11
10
|
get hostElement() {
|
|
12
|
-
return this.
|
|
11
|
+
return this._elementReference.nativeElement;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this._radius = value;
|
|
20
|
-
this._stateChanges.next();
|
|
21
|
-
}
|
|
22
|
-
constructor(elementReference, fBrowser) {
|
|
23
|
-
this.elementReference = elementReference;
|
|
24
|
-
this.fBrowser = fBrowser;
|
|
25
|
-
this._subscription$ = new Subscription();
|
|
26
|
-
this._stateChanges = new Subject();
|
|
13
|
+
constructor(_fBrowser) {
|
|
14
|
+
this._fBrowser = _fBrowser;
|
|
15
|
+
this._destroyRef = inject(DestroyRef);
|
|
16
|
+
this._elementReference = inject(ElementRef);
|
|
17
|
+
this._stateChanges = new FChannel();
|
|
27
18
|
this.id = `f-pattern-${uniqueId++}`;
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
19
|
+
this.color = 'rgba(0,0,0,0.1)';
|
|
20
|
+
this.radius = 20;
|
|
30
21
|
this._scaledRadius = 20;
|
|
31
22
|
this._transform = TransformModelExtensions.default();
|
|
32
23
|
this._position = PointExtensions.initialize();
|
|
33
|
-
this.
|
|
24
|
+
this._createPattern();
|
|
34
25
|
}
|
|
35
|
-
|
|
36
|
-
this._pattern = createSVGElement('pattern', this.
|
|
26
|
+
_createPattern() {
|
|
27
|
+
this._pattern = createSVGElement('pattern', this._fBrowser);
|
|
37
28
|
this._pattern.setAttribute('patternUnits', 'userSpaceOnUse');
|
|
38
29
|
this.hostElement.appendChild(this._pattern);
|
|
39
|
-
this._circle = createSVGElement('circle', this.
|
|
30
|
+
this._circle = createSVGElement('circle', this._fBrowser);
|
|
40
31
|
this._pattern.appendChild(this._circle);
|
|
41
32
|
}
|
|
42
33
|
ngOnInit() {
|
|
43
|
-
this.
|
|
34
|
+
this._listenStateChanges();
|
|
35
|
+
}
|
|
36
|
+
_listenStateChanges() {
|
|
37
|
+
new FChannelHub(this._stateChanges).pipe(notifyOnStart()).listen(this._destroyRef, () => this._redraw());
|
|
44
38
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
}
|
|
39
|
+
ngOnChanges(changes) {
|
|
40
|
+
if (changes['radius'] || changes['color']) {
|
|
41
|
+
this._refresh();
|
|
42
|
+
}
|
|
49
43
|
}
|
|
50
|
-
|
|
44
|
+
_redraw() {
|
|
45
|
+
this._calculatePattern();
|
|
46
|
+
this._redrawPattern();
|
|
47
|
+
this._redrawElement();
|
|
48
|
+
}
|
|
49
|
+
_calculatePattern() {
|
|
51
50
|
this._position.x = this._transform.position.x + this._transform.scaledPosition.x;
|
|
52
51
|
this._position.y = this._transform.position.y + this._transform.scaledPosition.y;
|
|
53
|
-
this._scaledRadius = this.
|
|
54
|
-
}
|
|
55
|
-
redraw() {
|
|
56
|
-
this.calculatePattern();
|
|
57
|
-
this.redrawPattern();
|
|
58
|
-
this.redrawElement();
|
|
52
|
+
this._scaledRadius = this.radius * this._transform.scale;
|
|
59
53
|
}
|
|
60
|
-
|
|
54
|
+
_redrawPattern() {
|
|
61
55
|
this._pattern.setAttribute('x', `${this._position.x}`);
|
|
62
56
|
this._pattern.setAttribute('y', `${this._position.y}`);
|
|
63
57
|
this._pattern.setAttribute('width', `${this._scaledRadius}`);
|
|
64
58
|
this._pattern.setAttribute('height', `${this._scaledRadius}`);
|
|
65
59
|
}
|
|
66
|
-
|
|
67
|
-
this._circle.setAttribute('fill', this.
|
|
60
|
+
_redrawElement() {
|
|
61
|
+
this._circle.setAttribute('fill', this.color);
|
|
68
62
|
this._circle.setAttribute('cx', `${this._scaledRadius / 2}`);
|
|
69
63
|
this._circle.setAttribute('cy', `${this._scaledRadius / 2}`);
|
|
70
|
-
this._circle.setAttribute('r', `${this._scaledRadius / this.
|
|
64
|
+
this._circle.setAttribute('r', `${this._scaledRadius / this.radius}`);
|
|
71
65
|
}
|
|
72
66
|
setTransform(transform) {
|
|
73
67
|
this._transform = transform;
|
|
74
|
-
this.
|
|
68
|
+
this._refresh();
|
|
75
69
|
}
|
|
76
|
-
|
|
77
|
-
this.
|
|
70
|
+
_refresh() {
|
|
71
|
+
this._stateChanges.notify();
|
|
78
72
|
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCirclePatternComponent, deps: [{ token:
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCirclePatternComponent, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
74
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FCirclePatternComponent, selector: "f-circle-pattern", inputs: { id: "id", color: "color", radius: "radius" }, host: { properties: { "attr.id": "id" } }, providers: [
|
|
81
75
|
{ provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
|
|
82
|
-
], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
76
|
+
], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
83
77
|
}
|
|
84
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCirclePatternComponent, decorators: [{
|
|
85
79
|
type: Component,
|
|
@@ -94,11 +88,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
94
88
|
],
|
|
95
89
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
96
90
|
}]
|
|
97
|
-
}], ctorParameters: function () { return [{ type:
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.BrowserService }]; }, propDecorators: { id: [{
|
|
98
92
|
type: Input
|
|
99
93
|
}], color: [{
|
|
100
94
|
type: Input
|
|
101
95
|
}], radius: [{
|
|
102
96
|
type: Input
|
|
103
97
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFFMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGVBQWUsRUFDZix3QkFBd0IsRUFDekIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLFdBQVcsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUV4RSxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFhekIsTUFBTSxPQUFPLHVCQUF1QjtJQVFsQyxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFvQkQsWUFDVSxTQUF5QjtRQUF6QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQTdCM0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZDLGtCQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQU9oQyxPQUFFLEdBQVcsYUFBYyxRQUFRLEVBQUcsRUFBRSxDQUFDO1FBR3pDLFVBQUssR0FBVyxpQkFBaUIsQ0FBQztRQUdsQyxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGtCQUFhLEdB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LGFBQWEsR0FBRyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQTVGVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4SUFMdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDeEUsK0NBTlMsRUFBRTs7NEZBU0QsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsSUFBSTtxQkFDbEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3hFO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtxR0FjUSxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxuICBPbkluaXQsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElQb2ludCxcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsXG4gIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9uc1xufSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9QQVRURVJOLCBJRkJhY2tncm91bmRQYXR0ZXJuIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBjcmVhdGVTVkdFbGVtZW50IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDaGFubmVsLCBGQ2hhbm5lbEh1Yiwgbm90aWZ5T25TdGFydCB9IGZyb20gJy4uLy4uL3JlYWN0aXZpdHknO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNpcmNsZS1wYXR0ZXJuXCIsXG4gIHRlbXBsYXRlOiBgYCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZDaXJjbGVQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIElGQmFja2dyb3VuZFBhdHRlcm4ge1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9zdGF0ZUNoYW5nZXMgPSBuZXcgRkNoYW5uZWwoKTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmcgPSBgZi1wYXR0ZXJuLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmcgPSAncmdiYSgwLDAsMCwwLjEpJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmFkaXVzOiBudW1iZXIgPSAyMDtcblxuICBwcml2YXRlIF9zY2FsZWRSYWRpdXM6IG51bWJlciA9IDIwO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwcml2YXRlIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX2NpcmNsZSE6IFNWR0NpcmNsZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl9jaXJjbGUgPSBjcmVhdGVTVkdFbGVtZW50KCdjaXJjbGUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9jaXJjbGUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xpc3RlblN0YXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuU3RhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIG5ldyBGQ2hhbm5lbEh1Yih0aGlzLl9zdGF0ZUNoYW5nZXMpLnBpcGUobm90aWZ5T25TdGFydCgpKS5saXN0ZW4odGhpcy5fZGVzdHJveVJlZiwgKCkgPT4gdGhpcy5fcmVkcmF3KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncmFkaXVzJ10gfHwgY2hhbmdlc1snY29sb3InXSkge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3UGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd0VsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2NhbGVkUmFkaXVzID0gdGhpcy5yYWRpdXMgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGU7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd4JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnggfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd5JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnkgfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIH1gKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhd0VsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2lyY2xlLnNldEF0dHJpYnV0ZSgnZmlsbCcsIHRoaXMuY29sb3IpO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N4JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N5JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ3InLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIC8gdGhpcy5yYWRpdXMgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,76 +1,62 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input } from "@angular/core";
|
|
2
2
|
import { PointExtensions, SizeExtensions, TransformModelExtensions } from '@foblex/2d';
|
|
3
3
|
import { F_BACKGROUND_PATTERN } from '../domain';
|
|
4
|
-
import { Subject, Subscription } from 'rxjs';
|
|
5
|
-
import { startWith } from 'rxjs/operators';
|
|
6
4
|
import { createSVGElement } from '../../domain';
|
|
5
|
+
import { FChannel, FChannelHub, notifyOnStart } from '../../reactivity';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "@foblex/platform";
|
|
9
8
|
let uniqueId = 0;
|
|
10
9
|
export class FRectPatternComponent {
|
|
11
10
|
get hostElement() {
|
|
12
|
-
return this.
|
|
11
|
+
return this._elementReference.nativeElement;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this._hColor = value;
|
|
20
|
-
this._stateChanges.next();
|
|
21
|
-
}
|
|
22
|
-
set vSize(value) {
|
|
23
|
-
this._vSize = value;
|
|
24
|
-
this._stateChanges.next();
|
|
25
|
-
}
|
|
26
|
-
set hSize(value) {
|
|
27
|
-
this._hSize = value;
|
|
28
|
-
this._stateChanges.next();
|
|
29
|
-
}
|
|
30
|
-
constructor(elementReference, fBrowser) {
|
|
31
|
-
this.elementReference = elementReference;
|
|
32
|
-
this.fBrowser = fBrowser;
|
|
33
|
-
this._subscription$ = new Subscription();
|
|
34
|
-
this._stateChanges = new Subject();
|
|
13
|
+
constructor(_fBrowser) {
|
|
14
|
+
this._fBrowser = _fBrowser;
|
|
15
|
+
this._destroyRef = inject(DestroyRef);
|
|
16
|
+
this._elementReference = inject(ElementRef);
|
|
17
|
+
this._stateChanges = new FChannel();
|
|
35
18
|
this.id = `f-pattern-${uniqueId++}`;
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
19
|
+
this.vColor = 'rgba(0,0,0,0.1)';
|
|
20
|
+
this.hColor = 'rgba(0,0,0,0.1)';
|
|
21
|
+
this.vSize = 20;
|
|
22
|
+
this.hSize = 20;
|
|
40
23
|
this._transform = TransformModelExtensions.default();
|
|
41
24
|
this._position = PointExtensions.initialize();
|
|
42
|
-
this._size = SizeExtensions.initialize(this.
|
|
43
|
-
this.
|
|
25
|
+
this._size = SizeExtensions.initialize(this.hSize, this.vSize);
|
|
26
|
+
this._createPattern();
|
|
44
27
|
}
|
|
45
|
-
|
|
46
|
-
this._pattern = createSVGElement('pattern', this.
|
|
28
|
+
_createPattern() {
|
|
29
|
+
this._pattern = createSVGElement('pattern', this._fBrowser);
|
|
47
30
|
this._pattern.setAttribute('patternUnits', 'userSpaceOnUse');
|
|
48
31
|
this.hostElement.appendChild(this._pattern);
|
|
49
|
-
this._vLine = createSVGElement('line', this.
|
|
32
|
+
this._vLine = createSVGElement('line', this._fBrowser);
|
|
50
33
|
this._pattern.appendChild(this._vLine);
|
|
51
|
-
this._hLine = createSVGElement('line', this.
|
|
34
|
+
this._hLine = createSVGElement('line', this._fBrowser);
|
|
52
35
|
this._pattern.appendChild(this._hLine);
|
|
53
36
|
}
|
|
54
37
|
ngOnInit() {
|
|
55
|
-
this.
|
|
38
|
+
this._listenStateChanges();
|
|
56
39
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.redraw();
|
|
60
|
-
});
|
|
40
|
+
_listenStateChanges() {
|
|
41
|
+
new FChannelHub(this._stateChanges).pipe(notifyOnStart()).listen(this._destroyRef, () => this._redraw());
|
|
61
42
|
}
|
|
62
|
-
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
if (changes['vSize'] || changes['hSize'] || changes['vColor'] || changes['hColor']) {
|
|
45
|
+
this._refresh();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_redraw() {
|
|
49
|
+
this._calculatePattern();
|
|
50
|
+
this._redrawPattern();
|
|
51
|
+
this.redrawLine(this._vLine, this.vColor, this._size.width, 0, this._size.width, this._size.height);
|
|
52
|
+
this.redrawLine(this._hLine, this.hColor, 0, this._size.height, this._size.width, this._size.height);
|
|
53
|
+
}
|
|
54
|
+
_calculatePattern() {
|
|
63
55
|
this._position.x = this._transform.position.x + this._transform.scaledPosition.x;
|
|
64
56
|
this._position.y = this._transform.position.y + this._transform.scaledPosition.y;
|
|
65
|
-
this._size = SizeExtensions.initialize(this.
|
|
66
|
-
}
|
|
67
|
-
redraw() {
|
|
68
|
-
this.calculatePattern();
|
|
69
|
-
this.redrawPattern();
|
|
70
|
-
this.redrawLine(this._vLine, this._vColor, this._size.width, 0, this._size.width, this._size.height);
|
|
71
|
-
this.redrawLine(this._hLine, this._hColor, 0, this._size.height, this._size.width, this._size.height);
|
|
57
|
+
this._size = SizeExtensions.initialize(this.hSize * this._transform.scale, this.vSize * this._transform.scale);
|
|
72
58
|
}
|
|
73
|
-
|
|
59
|
+
_redrawPattern() {
|
|
74
60
|
this._pattern.setAttribute('x', `${this._position.x}`);
|
|
75
61
|
this._pattern.setAttribute('y', `${this._position.y}`);
|
|
76
62
|
this._pattern.setAttribute('width', `${this._size.width}`);
|
|
@@ -85,15 +71,15 @@ export class FRectPatternComponent {
|
|
|
85
71
|
}
|
|
86
72
|
setTransform(transform) {
|
|
87
73
|
this._transform = transform;
|
|
88
|
-
this.
|
|
74
|
+
this._refresh();
|
|
89
75
|
}
|
|
90
|
-
|
|
91
|
-
this.
|
|
76
|
+
_refresh() {
|
|
77
|
+
this._stateChanges.notify();
|
|
92
78
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FRectPatternComponent, deps: [{ token:
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FRectPatternComponent, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
80
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FRectPatternComponent, selector: "f-rect-pattern", inputs: { id: "id", vColor: "vColor", hColor: "hColor", vSize: "vSize", hSize: "hSize" }, host: { properties: { "attr.id": "id" } }, providers: [
|
|
95
81
|
{ provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
|
|
96
|
-
], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
82
|
+
], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
97
83
|
}
|
|
98
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FRectPatternComponent, decorators: [{
|
|
99
85
|
type: Component,
|
|
@@ -108,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
108
94
|
],
|
|
109
95
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
110
96
|
}]
|
|
111
|
-
}], ctorParameters: function () { return [{ type:
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.BrowserService }]; }, propDecorators: { id: [{
|
|
112
98
|
type: Input
|
|
113
99
|
}], vColor: [{
|
|
114
100
|
type: Input
|
|
@@ -119,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
119
105
|
}], hSize: [{
|
|
120
106
|
type: Input
|
|
121
107
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ0csS0FBSyxFQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZUFBZSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFDMUQsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLFdBQVcsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHaEQsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBYXpCLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBT0QsSUFDVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFJRCxJQUNXLE1BQU0sQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUlELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBSUQsSUFDVyxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFZRCxZQUNVLGdCQUF5QyxFQUN6QyxRQUF3QjtRQUR4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBdkQxQixtQkFBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxELGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFPcEQsT0FBRSxHQUFXLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUV4QyxZQUFPLEdBQVcsaUJBQWlCLENBQUM7UUFRcEMsWUFBTyxHQUFXLGlCQUFpQixDQUFDO1FBUXBDLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFRcEIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQVFwQixlQUFVLEdBQW9CLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWpFLGNBQVMsR0FBVyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFakQsVUFBSyxHQUFVLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFVekUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQU0sRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBb0IsRUFBRSxLQUFhLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBVTtRQUNwRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFJLEtBQU0sRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBSSxFQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUksRUFBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFJLEVBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBSSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7K0dBeEhVLHFCQUFxQjttR0FBckIscUJBQXFCLDhLQUxyQjtZQUNULEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtTQUN0RSwwQkFOUyxFQUFFOzs0RkFTRCxxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyx1QkFBdUIsRUFBRTtxQkFDdEU7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhIQVlRLEVBQUU7c0JBRFIsS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQVNLLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssS0FBSztzQkFEZixLQUFLO2dCQVNLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVBvaW50LCBJU2l6ZSwgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1yZWN0LXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZSZWN0UGF0dGVybkNvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZSZWN0UGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyA9IGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF92Q29sb3I6IHN0cmluZyA9ICdyZ2JhKDAsMCwwLDAuMSknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdkNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaENvbG9yOiBzdHJpbmcgPSAncmdiYSgwLDAsMCwwLjEpJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZTaXplOiBudW1iZXIgPSAyMDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl92U2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oU2l6ZTogbnVtYmVyID0gMjA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBoU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5faFNpemUgPSB2YWx1ZTtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwgPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3NpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLl9oU2l6ZSwgdGhpcy5fdlNpemUpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfdkxpbmUhOiBTVkdMaW5lRWxlbWVudDtcbiAgcHJpdmF0ZSBfaExpbmUhOiBTVkdMaW5lRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4gPSBjcmVhdGVTVkdFbGVtZW50KCdwYXR0ZXJuJywgdGhpcy5mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl92TGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLmZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX3ZMaW5lKTtcblxuICAgIHRoaXMuX2hMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuZkJyb3dzZXIpO1xuICAgIHRoaXMuX3BhdHRlcm4uYXBwZW5kQ2hpbGQodGhpcy5faExpbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiQuYWRkKHRoaXMuc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMoKSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvU3RhdGVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5faFNpemUgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUsIHRoaXMuX3ZTaXplICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlUGF0dGVybigpO1xuICAgIHRoaXMucmVkcmF3UGF0dGVybigpO1xuXG4gICAgdGhpcy5yZWRyYXdMaW5lKHRoaXMuX3ZMaW5lLCB0aGlzLl92Q29sb3IsIHRoaXMuX3NpemUud2lkdGgsIDAsIHRoaXMuX3NpemUud2lkdGgsIHRoaXMuX3NpemUuaGVpZ2h0KTtcbiAgICB0aGlzLnJlZHJhd0xpbmUodGhpcy5faExpbmUsIHRoaXMuX2hDb2xvciwgMCwgdGhpcy5fc2l6ZS5oZWlnaHQsIHRoaXMuX3NpemUud2lkdGgsIHRoaXMuX3NpemUuaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2l6ZS53aWR0aCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyB0aGlzLl9zaXplLmhlaWdodCB9YCk7XG4gIH1cblxuICBwcml2YXRlIHJlZHJhd0xpbmUobGluZTogU1ZHTGluZUVsZW1lbnQsIGNvbG9yOiBzdHJpbmcsIHgxOiBudW1iZXIsIHkxOiBudW1iZXIsIHgyOiBudW1iZXIsIHkyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7IGNvbG9yIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneDEnLCBgJHsgeDEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MicsIGAkeyB4MiB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3kxJywgYCR7IHkxIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTInLCBgJHsgeTIgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFFMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGVBQWUsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQzFELE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFFeEUsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBYXpCLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBMkJELFlBQ1UsU0FBeUI7UUFBekIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFwQzNCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxrQkFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFPaEMsT0FBRSxHQUFXLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUd6QyxXQUFNLEdBQVcsaUJBQWlCLENBQUM7UUFHbkMsV0FBTSxHQUFXLGlCQUFpQixDQUFDO1FBR25DLFVB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QyxJQUFJLEVBQUUsR0FBSSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXpHVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4S0FMckI7WUFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUU7U0FDdEUsK0NBTlMsRUFBRTs7NEZBU0QscUJBQXFCO2tCQVhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsSUFBSTtxQkFDbEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsdUJBQXVCLEVBQUU7cUJBQ3RFO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtxR0FjUSxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLFxuICBPbkluaXQsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElQb2ludCwgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbCxcbiAgUG9pbnRFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4sIElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgY3JlYXRlU1ZHRWxlbWVudCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNoYW5uZWwsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vLi4vcmVhY3Rpdml0eSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtcmVjdC1wYXR0ZXJuXCIsXG4gIHRlbXBsYXRlOiBgYCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGUmVjdFBhdHRlcm5Db21wb25lbnQgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGUmVjdFBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyA9IGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdkNvbG9yOiBzdHJpbmcgPSAncmdiYSgwLDAsMCwwLjEpJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaENvbG9yOiBzdHJpbmcgPSAncmdiYSgwLDAsMCwwLjEpJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdlNpemU6IG51bWJlciA9IDIwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoU2l6ZTogbnVtYmVyID0gMjA7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwgPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3NpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLmhTaXplLCB0aGlzLnZTaXplKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX3ZMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG4gIHByaXZhdGUgX2hMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl92TGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl92TGluZSk7XG5cbiAgICB0aGlzLl9oTGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9oTGluZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWyd2U2l6ZSddIHx8IGNoYW5nZXNbJ2hTaXplJ10gfHwgY2hhbmdlc1sndkNvbG9yJ10gfHwgY2hhbmdlc1snaENvbG9yJ10pIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FsY3VsYXRlUGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd1BhdHRlcm4oKTtcblxuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl92TGluZSwgdGhpcy52Q29sb3IsIHRoaXMuX3NpemUud2lkdGgsIDAsIHRoaXMuX3NpemUud2lkdGgsIHRoaXMuX3NpemUuaGVpZ2h0KTtcbiAgICB0aGlzLnJlZHJhd0xpbmUodGhpcy5faExpbmUsIHRoaXMuaENvbG9yLCAwLCB0aGlzLl9zaXplLmhlaWdodCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLmhTaXplICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlLCB0aGlzLnZTaXplICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhd1BhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHsgdGhpcy5fcG9zaXRpb24ueCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3knLCBgJHsgdGhpcy5fcG9zaXRpb24ueSB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IHRoaXMuX3NpemUud2lkdGggfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHsgdGhpcy5fc2l6ZS5oZWlnaHQgfWApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWRyYXdMaW5lKGxpbmU6IFNWR0xpbmVFbGVtZW50LCBjb2xvcjogc3RyaW5nLCB4MTogbnVtYmVyLCB5MTogbnVtYmVyLCB4MjogbnVtYmVyLCB5MjogbnVtYmVyKTogdm9pZCB7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3N0cm9rZScsIGAkeyBjb2xvciB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3gxJywgYCR7IHgxIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneDInLCBgJHsgeDIgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd5MScsIGAkeyB5MSB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3kyJywgYCR7IHkyIH1gKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmFuc2Zvcm0odHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG4gICAgdGhpcy5fcmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubm90aWZ5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,4 +22,4 @@ export class FCanvasBase {
|
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCanvasBase, decorators: [{
|
|
23
23
|
type: Directive
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFVLE1BQU0sWUFBWSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQTRCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzlDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxVQUFVLENBQUMsQ0FBQztBQUdwRSxNQUFNLE9BQWdCLFdBQVc7SUFEakM7UUFhUyxjQUFTLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7S0F1QnZEO0lBakJRLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBTU0scUJBQXFCO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUM1SCxDQUFDO0lBQ0osQ0FBQzsrR0FsQ21CLFdBQVc7bUdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEaEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNhbnZhc0NoYW5nZUV2ZW50IH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcblxuZXhwb3J0IGNvbnN0IEZfQ0FOVkFTID0gbmV3IEluamVjdGlvblRva2VuPEZDYW52YXNCYXNlPignRl9DQU5WQVMnKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNhbnZhc0Jhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ2FudmFzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RkNhbnZhc0NoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JvdXBzQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk5vZGVzQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25zQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVkcmF3KCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZDtcblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0ucG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3Qgc2V0Wm9vbShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZXNldFpvb20oKTogdm9pZDtcblxuICBwdWJsaWMgZW1pdENhbnZhc0NoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZkNhbnZhc0NoYW5nZS5lbWl0KFxuICAgICAgICBuZXcgRkNhbnZhc0NoYW5nZUV2ZW50KFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKSwgdGhpcy50cmFuc2Zvcm0uc2NhbGUpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,68 +1,58 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from "@angular/core";
|
|
2
2
|
import { FCanvasBase, F_CANVAS } from './f-canvas-base';
|
|
3
3
|
import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
|
|
4
|
-
import {
|
|
4
|
+
import { FMediator } from '@foblex/mediator';
|
|
5
|
+
import { AddCanvasToStoreRequest, CenterGroupOrNodeRequest, FitToFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, isMobile, RemoveCanvasFromStoreRequest, ResetScaleAndCenterRequest, ResetScaleRequest, SetBackgroundTransformRequest, transitionEnd, UpdateScaleRequest, } from '../domain';
|
|
6
|
+
import { NotifyTransformChangedRequest } from '../f-storage';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@foblex/mediator";
|
|
7
|
-
import * as i2 from "../f-storage";
|
|
8
8
|
export class FCanvasComponent extends FCanvasBase {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this._elementReference = inject(ElementRef);
|
|
12
|
+
this.fCanvasChange = new EventEmitter();
|
|
13
|
+
this._fMediator = inject(FMediator);
|
|
14
|
+
}
|
|
9
15
|
set position(value) {
|
|
10
|
-
this.
|
|
16
|
+
this._fMediator.send(new InputCanvasPositionRequest(this.transform, value));
|
|
11
17
|
}
|
|
12
18
|
set scale(value) {
|
|
13
|
-
this.
|
|
14
|
-
}
|
|
15
|
-
get fNodes() {
|
|
16
|
-
return this.fComponentsStore.fNodes;
|
|
19
|
+
this._fMediator.send(new InputCanvasScaleRequest(this.transform, value));
|
|
17
20
|
}
|
|
18
21
|
get hostElement() {
|
|
19
|
-
return this.
|
|
20
|
-
}
|
|
21
|
-
constructor(elementReference, fMediator, fComponentsStore) {
|
|
22
|
-
super();
|
|
23
|
-
this.elementReference = elementReference;
|
|
24
|
-
this.fMediator = fMediator;
|
|
25
|
-
this.fComponentsStore = fComponentsStore;
|
|
26
|
-
this.fCanvasChange = new EventEmitter();
|
|
22
|
+
return this._elementReference.nativeElement;
|
|
27
23
|
}
|
|
28
24
|
ngOnInit() {
|
|
29
|
-
this.
|
|
25
|
+
this._fMediator.send(new AddCanvasToStoreRequest(this));
|
|
30
26
|
}
|
|
31
27
|
redraw() {
|
|
32
|
-
this.
|
|
28
|
+
this._fMediator.send(new SetBackgroundTransformRequest(this.transform));
|
|
33
29
|
this.hostElement.setAttribute("style", `transform: ${TransformModelExtensions.toString(this.transform)}`);
|
|
34
|
-
this.
|
|
30
|
+
this._fMediator.send(new NotifyTransformChangedRequest());
|
|
35
31
|
}
|
|
36
32
|
redrawWithAnimation() {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
this.fComponentsStore.fBackground?.setTransform(this.transform);
|
|
42
|
-
this.hostElement.setAttribute("style", `transition: transform ${duration}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
|
|
43
|
-
setTimeout(() => this.redraw(), F_CANVAS_ANIMATION_DURATION);
|
|
44
|
-
}
|
|
45
|
-
isMobile() {
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
const userAgent = navigator.userAgent || navigator.vendor || window['opera'];
|
|
48
|
-
return /android|iPad|iPhone|iPod/i.test(userAgent);
|
|
33
|
+
this._fMediator.send(new SetBackgroundTransformRequest(this.transform));
|
|
34
|
+
this.hostElement.setAttribute("style", `transition: transform ${isMobile() ? 80 : 150}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
|
|
35
|
+
transitionEnd(this.hostElement, () => this.redraw());
|
|
49
36
|
}
|
|
50
37
|
centerGroupOrNode(id, animated = true) {
|
|
51
|
-
this.
|
|
38
|
+
this._fMediator.send(new CenterGroupOrNodeRequest(id, animated));
|
|
52
39
|
}
|
|
53
40
|
fitToScreen(toCenter = PointExtensions.initialize(), animated = true) {
|
|
54
|
-
this.
|
|
41
|
+
this._fMediator.send(new FitToFlowRequest(toCenter, animated));
|
|
55
42
|
}
|
|
56
43
|
resetScaleAndCenter(animated = true) {
|
|
57
|
-
this.
|
|
44
|
+
this._fMediator.send(new ResetScaleAndCenterRequest(animated));
|
|
58
45
|
}
|
|
59
46
|
setZoom(scale, toPosition = PointExtensions.initialize()) {
|
|
60
|
-
this.
|
|
47
|
+
this._fMediator.send(new UpdateScaleRequest(scale, toPosition));
|
|
61
48
|
}
|
|
62
49
|
resetZoom() {
|
|
63
|
-
this.
|
|
50
|
+
this._fMediator.send(new ResetScaleRequest());
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._fMediator.send(new RemoveCanvasFromStoreRequest());
|
|
64
54
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCanvasComponent, deps:
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FCanvasComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
56
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FCanvasComponent, selector: "f-canvas", inputs: { position: "position", scale: "scale" }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [
|
|
67
57
|
{ provide: F_CANVAS, useExisting: FCanvasComponent }
|
|
68
58
|
], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, static: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, static: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, static: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.f-scaled-animate{transition:transform .09s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -74,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
74
64
|
}, providers: [
|
|
75
65
|
{ provide: F_CANVAS, useExisting: FCanvasComponent }
|
|
76
66
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.f-scaled-animate{transition:transform .09s}\n"] }]
|
|
77
|
-
}],
|
|
67
|
+
}], propDecorators: { fCanvasChange: [{
|
|
78
68
|
type: Output
|
|
79
69
|
}], position: [{
|
|
80
70
|
type: Input
|
|
@@ -90,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
90
80
|
type: ViewChild,
|
|
91
81
|
args: ['fConnectionsContainer', { static: true }]
|
|
92
82
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsR0FDdEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8vRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEdBQ2xFLE1BQU0sV0FBVyxDQUFDOzs7O0FBZW5CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSy9DLElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBb0IsTUFBTTtRQUN4QixPQUFPLElB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RUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0FwRlUsZ0JBQWdCO21HQUFoQixnQkFBZ0Isb0xBTGhCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtTQUNyRCxpY0NsQ0gsa2JBY0E7OzRGRHVCYSxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxZQUdWLFlBQVksUUFDaEI7d0JBQ0osT0FBTyxFQUFFLHNCQUFzQjtxQkFDaEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRTtxQkFDckQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07d0pBSy9CLGFBQWE7c0JBRDVCLE1BQU07Z0JBSUksUUFBUTtzQkFEbEIsS0FBSztnQkFNSyxLQUFLO3NCQURmLEtBQUs7Z0JBY1UsZ0JBQWdCO3NCQUQvQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0IsZUFBZTtzQkFEOUIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlCLHFCQUFxQjtzQkFEcEMsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRkNhbnZhc0Jhc2UsIEZfQ0FOVkFTXG59IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge1xuICBGQ2FudmFzQ2hhbmdlRXZlbnQsXG59IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0LFxuICBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QsXG4gIEZfQ0FOVkFTX0FOSU1BVElPTl9EVVJBVElPTixcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QsXG4gIElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0LFxuICBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdCwgUmVzZXRTY2FsZVJlcXVlc3QsIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ29tcG9uZW50IGV4dGVuZHMgRkNhbnZhc0Jhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNhbnZhc0NoYW5nZTogRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBJbnB1dENhbnZhc1Bvc2l0aW9uUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSwgdmFsdWUpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2NhbGUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZkdyb3Vwc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZk5vZGVzQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZOb2Rlc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZCYWNrZ3JvdW5kPy5zZXRUcmFuc2Zvcm0odGhpcy50cmFuc2Zvcm0pO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgYHRyYW5zZm9ybTogJHsgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKSB9YCk7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgbGV0IGR1cmF0aW9uID0gRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OO1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgIGR1cmF0aW9uID0gODA7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQmFja2dyb3VuZD8uc2V0VHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHsgZHVyYXRpb24gfW1zIGVhc2UtaW4tb3V0OyB0cmFuc2Zvcm06ICR7IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSkgfWApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWRyYXcoKSwgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQgfHwgbmF2aWdhdG9yLnZlbmRvciB8fCB3aW5kb3dbICdvcGVyYScgXTtcbiAgICByZXR1cm4gL2FuZHJvaWR8aVBhZHxpUGhvbmV8aVBvZC9pLnRlc3QodXNlckFnZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShpZDogc3RyaW5nLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoaWQsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEZpdFRvRmxvd1JlcXVlc3QodG9DZW50ZXIsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTY2FsZUFuZENlbnRlcihhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdChhbmltYXRlZCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFpvb20oc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Wm9vbSgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsR0FDekYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFBRSxRQUFRLEVBQ3RCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUkvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQy9ELDBCQUEwQixFQUFFLGlCQUFpQixFQUFFLDZCQUE2QixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsR0FDaEgsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWU3RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQWJqRDs7UUFlVSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHL0Isa0JBQWEsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUF5QmpHLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0F5Q3hDO0lBaEVDLElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQWFNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVlLE1BQU07UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsY0FBZSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRWUsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLHlCQUEwQixRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFJLDhCQUErQix3QkFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUM1SyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBVSxFQUFFLFdBQW9CLElBQUk7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sV0FBVyxDQUFDLFdBQW1CLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxXQUFvQixJQUFJO1FBQzFGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQW9CLElBQUk7UUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFZSxPQUFPLENBQUMsS0FBYSxFQUFFLGFBQXFCLGVBQWUsQ0FBQyxVQUFVLEVBQUU7UUFDdEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRWUsU0FBUztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDOytHQXRFVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixvTEFMaEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFO1NBQ3JELGljQ2hDSCxrYkFjQTs7NEZEcUJhLGdCQUFnQjtrQkFiNUIsU0FBUzsrQkFDRSxVQUFVLFlBR1YsWUFBWSxRQUNoQjt3QkFDSixPQUFPLEVBQUUsc0JBQXNCO3FCQUNoQyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFO3FCQUNyRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFPL0IsYUFBYTtzQkFENUIsTUFBTTtnQkFJSSxRQUFRO3NCQURsQixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSztnQkFVVSxnQkFBZ0I7c0JBRC9CLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQixlQUFlO3NCQUQ5QixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUIscUJBQXFCO3NCQURwQyxTQUFTO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRkNhbnZhc0Jhc2UsIEZfQ0FOVkFTXG59IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge1xuICBGQ2FudmFzQ2hhbmdlRXZlbnQsXG59IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QsXG4gIElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0LCBpc01vYmlsZSwgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCxcbiAgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QsIFJlc2V0U2NhbGVSZXF1ZXN0LCBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCwgdHJhbnNpdGlvbkVuZCwgVXBkYXRlU2NhbGVSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWNhbnZhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNhbnZhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLWNhbnZhcy5jb21wb25lbnQuc2NzcycgXSxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWNhbnZhcycsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9DQU5WQVMsIHVzZUV4aXN0aW5nOiBGQ2FudmFzQ29tcG9uZW50IH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNhbnZhc0NoYW5nZTogRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlOiBJUG9pbnQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHZhbHVlKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNjYWxlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZkdyb3Vwc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnZk5vZGVzQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZOb2Rlc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBgdHJhbnNmb3JtOiAkeyBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pIH1gKTtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHsgaXNNb2JpbGUoKSA/IDgwIDogMTUwIH1tcyBlYXNlLWluLW91dDsgdHJhbnNmb3JtOiAkeyBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pIH1gKTtcbiAgICB0cmFuc2l0aW9uRW5kKHRoaXMuaG9zdEVsZW1lbnQsICgpID0+IHRoaXMucmVkcmF3KCkpO1xuICB9XG5cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoaWQsIGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgZml0VG9TY3JlZW4odG9DZW50ZXI6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kKG5ldyBGaXRUb0Zsb3dSZXF1ZXN0KHRvQ2VudGVyLCBhbmltYXRlZCkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0KGFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Wm9vbShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Wm9vbSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QoKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgI2ZHcm91cHNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZHcm91cF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2ICNmQ29ubmVjdGlvbnNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1zbmFwLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8ZGl2ICNmTm9kZXNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZOb2RlXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|