2
0

feat(editor): Zoom in/out

This commit is contained in:
Baptiste Arnaud
2022-04-08 14:30:46 -05:00
parent 6314ce2f62
commit c5d3b9214d
16 changed files with 336 additions and 63 deletions

View File

@ -44,11 +44,12 @@ export const Edge = ({ edge }: { edge: EdgeProps }) => {
const sourceTop = useMemo(
() =>
getEndpointTopOffset(
sourceEndpoints,
graphPosition.y,
getSourceEndpointId(edge)
),
getEndpointTopOffset({
endpoints: sourceEndpoints,
graphOffsetY: graphPosition.y,
endpointId: getSourceEndpointId(edge),
graphScale: graphPosition.scale,
}),
// eslint-disable-next-line react-hooks/exhaustive-deps
[sourceBlockCoordinates?.y, edge, sourceEndpoints, refreshEdge]
)
@ -58,17 +59,28 @@ export const Edge = ({ edge }: { edge: EdgeProps }) => {
}, [])
const [targetTop, setTargetTop] = useState(
getEndpointTopOffset(targetEndpoints, graphPosition.y, edge?.to.stepId)
getEndpointTopOffset({
endpoints: targetEndpoints,
graphOffsetY: graphPosition.y,
endpointId: edge?.to.stepId,
graphScale: graphPosition.scale,
})
)
useLayoutEffect(() => {
setTargetTop(
getEndpointTopOffset(targetEndpoints, graphPosition.y, edge?.to.stepId)
getEndpointTopOffset({
endpoints: targetEndpoints,
graphOffsetY: graphPosition.y,
endpointId: edge?.to.stepId,
graphScale: graphPosition.scale,
})
)
}, [
targetBlockCoordinates?.y,
targetEndpoints,
graphPosition.y,
edge?.to.stepId,
graphPosition.scale,
])
const path = useMemo(() => {
@ -79,6 +91,7 @@ export const Edge = ({ edge }: { edge: EdgeProps }) => {
targetBlockCoordinates,
sourceTop,
targetTop,
graphScale: graphPosition.scale,
})
return computeEdgePath(anchorsPosition)
// eslint-disable-next-line react-hooks/exhaustive-deps