fix(nodeContentOther): 修复节点体中对于开始节点和结束节点的特殊判断

fixbug
钟良源 1 month ago
parent fe47ea56b8
commit 5714bb3022

@ -122,6 +122,7 @@ const renderSpecialNodeHandles = (isStartNode: boolean, isEndNode: boolean, data
// 获取连接到特定 API 句柄的 edges
const getConnectedEdgesForHandle = (edges: any[], nodeId: string, handleId: string, handleType: 'source' | 'target') => {
if (nodeId === 'start' || nodeId === 'end') return false;
return edges.filter(edge => {
if (handleType === 'target') {
// 检查目标节点ID和目标句柄ID都匹配
@ -137,7 +138,6 @@ const getConnectedEdgesForHandle = (edges: any[], nodeId: string, handleId: stri
// 根据 apiIns 中的 fieldIns/fieldOuts 获取对应的 dataIns/dataOuts
const getDataFieldsForApi = (apiItem: any, dataFields: any[], type: string) => {
if (!apiItem.fieldIns && !apiItem.fieldOuts) return [];
const fieldNames = type === 'in' ? apiItem.fieldIns : apiItem.fieldOuts;
return fieldNames
.map((fieldName: string) => dataFields.find(df => df.name === fieldName || df.id === fieldName))
@ -268,7 +268,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
const dataOuts = data.parameters?.dataOuts || [];
const showFooter = formatFooter(data.component) || false;
const footerData = (showFooter && data.component) || {};
const nodeId = data.id;
const nodeId = data.id || data.type; // 开始和结束节点没有id
// 判断节点类型
const isStartNode = data.type === 'start';
@ -292,8 +292,14 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
const relatedDataOut = getDataFieldsForApi(apiIn, dataOuts, 'out');
connectedOuts.push(...relatedDataOut);
}
else {
connectedIns.push(...dataIns);
connectedOuts.push(...dataOuts);
}
});
console.log('connectedIns, connectedOuts:', connectedIns, connectedOuts);
return { connectedIns, connectedOuts };
}, [edges, nodeId, apiIns, apiOuts, dataIns, dataOuts]);
@ -356,7 +362,7 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
)}
{/* Data 输出 */}
{connectedDataFields.connectedOuts.length > 0 && !isEndNode && (
{connectedDataFields.connectedOuts.length > 0 && (
<div className={styles['node-outputs']}>
{connectedDataFields.connectedOuts.map((output, index) => (
<div key={output.id || `output-${index}`} className={styles['node-output-label']}>

Loading…
Cancel
Save