mirror of https://github.com/langgenius/dify.git
fix: Improve item selection logic and reset selected file list on folder open
This commit is contained in:
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…
Reference in New Issue