Feat: Display the selected variables in the variable aggregation node. #10427 (#11113)

### What problem does this PR solve?
Feat: Display the selected variables in the variable aggregation node.
#10427

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-11-07 19:52:04 +08:00
committed by GitHub
parent 9a6808230a
commit 8f34824aa4
4 changed files with 79 additions and 9 deletions

View File

@ -1,11 +1,36 @@
import { IRagNode } from '@/interfaces/database/agent';
import { NodeCollapsible } from '@/components/collapse';
import { BaseNode } from '@/interfaces/database/agent';
import { NodeProps } from '@xyflow/react';
import { RagNode } from '.';
import { VariableAggregatorFormSchemaType } from '../../form/variable-aggregator-form/schema';
import { useGetVariableLabelOrTypeByValue } from '../../hooks/use-get-begin-query';
import { LabelCard } from './card';
export function VariableAggregatorNode({
...props
}: NodeProps<BaseNode<VariableAggregatorFormSchemaType>>) {
const { data } = props;
const { getLabel } = useGetVariableLabelOrTypeByValue();
export function VariableAggregatorNode({ ...props }: NodeProps<IRagNode>) {
return (
<RagNode {...props}>
<section>VariableAggregatorNode</section>
<NodeCollapsible items={data.form?.groups}>
{(x, idx) => (
<section key={idx} className="space-y-1">
<div className="flex justify-between items-center gap-2">
<span className="flex-1 min-w-0 truncate"> {x.group_name}</span>
<span className="text-text-secondary">{x.type}</span>
</div>
<div className="space-y-1">
{x.variables.map((y, index) => (
<LabelCard key={index} className="truncate">
{getLabel(y.value)}
</LabelCard>
))}
</div>
</section>
)}
</NodeCollapsible>
</RagNode>
);
}