mirror of
				https://github.com/excalidraw/excalidraw.git
				synced 2025-11-04 04:44:31 +01:00 
			
		
		
		
	feat: Add the ability to clear library (#2997)
* Add the ability to clear libraries * Update 'libraries' to 'library' * Update en.json
This commit is contained in:
		@@ -27,7 +27,7 @@ import { ExportCB, ExportDialog } from "./ExportDialog";
 | 
			
		||||
import { FixedSideContainer } from "./FixedSideContainer";
 | 
			
		||||
import { GitHubCorner } from "./GitHubCorner";
 | 
			
		||||
import { HintViewer } from "./HintViewer";
 | 
			
		||||
import { exportFile, load, shield } from "./icons";
 | 
			
		||||
import { exportFile, load, shield, trash } from "./icons";
 | 
			
		||||
import { Island } from "./Island";
 | 
			
		||||
import "./LayerUI.scss";
 | 
			
		||||
import { LibraryUnit } from "./LibraryUnit";
 | 
			
		||||
@@ -100,6 +100,7 @@ const LibraryMenuItems = ({
 | 
			
		||||
  onInsertShape,
 | 
			
		||||
  pendingElements,
 | 
			
		||||
  setAppState,
 | 
			
		||||
  setLibraryItems,
 | 
			
		||||
}: {
 | 
			
		||||
  library: LibraryItems;
 | 
			
		||||
  pendingElements: LibraryItem;
 | 
			
		||||
@@ -107,6 +108,7 @@ const LibraryMenuItems = ({
 | 
			
		||||
  onInsertShape: (elements: LibraryItem) => void;
 | 
			
		||||
  onAddToLibrary: (elements: LibraryItem) => void;
 | 
			
		||||
  setAppState: React.Component<any, AppState>["setState"];
 | 
			
		||||
  setLibraryItems: (library: LibraryItems) => void;
 | 
			
		||||
}) => {
 | 
			
		||||
  const isMobile = useIsMobile();
 | 
			
		||||
  const numCells = library.length + (pendingElements.length > 0 ? 1 : 0);
 | 
			
		||||
@@ -150,6 +152,19 @@ const LibraryMenuItems = ({
 | 
			
		||||
            });
 | 
			
		||||
        }}
 | 
			
		||||
      />
 | 
			
		||||
      <ToolButton
 | 
			
		||||
        key="reset"
 | 
			
		||||
        type="button"
 | 
			
		||||
        title={t("buttons.resetLibrary")}
 | 
			
		||||
        aria-label={t("buttons.resetLibrary")}
 | 
			
		||||
        icon={trash}
 | 
			
		||||
        onClick={() => {
 | 
			
		||||
          if (window.confirm(t("alerts.resetLibrary"))) {
 | 
			
		||||
            Library.resetLibrary();
 | 
			
		||||
            setLibraryItems([]);
 | 
			
		||||
          }
 | 
			
		||||
        }}
 | 
			
		||||
      />
 | 
			
		||||
 | 
			
		||||
      <a href="https://libraries.excalidraw.com" target="_excalidraw_libraries">
 | 
			
		||||
        {t("labels.libraries")}
 | 
			
		||||
@@ -281,6 +296,7 @@ const LibraryMenu = ({
 | 
			
		||||
          onInsertShape={onInsertShape}
 | 
			
		||||
          pendingElements={pendingElements}
 | 
			
		||||
          setAppState={setAppState}
 | 
			
		||||
          setLibraryItems={setLibraryItems}
 | 
			
		||||
        />
 | 
			
		||||
      )}
 | 
			
		||||
    </Island>
 | 
			
		||||
 
 | 
			
		||||
@@ -117,6 +117,7 @@
 | 
			
		||||
    "edit": "Edit",
 | 
			
		||||
    "undo": "Undo",
 | 
			
		||||
    "redo": "Redo",
 | 
			
		||||
    "resetLibrary": "Reset library",
 | 
			
		||||
    "createNewRoom": "Create new room",
 | 
			
		||||
    "fullScreen": "Full screen",
 | 
			
		||||
    "darkMode": "Dark mode",
 | 
			
		||||
@@ -139,7 +140,8 @@
 | 
			
		||||
    "errorLoadingLibrary": "There was an error loading the third party library.",
 | 
			
		||||
    "confirmAddLibrary": "This will add {{numShapes}} shape(s) to your library. Are you sure?",
 | 
			
		||||
    "imageDoesNotContainScene": "Importing images isn't supported at the moment.\n\nDid you want to import a scene? This image does not seem to contain any scene data. Have you enabled this during export?",
 | 
			
		||||
    "cannotRestoreFromImage": "Scene couldn't be restored from this image file"
 | 
			
		||||
    "cannotRestoreFromImage": "Scene couldn't be restored from this image file",
 | 
			
		||||
    "resetLibrary": "This will clear your library. Are you sure?"
 | 
			
		||||
  },
 | 
			
		||||
  "toolBar": {
 | 
			
		||||
    "selection": "Selection",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user