fix: yuque dataset file folder can enter (#3593)
This commit is contained in:
1
packages/global/core/dataset/apiDataset.d.ts
vendored
1
packages/global/core/dataset/apiDataset.d.ts
vendored
@@ -5,6 +5,7 @@ export type APIFileItem = {
|
||||
type: 'file' | 'folder';
|
||||
updateTime: Date;
|
||||
createTime: Date;
|
||||
canEnter?: boolean;
|
||||
};
|
||||
|
||||
export type APIFileServer = {
|
||||
|
||||
@@ -99,7 +99,13 @@ export const useApiDatasetRequest = ({ apiServer }: { apiServer: APIFileServer }
|
||||
if (files.some((file) => !file.id || !file.name || typeof file.type === 'undefined')) {
|
||||
return Promise.reject('Invalid file data format');
|
||||
}
|
||||
return files;
|
||||
|
||||
const formattedFiles = files.map((file) => ({
|
||||
...file,
|
||||
canEnter: file.type === 'folder'
|
||||
}));
|
||||
|
||||
return formattedFiles;
|
||||
};
|
||||
|
||||
const getFileContent = async ({ teamId, apiFileId }: { teamId: string; apiFileId: string }) => {
|
||||
|
||||
@@ -49,7 +49,6 @@ const CustomAPIFileInput = () => {
|
||||
parentId: '',
|
||||
parentName: ''
|
||||
});
|
||||
const [parentUuid, setParentUuid] = useState<string>('');
|
||||
const [paths, setPaths] = useState<ParentTreePathItemType[]>([]);
|
||||
|
||||
const [searchKey, setSearchKey] = useState('');
|
||||
@@ -128,7 +127,7 @@ const CustomAPIFileInput = () => {
|
||||
|
||||
const handleItemClick = useCallback(
|
||||
(item: APIFileItem) => {
|
||||
if (item.type === 'folder') {
|
||||
if (item.canEnter) {
|
||||
setPaths((state) => [...state, { parentId: item.id, parentName: item.name }]);
|
||||
return setParent({
|
||||
parentId: item.id,
|
||||
@@ -251,6 +250,7 @@ const CustomAPIFileInput = () => {
|
||||
<Box fontSize={'sm'} fontWeight={'medium'} color={'myGray.900'}>
|
||||
{item.name}
|
||||
</Box>
|
||||
{item.canEnter && <MyIcon name="core/chat/chevronRight" w={'18px'} ml={2} />}
|
||||
</Flex>
|
||||
);
|
||||
})}
|
||||
|
||||
Reference in New Issue
Block a user