fix: address code review findings from crop/text commit
- CropOverlay: register move/up handlers dynamically on drag start (single
handler instead of 8x per-handle), remove on drag end. Override destroy()
to call _cleanup() preventing keyboard listener leaks.
- Text format toolbar: re-measure text bounds (w/h) after fontSize/fontFamily
changes, update spatial index and transform box.
- TextEditor: add clearText() method; tools.ts uses it instead of fragile
document.querySelector('textarea').
- SceneManager._updateItem: apply crop mask on remote sync for image items.
- useCanvasSetup: stop TextEditor on unmount to prevent orphaned textarea.
- Double-click zoom: use item.data dimensions instead of getBounds() (which
includes shadow offset).
This commit is contained in:
@@ -130,8 +130,7 @@ export function activateTool(
|
||||
ctx.onChange();
|
||||
});
|
||||
// Clear placeholder so user types from scratch
|
||||
const ta = document.querySelector('textarea');
|
||||
if (ta) { ta.value = ''; }
|
||||
ctx.textEditor!.clearText();
|
||||
}, 50);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user