mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Fix library import (#2360)
This commit is contained in:
parent
dad9ad9bf4
commit
5b829772d9
3 changed files with 14 additions and 6 deletions
|
@ -2,6 +2,8 @@ import { loadLibraryFromBlob } from "./blob";
|
|||
import { LibraryItems, LibraryItem } from "../types";
|
||||
import { restoreElements } from "./restore";
|
||||
import { STORAGE_KEYS } from "../constants";
|
||||
import { getNonDeletedElements } from "../element";
|
||||
import { NonDeleted, ExcalidrawElement } from "../element/types";
|
||||
|
||||
export class Library {
|
||||
private static libraryCache: LibraryItems | null = null;
|
||||
|
@ -43,9 +45,15 @@ export class Library {
|
|||
};
|
||||
|
||||
const existingLibraryItems = await Library.loadLibrary();
|
||||
const filtered = libraryFile.library!.filter((libraryItem) =>
|
||||
isUniqueitem(existingLibraryItems, libraryItem),
|
||||
);
|
||||
|
||||
const filtered = libraryFile.library!.reduce((acc, libraryItem) => {
|
||||
const restored = getNonDeletedElements(restoreElements(libraryItem));
|
||||
if (isUniqueitem(existingLibraryItems, restored)) {
|
||||
acc.push(restored);
|
||||
}
|
||||
return acc;
|
||||
}, [] as (readonly NonDeleted<ExcalidrawElement>[])[]);
|
||||
|
||||
Library.saveLibrary([...existingLibraryItems, ...filtered]);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue