diff --git a/src/components/App.tsx b/src/components/App.tsx index 5790ccfa..961d83b7 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -223,34 +223,7 @@ export class App extends React.Component { onPointerMove={this.handleCanvasPointerMove} onPointerUp={this.removePointer} onPointerCancel={this.removePointer} - onDrop={(event) => { - const file = event.dataTransfer.files[0]; - if ( - file?.type === "application/json" || - file?.name.endsWith(".excalidraw") - ) { - this.setState({ isLoading: true }); - loadFromBlob(file) - .then(({ elements, appState }) => - this.syncActionResult({ - elements, - appState: { - ...(appState || this.state), - isLoading: false, - }, - commitToHistory: false, - }), - ) - .catch((error) => { - this.setState({ isLoading: false, errorMessage: error }); - }); - } else { - this.setState({ - isLoading: false, - errorMessage: t("alerts.couldNotLoadInvalidFile"), - }); - } - }} + onDrop={this.handleCanvasOnDrop} > {t("labels.drawingCanvas")} @@ -2587,6 +2560,35 @@ export class App extends React.Component { } }; + private handleCanvasOnDrop = (event: React.DragEvent) => { + const file = event.dataTransfer?.files[0]; + if ( + file?.type === "application/json" || + file?.name.endsWith(".excalidraw") + ) { + this.setState({ isLoading: true }); + loadFromBlob(file) + .then(({ elements, appState }) => + this.syncActionResult({ + elements, + appState: { + ...(appState || this.state), + isLoading: false, + }, + commitToHistory: false, + }), + ) + .catch((error) => { + this.setState({ isLoading: false, errorMessage: error }); + }); + } else { + this.setState({ + isLoading: false, + errorMessage: t("alerts.couldNotLoadInvalidFile"), + }); + } + }; + private handleCanvasContextMenu = ( event: React.PointerEvent, ) => {