refactor(node-resizer): pass latest dimensions to onEnd handler #5083
This commit is contained in:
@@ -142,11 +142,15 @@ function ResizeControl({
|
|||||||
|
|
||||||
triggerNodeChanges(changes);
|
triggerNodeChanges(changes);
|
||||||
},
|
},
|
||||||
onEnd: () => {
|
onEnd: ({ width, height }) => {
|
||||||
const dimensionChange: NodeDimensionChange = {
|
const dimensionChange: NodeDimensionChange = {
|
||||||
id: id,
|
id: id,
|
||||||
type: 'dimensions',
|
type: 'dimensions',
|
||||||
resizing: false,
|
resizing: false,
|
||||||
|
dimensions: {
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
store.getState().triggerNodeChanges([dimensionChange]);
|
store.getState().triggerNodeChanges([dimensionChange]);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ type XYResizerParams = {
|
|||||||
paneDomNode: HTMLDivElement | null;
|
paneDomNode: HTMLDivElement | null;
|
||||||
};
|
};
|
||||||
onChange: (changes: XYResizerChange, childChanges: XYResizerChildChange[]) => void;
|
onChange: (changes: XYResizerChange, childChanges: XYResizerChildChange[]) => void;
|
||||||
onEnd?: () => void;
|
onEnd?: (change: Required<XYResizerChange>) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
type XYResizerUpdateParams = {
|
type XYResizerUpdateParams = {
|
||||||
@@ -188,13 +188,13 @@ export function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }: X
|
|||||||
})
|
})
|
||||||
.on('drag', (event: ResizeDragEvent) => {
|
.on('drag', (event: ResizeDragEvent) => {
|
||||||
const { transform, snapGrid, snapToGrid, nodeOrigin: storeNodeOrigin } = getStoreItems();
|
const { transform, snapGrid, snapToGrid, nodeOrigin: storeNodeOrigin } = getStoreItems();
|
||||||
|
|
||||||
const pointerPosition = getPointerPosition(event.sourceEvent, {
|
const pointerPosition = getPointerPosition(event.sourceEvent, {
|
||||||
transform,
|
transform,
|
||||||
snapGrid,
|
snapGrid,
|
||||||
snapToGrid,
|
snapToGrid,
|
||||||
containerBounds,
|
containerBounds,
|
||||||
});
|
});
|
||||||
|
|
||||||
const childChanges: XYResizerChildChange[] = [];
|
const childChanges: XYResizerChildChange[] = [];
|
||||||
|
|
||||||
if (!node) {
|
if (!node) {
|
||||||
@@ -294,7 +294,7 @@ export function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }: X
|
|||||||
})
|
})
|
||||||
.on('end', (event: ResizeDragEvent) => {
|
.on('end', (event: ResizeDragEvent) => {
|
||||||
onResizeEnd?.(event, { ...prevValues });
|
onResizeEnd?.(event, { ...prevValues });
|
||||||
onEnd?.();
|
onEnd?.({ ...prevValues });
|
||||||
});
|
});
|
||||||
selection.call(dragHandler);
|
selection.call(dragHandler);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user