feat: allow props.initialData to be a function (#8135)

pull/8168/head
Esteban Romo 7 months ago committed by GitHub
parent a1ffa064df
commit 6ba9bd60e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -15,6 +15,8 @@ Please add the latest change on the top under the correct section.
### Features
- `props.initialData` can now be a function that returns `ExcalidrawInitialDataState` or `Promise<ExcalidrawInitialDataState>`. [#8107](https://github.com/excalidraw/excalidraw/pull/8135)
- Added support for multiplayer undo/redo, by calculating invertible increments and storing them inside the local-only undo/redo stacks. [#7348](https://github.com/excalidraw/excalidraw/pull/7348)
- `MainMenu.DefaultItems.ToggleTheme` now supports `onSelect(theme: string)` callback, and optionally `allowSystemTheme: boolean` alongside `theme: string` to indicate you want to allow users to set to system theme (you need to handle this yourself). [#7853](https://github.com/excalidraw/excalidraw/pull/7853)

@ -2291,7 +2291,11 @@ class App extends React.Component<AppProps, AppState> {
}
let initialData = null;
try {
if (typeof this.props.initialData === "function") {
initialData = (await this.props.initialData()) || null;
} else {
initialData = (await this.props.initialData) || null;
}
if (initialData?.libraryItems) {
this.library
.updateLibrary({

@ -444,7 +444,9 @@ export interface ExcalidrawProps {
appState: AppState,
files: BinaryFiles,
) => void;
initialData?: MaybePromise<ExcalidrawInitialDataState | null>;
initialData?:
| (() => MaybePromise<ExcalidrawInitialDataState | null>)
| MaybePromise<ExcalidrawInitialDataState | null>;
excalidrawAPI?: (api: ExcalidrawImperativeAPI) => void;
isCollaborating?: boolean;
onPointerUpdate?: (payload: {

Loading…
Cancel
Save