chore: remove sync from left panel tree

This commit is contained in:
Joel
2026-01-19 16:11:10 +08:00
parent f9fd234cf8
commit eae82b1085
2 changed files with 3 additions and 13 deletions

View File

@ -13,8 +13,7 @@ import Loading from '@/app/components/base/loading'
import TreeGuideLines from '@/app/components/workflow/skill/file-tree/tree-guide-lines' import TreeGuideLines from '@/app/components/workflow/skill/file-tree/tree-guide-lines'
import { useSkillAssetTreeData } from '@/app/components/workflow/skill/hooks/use-skill-asset-tree' import { useSkillAssetTreeData } from '@/app/components/workflow/skill/hooks/use-skill-asset-tree'
import { getFileIconType } from '@/app/components/workflow/skill/utils/file-utils' import { getFileIconType } from '@/app/components/workflow/skill/utils/file-utils'
import { findNodeById, getAncestorIds, toOpensObject } from '@/app/components/workflow/skill/utils/tree-utils' import { findNodeById, getAncestorIds } from '@/app/components/workflow/skill/utils/tree-utils'
import { useStore, useWorkflowStore } from '@/app/components/workflow/store'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
type FilePickerTreeNodeProps = NodeRendererProps<TreeNodeData> & { type FilePickerTreeNodeProps = NodeRendererProps<TreeNodeData> & {
@ -110,24 +109,20 @@ FilePickerTreeNode.displayName = 'FilePickerTreeNode'
type FilePickerPanelProps = { type FilePickerPanelProps = {
onSelectNode: (node: TreeNodeData) => void onSelectNode: (node: TreeNodeData) => void
focusNodeId?: string focusNodeId?: string
syncExpandedState?: boolean
} }
const FilePickerPanel: FC<FilePickerPanelProps> = ({ const FilePickerPanel: FC<FilePickerPanelProps> = ({
onSelectNode, onSelectNode,
focusNodeId, focusNodeId,
syncExpandedState = true,
}) => { }) => {
const { t } = useTranslation('workflow') const { t } = useTranslation('workflow')
const { data: treeData, isLoading, error } = useSkillAssetTreeData() const { data: treeData, isLoading, error } = useSkillAssetTreeData()
const expandedFolderIds = useStore(s => s.expandedFolderIds)
const storeApi = useWorkflowStore()
const containerRef = useRef<HTMLDivElement>(null) const containerRef = useRef<HTMLDivElement>(null)
const containerSize = useSize(containerRef) const containerSize = useSize(containerRef)
const treeNodes = useMemo(() => treeData?.children || [], [treeData?.children]) const treeNodes = useMemo(() => treeData?.children || [], [treeData?.children])
const initialOpenState = useMemo(() => { const initialOpenState = useMemo(() => {
const nextState = syncExpandedState ? toOpensObject(expandedFolderIds) : {} const nextState: Record<string, boolean> = {}
if (!focusNodeId || treeNodes.length === 0) if (!focusNodeId || treeNodes.length === 0)
return nextState return nextState
@ -138,7 +133,7 @@ const FilePickerPanel: FC<FilePickerPanelProps> = ({
nextState[focusNode.id] = true nextState[focusNode.id] = true
return nextState return nextState
}, [expandedFolderIds, focusNodeId, syncExpandedState, treeNodes]) }, [focusNodeId, treeNodes])
const renderNode = useCallback((props: NodeRendererProps<TreeNodeData>) => ( const renderNode = useCallback((props: NodeRendererProps<TreeNodeData>) => (
<FilePickerTreeNode {...props} onSelectNode={onSelectNode} /> <FilePickerTreeNode {...props} onSelectNode={onSelectNode} />
@ -188,10 +183,6 @@ const FilePickerPanel: FC<FilePickerPanelProps> = ({
overscanCount={5} overscanCount={5}
openByDefault={false} openByDefault={false}
initialOpenState={initialOpenState} initialOpenState={initialOpenState}
onToggle={(id) => {
if (syncExpandedState)
storeApi.getState().toggleFolder(id)
}}
disableDrag disableDrag
disableDrop disableDrop
> >

View File

@ -83,7 +83,6 @@ const FileReferenceBlock: FC<FileReferenceBlockProps> = ({ nodeKey, resourceId }
<FilePickerPanel <FilePickerPanel
onSelectNode={handleSelect} onSelectNode={handleSelect}
focusNodeId={resourceId} focusNodeId={resourceId}
syncExpandedState={false}
/> />
</PortalToFollowElemContent> </PortalToFollowElemContent>
</PortalToFollowElem> </PortalToFollowElem>