feat: create and expose serializeLibraryAsJSON (#5009)
Co-authored-by: David Luzar <luzar.david@gmail.com>
This commit is contained in:
parent
880e4feede
commit
873afdacd3
@ -123,14 +123,18 @@ export const isValidLibrary = (json: any) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const saveLibraryAsJSON = async (libraryItems: LibraryItems) => {
|
export const serializeLibraryAsJSON = (libraryItems: LibraryItems) => {
|
||||||
const data: ExportedLibraryData = {
|
const data: ExportedLibraryData = {
|
||||||
type: EXPORT_DATA_TYPES.excalidrawLibrary,
|
type: EXPORT_DATA_TYPES.excalidrawLibrary,
|
||||||
version: VERSIONS.excalidrawLibrary,
|
version: VERSIONS.excalidrawLibrary,
|
||||||
source: EXPORT_SOURCE,
|
source: EXPORT_SOURCE,
|
||||||
libraryItems,
|
libraryItems,
|
||||||
};
|
};
|
||||||
const serialized = JSON.stringify(data, null, 2);
|
return JSON.stringify(data, null, 2);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const saveLibraryAsJSON = async (libraryItems: LibraryItems) => {
|
||||||
|
const serialized = serializeLibraryAsJSON(libraryItems);
|
||||||
await fileSave(
|
await fileSave(
|
||||||
new Blob([serialized], {
|
new Blob([serialized], {
|
||||||
type: MIME_TYPES.excalidrawlib,
|
type: MIME_TYPES.excalidrawlib,
|
||||||
|
@ -18,6 +18,7 @@ Please add the latest change on the top under the correct section.
|
|||||||
#### Refactor
|
#### Refactor
|
||||||
|
|
||||||
- Rename `appState.elementLocked` to `appState.activeTool.locked` [#4983](https://github.com/excalidraw/excalidraw/pull/4983).
|
- Rename `appState.elementLocked` to `appState.activeTool.locked` [#4983](https://github.com/excalidraw/excalidraw/pull/4983).
|
||||||
|
- Expose [`serializeLibraryAsJSON`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#serializeLibraryAsJSON) helper that we use when saving Excalidraw Library to a file.
|
||||||
|
|
||||||
##### BREAKING CHANGE
|
##### BREAKING CHANGE
|
||||||
|
|
||||||
|
@ -906,6 +906,17 @@ serializeAsJSON({
|
|||||||
|
|
||||||
Takes the scene elements and state and returns a JSON string. Deleted `elements`as well as most properties from `AppState` are removed from the resulting JSON. (see [`serializeAsJSON()`](https://github.com/excalidraw/excalidraw/blob/master/src/data/json.ts#L16) source for details).
|
Takes the scene elements and state and returns a JSON string. Deleted `elements`as well as most properties from `AppState` are removed from the resulting JSON. (see [`serializeAsJSON()`](https://github.com/excalidraw/excalidraw/blob/master/src/data/json.ts#L16) source for details).
|
||||||
|
|
||||||
|
#### `serializeLibraryAsJSON`
|
||||||
|
|
||||||
|
**_Signature_**
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
serializeLibraryAsJSON({
|
||||||
|
libraryItems: <a href="https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L191">LibraryItems[]</a>,
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Takes the library items and returns a JSON string.
|
||||||
|
|
||||||
#### `getSceneVersion`
|
#### `getSceneVersion`
|
||||||
|
|
||||||
**How to use**
|
**How to use**
|
||||||
|
@ -139,6 +139,6 @@ export const exportToSvg = async ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export { serializeAsJSON } from "../data/json";
|
export { serializeAsJSON, serializeLibraryAsJSON } from "../data/json";
|
||||||
export { loadFromBlob, loadLibraryFromBlob } from "../data/blob";
|
export { loadFromBlob, loadLibraryFromBlob } from "../data/blob";
|
||||||
export { getFreeDrawSvgPath } from "../renderer/renderElement";
|
export { getFreeDrawSvgPath } from "../renderer/renderElement";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user