mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-02-18 13:29:36 +01:00
fix: stop updating text versions on init (#8191)
This commit is contained in:
parent
66a2f24296
commit
1d5b41dabb
@ -107,8 +107,6 @@ export const mutateElement = <TElement extends Mutable<ExcalidrawElement>>(
|
|||||||
export const newElementWith = <TElement extends ExcalidrawElement>(
|
export const newElementWith = <TElement extends ExcalidrawElement>(
|
||||||
element: TElement,
|
element: TElement,
|
||||||
updates: ElementUpdate<TElement>,
|
updates: ElementUpdate<TElement>,
|
||||||
/** pass `true` to always regenerate */
|
|
||||||
force = false,
|
|
||||||
): TElement => {
|
): TElement => {
|
||||||
let didChange = false;
|
let didChange = false;
|
||||||
for (const key in updates) {
|
for (const key in updates) {
|
||||||
@ -125,7 +123,7 @@ export const newElementWith = <TElement extends ExcalidrawElement>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!didChange && !force) {
|
if (!didChange) {
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { isTextElement } from "../element";
|
import { isTextElement } from "../element";
|
||||||
import { newElementWith } from "../element/mutateElement";
|
import { getContainerElement } from "../element/textElement";
|
||||||
import type {
|
import type {
|
||||||
ExcalidrawElement,
|
ExcalidrawElement,
|
||||||
ExcalidrawTextElement,
|
ExcalidrawTextElement,
|
||||||
@ -46,14 +46,18 @@ export class Fonts {
|
|||||||
|
|
||||||
let didUpdate = false;
|
let didUpdate = false;
|
||||||
|
|
||||||
this.scene.mapElements((element) => {
|
const elementsMap = this.scene.getNonDeletedElementsMap();
|
||||||
|
|
||||||
|
for (const element of this.scene.getNonDeletedElements()) {
|
||||||
if (isTextElement(element)) {
|
if (isTextElement(element)) {
|
||||||
didUpdate = true;
|
didUpdate = true;
|
||||||
ShapeCache.delete(element);
|
ShapeCache.delete(element);
|
||||||
return newElementWith(element, {}, true);
|
const container = getContainerElement(element, elementsMap);
|
||||||
|
if (container) {
|
||||||
|
ShapeCache.delete(container);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return element;
|
}
|
||||||
});
|
|
||||||
|
|
||||||
if (didUpdate) {
|
if (didUpdate) {
|
||||||
this.scene.triggerUpdate();
|
this.scene.triggerUpdate();
|
||||||
|
Loading…
Reference in New Issue
Block a user