fix: don't bind text to container if double clicked else instead of center (#5105)
This commit is contained in:
parent
7df8302ba2
commit
399ce1e01a
@ -2239,8 +2239,7 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
if (isTextElement(selectedElements[0])) {
|
if (isTextElement(selectedElements[0])) {
|
||||||
existingTextElement = selectedElements[0];
|
existingTextElement = selectedElements[0];
|
||||||
} else if (isTextBindableContainer(selectedElements[0], false)) {
|
} else if (isTextBindableContainer(selectedElements[0], false)) {
|
||||||
container = selectedElements[0];
|
existingTextElement = getBoundTextElement(selectedElements[0]);
|
||||||
existingTextElement = getBoundTextElement(container);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -544,6 +544,29 @@ describe("textWysiwyg", () => {
|
|||||||
expect((h.elements[1] as ExcalidrawTextElement).containerId).toBe(null);
|
expect((h.elements[1] as ExcalidrawTextElement).containerId).toBe(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should'nt bind text to container when not double clicked on center", async () => {
|
||||||
|
expect(h.elements.length).toBe(1);
|
||||||
|
expect(h.elements[0].id).toBe(rectangle.id);
|
||||||
|
|
||||||
|
// clicking somewhere on top left
|
||||||
|
mouse.doubleClickAt(rectangle.x + 20, rectangle.y + 20);
|
||||||
|
expect(h.elements.length).toBe(2);
|
||||||
|
|
||||||
|
const text = h.elements[1] as ExcalidrawTextElementWithContainer;
|
||||||
|
expect(text.type).toBe("text");
|
||||||
|
expect(text.containerId).toBe(null);
|
||||||
|
mouse.down();
|
||||||
|
const editor = document.querySelector(
|
||||||
|
".excalidraw-textEditorContainer > textarea",
|
||||||
|
) as HTMLTextAreaElement;
|
||||||
|
|
||||||
|
fireEvent.change(editor, { target: { value: "Hello World!" } });
|
||||||
|
|
||||||
|
await new Promise((r) => setTimeout(r, 0));
|
||||||
|
editor.blur();
|
||||||
|
expect(rectangle.boundElements).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
it("should update font family correctly on undo/redo by selecting bounded text when font family was updated", async () => {
|
it("should update font family correctly on undo/redo by selecting bounded text when font family was updated", async () => {
|
||||||
expect(h.elements.length).toBe(1);
|
expect(h.elements.length).toBe(1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user