mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
fix: refresh text dimensions only after font load done (#5878)
* fix: refresh text dimensions only after font load done * fix snaps
This commit is contained in:
parent
3c0b29d85f
commit
d273acb7e4
4 changed files with 24 additions and 14 deletions
|
@ -123,7 +123,11 @@ import {
|
|||
} from "../element/binding";
|
||||
import { LinearElementEditor } from "../element/linearElementEditor";
|
||||
import { mutateElement, newElementWith } from "../element/mutateElement";
|
||||
import { deepCopyElement, newFreeDrawElement } from "../element/newElement";
|
||||
import {
|
||||
deepCopyElement,
|
||||
newFreeDrawElement,
|
||||
refreshTextDimensions,
|
||||
} from "../element/newElement";
|
||||
import {
|
||||
hasBoundTextElement,
|
||||
isBindingElement,
|
||||
|
@ -726,11 +730,17 @@ class App extends React.Component<AppProps, AppState> {
|
|||
};
|
||||
|
||||
private onFontLoaded = () => {
|
||||
this.scene.getElementsIncludingDeleted().forEach((element) => {
|
||||
if (isTextElement(element)) {
|
||||
invalidateShapeForElement(element);
|
||||
}
|
||||
});
|
||||
this.scene.replaceAllElements([
|
||||
...this.scene.getElementsIncludingDeleted().map((element) => {
|
||||
if (isTextElement(element)) {
|
||||
invalidateShapeForElement(element);
|
||||
return newElementWith(element, {
|
||||
...refreshTextDimensions(element),
|
||||
});
|
||||
}
|
||||
return element;
|
||||
}),
|
||||
]);
|
||||
this.onSceneUpdated();
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue