Skip to content

Commit 5ed57f5

Browse files
authored
[elsa] Modify llm node knowledgeForm reference filter. (#348)
1 parent caab8d3 commit 5ed57f5

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

framework/elsa/fit-elsa-react/src/components/common/JadeReferenceMultiTreeSelect.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {useTranslation} from 'react-i18next';
2020
* @constructor
2121
*/
2222
const _JadeReferenceMultiTreeSelect = (props) => {
23-
const {reference, onReferencedValueChange, onReferencedKeyChange, rules, className, width, moveOutReference, treeFilter, ...rest} = props;
23+
const {reference, onReferencedValueChange, onReferencedKeyChange, rules, className, width, moveOutReference, treeFilter, typeFilter, ...rest} = props;
2424
const shape = useShapeContext();
2525
const {t} = useTranslation();
2626
const name = `reference-${reference.id}`;
@@ -104,7 +104,7 @@ const _JadeReferenceMultiTreeSelect = (props) => {
104104
onChange={(e) => rest.onChange ? rest.onChange(e, treeData) : onChange(e, treeData)}
105105
treeData={treeData}
106106
onDropdownVisibleChange={() => {
107-
setTreeData(buildTreeData(shape, treeFilter));
107+
setTreeData(buildTreeData(shape, treeFilter, typeFilter));
108108
}}
109109
multiple={true}
110110
showArrow

framework/elsa/fit-elsa-react/src/components/llm/KnowledgeForm.jsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
import {Collapse, Popover} from 'antd';
88
import {useDataContext, useDispatch} from '@/components/DefaultRoot.jsx';
99
import PropTypes from 'prop-types';
10-
import React from 'react';
10+
import React, {useMemo} from 'react';
1111
import {Trans, useTranslation} from 'react-i18next';
1212
import {JadeReferenceMultiTreeSelect} from '@/components/common/JadeReferenceMultiTreeSelect.jsx';
1313
import {QuestionCircleOutlined} from '@ant-design/icons';
1414
import {JadeCollapse} from '@/components/common/JadeCollapse.jsx';
15+
import {DATA_TYPES, VIRTUAL_CONTEXT_NODE} from "@/common/Consts.js";
1516

1617
const {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

Comments
 (0)