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

fix: Allow copy of excalidraw elements only when inside excalidraw (#3206)

* fix: Allow copy event only inside canvas

* use pointerdown

* use document.getSelection

* remove poiterdown

* remove keyTest

* update changelog
This commit is contained in:
Aakansha Doshi 2021-03-09 11:52:28 +05:30 committed by GitHub
parent 1f7f07fbfb
commit 00ac804dd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 1 deletions

@ -17,7 +17,7 @@ export const actionCopy = register({
};
},
contextItemLabel: "labels.copy",
keyTest: (event) => event[KEYS.CTRL_OR_CMD] && event.code === CODES.C,
// Don't assign keyTest since its handled via copy event
});
export const actionCut = register({

@ -1028,6 +1028,13 @@ class App extends React.Component<ExcalidrawProps, AppState> {
});
private onCopy = withBatchedUpdates((event: ClipboardEvent) => {
const activeSelection = document.getSelection();
if (
activeSelection?.anchorNode &&
!this.excalidrawContainerRef.current!.contains(activeSelection.anchorNode)
) {
return;
}
if (isWritableElement(event.target)) {
return;
}

@ -40,6 +40,7 @@ export const KEYS = {
TAB: "Tab",
A: "a",
C: "c",
D: "d",
E: "e",
L: "l",

@ -18,6 +18,7 @@ Please add the latest change on the top under the correct section.
### Fixes
- Allow copy of excalidraw elements only when inside excalidraw [#3206](https://github.com/excalidraw/excalidraw/pull/3206).
- Position text editor absolute and fix the offsets so it doesn't remain fixed when the container is scrolled [#3200](https://github.com/excalidraw/excalidraw/pull/3200).
- Scope CSS variables so that host CSS vars don't clash with excalidraw [#3199](https://github.com/excalidraw/excalidraw/pull/3199).