fixes
This commit is contained in:
+15
-8
@@ -1708,7 +1708,7 @@ const AppLayout = () => {
|
||||
);
|
||||
|
||||
const loadFolder = useCallback(
|
||||
async (folderId, { showLoading = true } = {}) => {
|
||||
async (folderId, { showLoading = true, preserveSearch = false } = {}) => {
|
||||
const targetId = folderId || 'root';
|
||||
setSelectedFolder(targetId);
|
||||
if (showLoading) setLoading(true);
|
||||
@@ -1722,7 +1722,9 @@ const AppLayout = () => {
|
||||
}
|
||||
}
|
||||
applySelectedFolder(targetId, contents);
|
||||
setSearchResults(null);
|
||||
if (!preserveSearch) {
|
||||
setSearchResults(null);
|
||||
}
|
||||
} catch (error) {
|
||||
notifyApiError(error, 'Failed to load folder contents.');
|
||||
} finally {
|
||||
@@ -1759,14 +1761,14 @@ const AppLayout = () => {
|
||||
const targetId = folderId && folderId !== 'root' ? folderId : 'root';
|
||||
|
||||
if (!navigate || immediate) {
|
||||
await loadFolder(targetId);
|
||||
await loadFolder(targetId, { preserveSearch: isFilterActive });
|
||||
return;
|
||||
}
|
||||
|
||||
const path = targetId === 'root' ? '/documents' : `/documents/folder/${targetId}`;
|
||||
navigate(path, { replace });
|
||||
},
|
||||
[loadFolder, navigate],
|
||||
[loadFolder, navigate, isFilterActive],
|
||||
);
|
||||
|
||||
const initializeAfterLogin = useCallback(async () => {
|
||||
@@ -1799,7 +1801,10 @@ const AppLayout = () => {
|
||||
|
||||
const hasData = folderContents.has(targetParam);
|
||||
if (targetParam !== selectedFolder || !hasData) {
|
||||
loadFolder(targetParam, { showLoading: !routeDocumentId });
|
||||
loadFolder(targetParam, {
|
||||
showLoading: !routeDocumentId,
|
||||
preserveSearch: isFilterActive,
|
||||
});
|
||||
}
|
||||
}, [
|
||||
token,
|
||||
@@ -1809,6 +1814,7 @@ const AppLayout = () => {
|
||||
selectedFolder,
|
||||
loadFolder,
|
||||
folderContents,
|
||||
isFilterActive,
|
||||
]);
|
||||
|
||||
const refreshCurrentFolder = useCallback(async () => {
|
||||
@@ -3173,14 +3179,14 @@ const AppLayout = () => {
|
||||
const targetId = folderId || selectedFolder || 'root';
|
||||
|
||||
if (!navigate) {
|
||||
loadFolder(targetId, { showLoading: false });
|
||||
loadFolder(targetId, { showLoading: false, preserveSearch: isFilterActive });
|
||||
return;
|
||||
}
|
||||
|
||||
const path = targetId === 'root' ? '/documents' : `/documents/folder/${targetId}`;
|
||||
navigate(path, { replace: false });
|
||||
},
|
||||
[navigate, selectedFolder, loadFolder],
|
||||
[navigate, selectedFolder, loadFolder, isFilterActive],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -3218,7 +3224,7 @@ const AppLayout = () => {
|
||||
|
||||
const targetFolder = doc?.folder_id || routeFolderId || 'root';
|
||||
if (targetFolder && targetFolder !== selectedFolder) {
|
||||
await loadFolder(targetFolder, { showLoading: false });
|
||||
await loadFolder(targetFolder, { showLoading: false, preserveSearch: isFilterActive });
|
||||
}
|
||||
if (!cancelled) {
|
||||
await openDocumentPreview(routeDocumentId, { replace: true, skipNavigate: true });
|
||||
@@ -3248,6 +3254,7 @@ const AppLayout = () => {
|
||||
documents,
|
||||
searchResults,
|
||||
notifyApiError,
|
||||
isFilterActive,
|
||||
]);
|
||||
|
||||
const handleDocumentTitleUpdate = useCallback(
|
||||
|
||||
Reference in New Issue
Block a user