Skip to content

Commit b051400

Browse files
authored
Fix area resize in one direction (#569)
1 parent 73740a3 commit b051400

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

src/components/EditorCanvas/Canvas.jsx

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -280,23 +280,22 @@ export default function Canvas() {
280280

281281
if (!e.isPrimary) return;
282282

283-
284283
if (panning.isPanning) {
285284
setTransform((prev) => ({
286285
...prev,
287286
pan: {
288287
x:
289-
panning.panStart.x +
290-
(panning.cursorStart.x - pointer.spaces.screen.x) / transform.zoom,
288+
panning.panStart.x +
289+
(panning.cursorStart.x - pointer.spaces.screen.x) / transform.zoom,
291290
y:
292-
panning.panStart.y +
293-
(panning.cursorStart.y - pointer.spaces.screen.y) / transform.zoom,
291+
panning.panStart.y +
292+
(panning.cursorStart.y - pointer.spaces.screen.y) / transform.zoom,
294293
},
295294
}));
296295
return;
297296
}
298297

299-
if(layout.readOnly) return;
298+
if (layout.readOnly) return;
300299

301300
if (linking) {
302301
setLinkingLine({
@@ -377,7 +376,21 @@ export default function Canvas() {
377376
break;
378377
}
379378

380-
if(newDims.width < minAreaSize || newDims.height < minAreaSize) return;
379+
if (newDims.width <= minAreaSize) {
380+
newDims.width = minAreaSize;
381+
if (areaResize.dir === "tl" || areaResize.dir === "bl") {
382+
newDims.x =
383+
areaInitDimensions.x + areaInitDimensions.width - minAreaSize;
384+
}
385+
}
386+
387+
if (newDims.height <= minAreaSize) {
388+
newDims.height = minAreaSize;
389+
if (areaResize.dir === "tl" || areaResize.dir === "tr") {
390+
newDims.y =
391+
areaInitDimensions.y + areaInitDimensions.height - minAreaSize;
392+
}
393+
}
381394

382395
updateArea(areaResize.id, { ...newDims });
383396
return;

0 commit comments

Comments
 (0)