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

This commit is contained in:
twwu 2025-07-08 14:26:55 +08:00
parent b36f36d242
commit 5e2b60664f
2 changed files with 5 additions and 3 deletions

View File

@ -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])

View File

@ -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)