From 44402f42bf034337d7262746be23c1f39dbdf89b Mon Sep 17 00:00:00 2001 From: connorhanafee Date: Mon, 28 Jun 2021 06:00:33 -0400 Subject: [PATCH] feat: switch to selection tool on library item insert (#3773) * switch to selection tool on library item insert * add test Co-authored-by: dwelle --- src/components/App.tsx | 1 + src/tests/library.test.tsx | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/components/App.tsx b/src/components/App.tsx index f33cd504..87a245ca 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1282,6 +1282,7 @@ class App extends React.Component { this.scene.getElements(), ), ); + this.selectShapeTool("selection"); }; private addTextFromPaste(text: any) { diff --git a/src/tests/library.test.tsx b/src/tests/library.test.tsx index 2a1c25d9..d770be16 100644 --- a/src/tests/library.test.tsx +++ b/src/tests/library.test.tsx @@ -4,6 +4,7 @@ import ExcalidrawApp from "../excalidraw-app"; import { API } from "./helpers/api"; import { MIME_TYPES } from "../constants"; import { LibraryItem } from "../types"; +import { UI } from "./helpers/ui"; const { h } = window; @@ -40,4 +41,21 @@ describe("library", () => { expect(h.elements).toEqual([expect.objectContaining({ id: "A_copy" })]); }); }); + + it("inserting library item should revert to selection tool", async () => { + UI.clickTool("rectangle"); + expect(h.elements).toEqual([]); + const libraryItems: LibraryItem = JSON.parse( + await API.readFile("./fixtures/fixture_library.excalidrawlib", "utf8"), + ).library[0]; + await API.drop( + new Blob([JSON.stringify(libraryItems)], { + type: MIME_TYPES.excalidrawlib, + }), + ); + await waitFor(() => { + expect(h.elements).toEqual([expect.objectContaining({ id: "A_copy" })]); + }); + expect(h.state.elementType).toBe("selection"); + }); });