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
@@ -118,11 +118,12 @@ function ResizeControl({
} }
if (change.width !== undefined && change.height !== undefined) { if (change.width !== undefined && change.height !== undefined) {
const setAttributes = !resizeDirection ? true : resizeDirection === 'horizontal' ? 'width' : 'height';
const dimensionChange: NodeDimensionChange = { const dimensionChange: NodeDimensionChange = {
id, id,
type: 'dimensions', type: 'dimensions',
resizing: true, resizing: true,
setAttributes: true, setAttributes,
dimensions: { dimensions: {
width: change.width, width: change.width,
height: change.height, height: change.height,
+4
View File
@@ -130,10 +130,14 @@ function applyChange(change: any, element: any): any {
element.measured.height = change.dimensions.height; element.measured.height = change.dimensions.height;
if (change.setAttributes) { if (change.setAttributes) {
if (change.setAttributes === true || change.setAttributes === 'width') {
element.width = change.dimensions.width; element.width = change.dimensions.width;
}
if (change.setAttributes === true || change.setAttributes === 'height') {
element.height = change.dimensions.height; element.height = change.dimensions.height;
} }
} }
}
if (typeof change.resizing === 'boolean') { if (typeof change.resizing === 'boolean') {
element.resizing = change.resizing; element.resizing = change.resizing;
+1 -1
View File
@@ -7,7 +7,7 @@ export type NodeDimensionChange = {
/* if this is true, the node is currently being resized via the NodeResizer */ /* if this is true, the node is currently being resized via the NodeResizer */
resizing?: boolean; resizing?: boolean;
/* if this is true, we will set width and height of the node and not just the measured dimensions */ /* 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 = { export type NodePositionChange = {