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

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

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

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

Loading…
Cancel
Save