simplify shit
This commit is contained in:
@@ -37,8 +37,6 @@ type EnsureFolderData = (
|
||||
options?: { includeDocuments?: boolean },
|
||||
) => Promise<FolderContents>;
|
||||
|
||||
type ApplySelectedFolder = (folderId: FolderId, contents?: FolderContents | null) => void;
|
||||
|
||||
type RemoveDocumentsFromCaches = (documentIds: DocumentId[]) => void;
|
||||
|
||||
type CloseDocumentPreview = () => void;
|
||||
@@ -86,7 +84,6 @@ interface UseDocumentMutationsArgs {
|
||||
selectedFolder: FolderId;
|
||||
setSelectedFolder: Dispatch<SetStateAction<FolderId>>;
|
||||
setDocuments: Dispatch<SetStateAction<Document[]>>;
|
||||
setFolderContents: Dispatch<SetStateAction<Map<FolderId, FolderContents>>>;
|
||||
setSearchResultIds: Dispatch<SetStateAction<DocumentId[] | null>>;
|
||||
setSelectedEntries: Dispatch<SetStateAction<string[]>>;
|
||||
setSelectionOrder: Dispatch<SetStateAction<string[]>>;
|
||||
@@ -99,7 +96,6 @@ interface UseDocumentMutationsArgs {
|
||||
notifyApiError: NotifyApiError;
|
||||
setStatusMessage: SetStatusMessage;
|
||||
mapDocumentCaches: MapDocumentCaches;
|
||||
applySelectedFolder: ApplySelectedFolder;
|
||||
folderNodes: Map<FolderId, FolderNode>;
|
||||
setFolderNodes: Dispatch<SetStateAction<Map<FolderId, FolderNode>>>;
|
||||
removeDocumentsFromCaches: RemoveDocumentsFromCaches;
|
||||
@@ -159,7 +155,6 @@ const useDocumentMutations = ({
|
||||
selectedFolder,
|
||||
setSelectedFolder,
|
||||
setDocuments,
|
||||
setFolderContents,
|
||||
setSearchResultIds,
|
||||
setSelectedEntries,
|
||||
setSelectionOrder,
|
||||
@@ -172,7 +167,6 @@ const useDocumentMutations = ({
|
||||
notifyApiError,
|
||||
setStatusMessage,
|
||||
mapDocumentCaches,
|
||||
applySelectedFolder,
|
||||
folderNodes,
|
||||
setFolderNodes,
|
||||
removeDocumentsFromCaches,
|
||||
@@ -291,26 +285,8 @@ const useDocumentMutations = ({
|
||||
return filtered.length === prev.length ? prev : filtered;
|
||||
});
|
||||
setDocuments((prev) => prev.filter((doc) => !uniqueIdSet.has(doc.id as DocumentId)));
|
||||
setFolderContents((prev: Map<FolderId, FolderContents>) => {
|
||||
if (!prev.size) {
|
||||
return prev;
|
||||
}
|
||||
let changed = false;
|
||||
const next = new Map<FolderId, FolderContents>(prev);
|
||||
movedDocs.forEach(({ id, sourceFolderId }) => {
|
||||
const sourceKey = (sourceFolderId || 'root') as FolderId;
|
||||
const entry = next.get(sourceKey);
|
||||
if (!entry?.documents?.length) {
|
||||
return;
|
||||
}
|
||||
const filteredDocs = entry.documents.filter((doc) => doc.id !== id);
|
||||
if (filteredDocs.length !== entry.documents.length) {
|
||||
changed = true;
|
||||
next.set(sourceKey, { ...entry, documents: filteredDocs });
|
||||
}
|
||||
});
|
||||
return changed ? next : prev;
|
||||
});
|
||||
setDocuments((prev) => prev.filter((doc) => !uniqueIdSet.has(doc.id as DocumentId)));
|
||||
// setFolderContents removed as we don't hold full cache anymore
|
||||
|
||||
setSelectedEntries((prev) => pruneRow(prev));
|
||||
setSelectionOrder((prev) => pruneRow(prev));
|
||||
@@ -350,7 +326,6 @@ const useDocumentMutations = ({
|
||||
selectedFolder,
|
||||
setSearchResultIds,
|
||||
setDocuments,
|
||||
setFolderContents,
|
||||
setSelectedEntries,
|
||||
setSelectionOrder,
|
||||
selectionOrderRef,
|
||||
@@ -696,22 +671,17 @@ const useDocumentMutations = ({
|
||||
});
|
||||
}
|
||||
}
|
||||
return next;
|
||||
});
|
||||
|
||||
setFolderContents((prev: Map<FolderId, FolderContents>) => {
|
||||
const next = new Map<FolderId, FolderContents>(prev);
|
||||
next.delete(folderId);
|
||||
return next;
|
||||
});
|
||||
// setFolderContents removed
|
||||
|
||||
if (selectedFolder === folderId) {
|
||||
const node = folderNodes.get(folderId);
|
||||
const parentId = node?.parentId || 'root';
|
||||
setSelectedFolder(parentId);
|
||||
const parentContents = await ensureFolderData(parentId);
|
||||
applySelectedFolder(parentId, parentContents);
|
||||
// ensureFolderData(parentId) will be called by useDocumentsWorkspace effect when selectedFolder changes
|
||||
} else if (selectedFolder !== 'root') {
|
||||
// If deleted folder was not selected, just check if we need to refresh (maybe redundant)
|
||||
await ensureFolderData(selectedFolder);
|
||||
}
|
||||
|
||||
@@ -734,9 +704,7 @@ const useDocumentMutations = ({
|
||||
selectedFolder,
|
||||
folderNodes,
|
||||
setSelectedFolder,
|
||||
applySelectedFolder,
|
||||
setFolderNodes,
|
||||
setFolderContents,
|
||||
notifyApiError,
|
||||
setStatusMessage,
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user