mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
parent
68bdfaefbe
commit
b2822f3538
7 changed files with 33 additions and 18 deletions
|
@ -493,6 +493,33 @@ class App extends React.Component<ExcalidrawProps, AppState> {
|
|||
}
|
||||
|
||||
private initializeScene = async () => {
|
||||
if ("launchQueue" in window && "LaunchParams" in window) {
|
||||
(window as any).launchQueue.setConsumer(
|
||||
async (launchParams: { files: any[] }) => {
|
||||
if (!launchParams.files.length) {
|
||||
return;
|
||||
}
|
||||
const fileHandle = launchParams.files[0];
|
||||
const blob = await fileHandle.getFile();
|
||||
blob.handle = fileHandle;
|
||||
loadFromBlob(blob, this.state)
|
||||
.then(({ elements, appState }) =>
|
||||
this.syncActionResult({
|
||||
elements,
|
||||
appState: {
|
||||
...(appState || this.state),
|
||||
isLoading: false,
|
||||
},
|
||||
commitToHistory: true,
|
||||
}),
|
||||
)
|
||||
.catch((error) => {
|
||||
this.setState({ isLoading: false, errorMessage: error.message });
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
const searchParams = new URLSearchParams(window.location.search);
|
||||
const id = searchParams.get("id");
|
||||
const jsonMatch = window.location.hash.match(
|
||||
|
@ -3656,6 +3683,7 @@ class App extends React.Component<ExcalidrawProps, AppState> {
|
|||
// This will only work as of Chrome 86,
|
||||
// but can be safely ignored on older releases.
|
||||
const item = event.dataTransfer.items[0];
|
||||
// TODO: Make this part of `AppState`.
|
||||
(window as any).handle = await (item as any).getAsFileSystemHandle();
|
||||
} catch (error) {
|
||||
console.warn(error.name, error.message);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue