feat(wrapper): add onSelectionChange handler

This commit is contained in:
moklick
2020-05-25 14:00:46 +02:00
parent 3d80fb6586
commit f154f59e74
9 changed files with 62 additions and 43 deletions
+14 -10
View File
@@ -50,9 +50,11 @@ export default memo(() => {
};
const offsetX: number = scaledClient.x - position.x - tx;
const offsetY: number = scaledClient.y - position.y - ty;
const selectedNodes = (state.selectedElements.filter(isNode) as Node[]).map(
(selectedNode) => state.nodes.find((node) => node.id === selectedNode.id)! as Node
);
const selectedNodes = state.selectedElements
? (state.selectedElements.filter(isNode) as Node[]).map(
(selectedNode) => state.nodes.find((node) => node.id === selectedNode.id)! as Node
)
: [];
const nextStartPositions = getStartPositions(selectedNodes);
@@ -68,14 +70,16 @@ export default memo(() => {
y: evt.clientY / tScale,
};
(state.selectedElements.filter(isNode) as Node[]).forEach((node) => {
const pos: XYPosition = {
x: startPositions[node.id].x + scaledClient.x - position.x - offset.x - tx,
y: startPositions[node.id].y + scaledClient.y - position.y - offset.y - ty,
};
if (state.selectedElements) {
(state.selectedElements.filter(isNode) as Node[]).forEach((node) => {
const pos: XYPosition = {
x: startPositions[node.id].x + scaledClient.x - position.x - offset.x - tx,
y: startPositions[node.id].y + scaledClient.y - position.y - offset.y - ty,
};
updateNodePos({ id: node.id, pos });
});
updateNodePos({ id: node.id, pos });
});
}
};
return (