77import { Collapse , Popover } from 'antd' ;
88import { useDataContext , useDispatch } from '@/components/DefaultRoot.jsx' ;
99import PropTypes from 'prop-types' ;
10- import React from 'react' ;
10+ import React , { useMemo } from 'react' ;
1111import { Trans , useTranslation } from 'react-i18next' ;
1212import { JadeReferenceMultiTreeSelect } from '@/components/common/JadeReferenceMultiTreeSelect.jsx' ;
1313import { QuestionCircleOutlined } from '@ant-design/icons' ;
1414import { JadeCollapse } from '@/components/common/JadeCollapse.jsx' ;
15+ import { DATA_TYPES , VIRTUAL_CONTEXT_NODE } from "@/common/Consts.js" ;
1516
1617const { Panel} = Collapse ;
1718
@@ -26,6 +27,7 @@ const _KnowledgeForm = ({knowledgeData, disabled}) => {
2627 const dispatch = useDispatch ( ) ;
2728 const data = useDataContext ( ) ;
2829 const { t} = useTranslation ( ) ;
30+ const arrayType = useMemo ( ( ) => ( DATA_TYPES ?. ARRAY ?? 'ARRAY' ) . toUpperCase ( ) , [ DATA_TYPES ?. ARRAY ] ) ;
2931
3032 const content = ( < div className = { 'jade-font-size' } style = { { lineHeight : '1.2' } } >
3133 < Trans i18nKey = 'llmKnowledgePopover' components = { { p : < p /> } } />
@@ -73,7 +75,8 @@ const _KnowledgeForm = ({knowledgeData, disabled}) => {
7375 reference = { knowledgeData }
7476 onReferencedValueChange = { handleReferenceValueChange }
7577 onReferencedKeyChange = { handleReferenceKeyChange }
76- treeFilter = { ( node ) => node . node . type === 'knowledgeRetrievalNodeState' }
78+ treeFilter = { ( node ) => node . node . type !== VIRTUAL_CONTEXT_NODE . name && node . observableList . some ( item => item . type === 'Array' ) }
79+ typeFilter = { ( o ) => ( o ?. type ?? '' ) . toUpperCase ( ) === arrayType }
7780 moveOutReference = { ! data . tempReference || ! data . tempReference [ knowledgeData . id ] ? [ ] : data . tempReference [ knowledgeData . id ] }
7881 />
7982 </ div >
0 commit comments