dify/web/app/components/workflow/block-selector/index.tsx
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

44 lines
1.3 KiB
TypeScript

import type { NodeSelectorProps } from './main'
import { useMemo } from 'react'
import { useHooksStore } from '@/app/components/workflow/hooks-store/store'
import { BlockEnum } from '@/app/components/workflow/types'
import { useStore } from '../store'
import NodeSelector from './main'
const NodeSelectorWrapper = (props: NodeSelectorProps) => {
const availableNodesMetaData = useHooksStore((s) => s.availableNodesMetaData)
const dataSourceList = useStore((s) => s.dataSourceList)
const blocks = useMemo(() => {
const result = availableNodesMetaData?.nodes || []
return result.filter((block) => {
if (block.metaData.type === BlockEnum.Start) return false
if (block.metaData.type === BlockEnum.StartPlaceholder) return false
if (block.metaData.type === BlockEnum.DataSource) return false
if (block.metaData.type === BlockEnum.Tool) return false
if (block.metaData.type === BlockEnum.IterationStart) return false
if (block.metaData.type === BlockEnum.LoopStart) return false
if (block.metaData.type === BlockEnum.DataSourceEmpty) return false
return true
})
}, [availableNodesMetaData?.nodes])
return (
<NodeSelector
{...props}
blocks={props.blocks || blocks}
dataSources={props.dataSources || dataSourceList || []}
/>
)
}
export default NodeSelectorWrapper