### What problem does this PR solve? feat: create folder feat: ensure that all files in the current folder can be correctly requested after renaming the folder #345 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
import { useSetModalState, useTranslate } from '@/hooks/commonHooks';
|
||||
import {
|
||||
useSetModalState,
|
||||
useShowDeleteConfirm,
|
||||
useTranslate,
|
||||
} from '@/hooks/commonHooks';
|
||||
import {
|
||||
useCreateFolder,
|
||||
useFetchFileList,
|
||||
useFetchParentFolderList,
|
||||
useRemoveFile,
|
||||
useRenameFile,
|
||||
useSelectFileList,
|
||||
useSelectParentFolderList,
|
||||
@@ -144,7 +150,7 @@ export const useRenameCurrentFile = () => {
|
||||
|
||||
const onFileRenameOk = useCallback(
|
||||
async (name: string) => {
|
||||
const ret = await renameFile(file.id, name);
|
||||
const ret = await renameFile(file.id, name, file.parent_id);
|
||||
|
||||
if (ret === 0) {
|
||||
hideFileRenameModal();
|
||||
@@ -191,3 +197,56 @@ export const useSelectBreadcrumbItems = () => {
|
||||
path: `/file?folderId=${x.id}`,
|
||||
}));
|
||||
};
|
||||
|
||||
export const useHandleCreateFolder = () => {
|
||||
const {
|
||||
visible: folderCreateModalVisible,
|
||||
hideModal: hideFolderCreateModal,
|
||||
showModal: showFolderCreateModal,
|
||||
} = useSetModalState();
|
||||
const createFolder = useCreateFolder();
|
||||
const id = useGetFolderId();
|
||||
|
||||
const onFolderCreateOk = useCallback(
|
||||
async (name: string) => {
|
||||
const ret = await createFolder(id, name);
|
||||
|
||||
if (ret === 0) {
|
||||
hideFolderCreateModal();
|
||||
}
|
||||
},
|
||||
[createFolder, hideFolderCreateModal, id],
|
||||
);
|
||||
|
||||
const loading = useOneNamespaceEffectsLoading('fileManager', [
|
||||
'createFolder',
|
||||
]);
|
||||
|
||||
return {
|
||||
folderCreateLoading: loading,
|
||||
onFolderCreateOk,
|
||||
folderCreateModalVisible,
|
||||
hideFolderCreateModal,
|
||||
showFolderCreateModal,
|
||||
};
|
||||
};
|
||||
|
||||
export const useHandleDeleteFile = (fileIds: string[]) => {
|
||||
const removeDocument = useRemoveFile();
|
||||
const showDeleteConfirm = useShowDeleteConfirm();
|
||||
const parentId = useGetFolderId();
|
||||
|
||||
const handleRemoveFile = () => {
|
||||
showDeleteConfirm({
|
||||
onOk: () => {
|
||||
return removeDocument(fileIds, parentId);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
return { handleRemoveFile };
|
||||
};
|
||||
|
||||
export const useSelectFileListLoading = () => {
|
||||
return useOneNamespaceEffectsLoading('fileManager', ['listFile']);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user