| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import {
- useMemo,
- } from 'react'
- import type { NodeSelectorProps } from './main'
- import NodeSelector from './main'
- import { useHooksStore } from '@/app/components/workflow/hooks-store/store'
- import { BlockEnum } from '@/app/components/workflow/types'
- import { useStore } from '../store'
-
- 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.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={blocks}
- dataSources={dataSourceList || []}
- />
- )
- }
-
- export default NodeSelectorWrapper
|