1
0
mirror of https://github.com/excalidraw/excalidraw.git synced 2024-11-10 11:35:52 +01:00

fix: use active Excalidraw component when editing text (#3478)

* fix: use active excalidraw component when editing text

* changelog

* tweak
This commit is contained in:
Aakansha Doshi 2021-04-23 21:11:18 +05:30 committed by GitHub
parent 354976e08e
commit 891ac82447
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 3 deletions

@ -1803,6 +1803,7 @@ class App extends React.Component<AppProps, AppState> {
this.focusContainer();
}),
element,
excalidrawContainer: this.excalidrawContainerRef.current,
});
// deselect all other elements when inserting text
this.setState({

@ -43,6 +43,7 @@ export const textWysiwyg = ({
getViewportCoords,
element,
canvas,
excalidrawContainer,
}: {
id: ExcalidrawElement["id"];
appState: AppState;
@ -51,6 +52,7 @@ export const textWysiwyg = ({
getViewportCoords: (x: number, y: number) => [number, number];
element: ExcalidrawElement;
canvas: HTMLCanvasElement | null;
excalidrawContainer: HTMLDivElement | null;
}) => {
const updateWysiwygStyle = () => {
const updatedElement = Scene.getScene(element)?.getElement(id);
@ -71,7 +73,7 @@ export const textWysiwyg = ({
// margin-right of parent if any
Number(
getComputedStyle(
document.querySelector(".excalidraw")!.parentNode as Element,
excalidrawContainer?.parentNode as Element,
).marginRight.slice(0, -2),
);
@ -363,7 +365,7 @@ export const textWysiwyg = ({
passive: false,
capture: true,
});
document
.querySelector(".excalidraw-textEditorContainer")!
excalidrawContainer
?.querySelector(".excalidraw-textEditorContainer")!
.appendChild(editable);
};

@ -38,6 +38,7 @@ Please add the latest change on the top under the correct section.
### Fixes
- Use active Excalidraw component when editing text. This fixes a case where text editing was not working when you have multiple Excalidraw components on the same page [#3478](https://github.com/excalidraw/excalidraw/pull/3478).
- When switching theme, apply it only to the active Excalidraw component. This fixes a case where the theme was getting applied to the first Excalidraw component if you had multiple Excalidraw components on the same page [#3446](https://github.com/excalidraw/excalidraw/pull/3446)
### Refactor