fix: support d&d of files without extension (#3168)

This commit is contained in:
David Luzar 2021-03-26 22:12:02 +01:00 committed by GitHub
parent b081a09962
commit 8670b2d587
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 27 deletions

View file

@ -3626,9 +3626,18 @@ class App extends React.Component<ExcalidrawProps, AppState> {
const file = event.dataTransfer?.files[0];
if (
file?.type === "application/json" ||
file?.name.endsWith(".excalidraw")
file?.type === MIME_TYPES.excalidrawlib ||
file?.name?.endsWith(".excalidrawlib")
) {
Library.importLibrary(file)
.then(() => {
this.setState({ isLibraryOpen: false });
})
.catch((error) =>
this.setState({ isLoading: false, errorMessage: error.message }),
);
// default: assume an Excalidraw file regardless of extension/MimeType
} else {
this.setState({ isLoading: true });
if (supported) {
try {
@ -3640,23 +3649,7 @@ class App extends React.Component<ExcalidrawProps, AppState> {
console.warn(error.name, error.message);
}
}
this.loadFileToCanvas(file);
} else if (
file?.type === MIME_TYPES.excalidrawlib ||
file?.name.endsWith(".excalidrawlib")
) {
Library.importLibrary(file)
.then(() => {
this.setState({ isLibraryOpen: false });
})
.catch((error) =>
this.setState({ isLoading: false, errorMessage: error.message }),
);
} else {
this.setState({
isLoading: false,
errorMessage: t("alerts.couldNotLoadInvalidFile"),
});
await this.loadFileToCanvas(file);
}
};