refactor(changes): allow set attributes to be width or height

This commit is contained in:
moklick
2025-04-17 13:22:56 +02:00
parent a7d10ffce5
commit cb6f0736dd
3 changed files with 9 additions and 4 deletions

View File

@@ -118,11 +118,12 @@ function ResizeControl({
}
if (change.width !== undefined && change.height !== undefined) {
const setAttributes = !resizeDirection ? true : resizeDirection === 'horizontal' ? 'width' : 'height';
const dimensionChange: NodeDimensionChange = {
id,
type: 'dimensions',
resizing: true,
setAttributes: true,
setAttributes,
dimensions: {
width: change.width,
height: change.height,

View File

@@ -130,8 +130,12 @@ function applyChange(change: any, element: any): any {
element.measured.height = change.dimensions.height;
if (change.setAttributes) {
element.width = change.dimensions.width;
element.height = change.dimensions.height;
if (change.setAttributes === true || change.setAttributes === 'width') {
element.width = change.dimensions.width;
}
if (change.setAttributes === true || change.setAttributes === 'height') {
element.height = change.dimensions.height;
}
}
}

View File

@@ -7,7 +7,7 @@ export type NodeDimensionChange = {
/* if this is true, the node is currently being resized via the NodeResizer */
resizing?: boolean;
/* if this is true, we will set width and height of the node and not just the measured dimensions */
setAttributes?: boolean;
setAttributes?: boolean | 'width' | 'height';
};
export type NodePositionChange = {