Fix #5855.
This commit is contained in:
parent
dc97dc30bf
commit
0bef3945f6
@ -933,7 +933,7 @@ describe("textWysiwyg", () => {
|
|||||||
|
|
||||||
await new Promise((cb) => setTimeout(cb, 0));
|
await new Promise((cb) => setTimeout(cb, 0));
|
||||||
editor.blur();
|
editor.blur();
|
||||||
expect(rectangle.width).toBe(110);
|
expect(rectangle.width).toBe(100);
|
||||||
expect(rectangle.height).toBe(210);
|
expect(rectangle.height).toBe(210);
|
||||||
const textElement = h.elements[1] as ExcalidrawTextElement;
|
const textElement = h.elements[1] as ExcalidrawTextElement;
|
||||||
expect(textElement.text).toBe(wrappedText);
|
expect(textElement.text).toBe(wrappedText);
|
||||||
|
@ -290,14 +290,21 @@ export const textWysiwyg = ({
|
|||||||
fontSize: app.state.currentItemFontSize,
|
fontSize: app.state.currentItemFontSize,
|
||||||
fontFamily: app.state.currentItemFontFamily,
|
fontFamily: app.state.currentItemFontFamily,
|
||||||
});
|
});
|
||||||
const wrappedText = container
|
|
||||||
? wrapText(data, font, getMaxContainerWidth(container))
|
|
||||||
: data;
|
|
||||||
|
|
||||||
|
if (data) {
|
||||||
|
const text = editable.value;
|
||||||
|
const start = Math.min(editable.selectionStart, editable.selectionEnd);
|
||||||
|
const end = Math.max(editable.selectionStart, editable.selectionEnd);
|
||||||
|
const newText = `${text.substring(0, start)}${data}${text.substring(
|
||||||
|
end,
|
||||||
|
)}`;
|
||||||
|
const wrappedText = container
|
||||||
|
? wrapText(newText, font, getMaxContainerWidth(container!))
|
||||||
|
: newText;
|
||||||
const dimensions = measureText(wrappedText, font);
|
const dimensions = measureText(wrappedText, font);
|
||||||
editable.style.height = `${dimensions.height}px`;
|
editable.style.height = `${dimensions.height}px`;
|
||||||
|
onChange(newText);
|
||||||
onChange(wrappedText);
|
}
|
||||||
};
|
};
|
||||||
editable.oninput = () => {
|
editable.oninput = () => {
|
||||||
const updatedTextElement = Scene.getScene(element)?.getElement(
|
const updatedTextElement = Scene.getScene(element)?.getElement(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user