fix: Improve item selection logic and reset selected file list on folder open

feat/rag-2
twwu 7 months ago
parent b36f36d242
commit 5e2b60664f

@ -39,9 +39,10 @@ const Item = ({
const handleClickItem = useCallback((e: React.MouseEvent<HTMLDivElement>) => {
e.stopPropagation()
if (disabled) return
if (isBucket || isFolder)
if (isBucket || isFolder) {
onOpen(file)
if (isBucket) return // Do not select bucket
return
}
onSelect(file)
}, [disabled, file, isBucket, isFolder, onOpen, onSelect])

@ -112,13 +112,14 @@ const OnlineDrive = ({
}, [dataSourceStore, isInPipeline, selectedFileList])
const handleOpenFolder = useCallback((file: OnlineDriveFile) => {
const { setPrefix, setBucket, setFileList } = dataSourceStore.getState()
const { setPrefix, setBucket, setFileList, setSelectedFileList } = dataSourceStore.getState()
if (file.type === OnlineDriveFileType.file) return
setFileList([])
if (file.type === OnlineDriveFileType.bucket) {
setBucket(file.displayName)
}
else {
setSelectedFileList([])
const displayName = file.displayName.endsWith('/') ? file.displayName.slice(0, -1) : file.displayName
const newPrefix = produce(prefix, (draft) => {
draft.push(displayName)

Loading…
Cancel
Save