|
|
|
|
@ -130,7 +130,6 @@ export const useFlowCallbacks = (
|
|
|
|
|
if (!sourceNode || !targetNode) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取源节点和目标节点的参数信息
|
|
|
|
|
const sourceParams: any = sourceNode.data?.parameters || {};
|
|
|
|
|
const targetParams: any = targetNode.data?.parameters || {};
|
|
|
|
|
@ -181,10 +180,8 @@ export const useFlowCallbacks = (
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 检查源节点和目标节点是否都有事件信息
|
|
|
|
|
const sourceApi = (sourceParams.apiOuts || []).find((api: any) =>
|
|
|
|
|
api.name === params.sourceHandle || api.id === params.sourceHandle);
|
|
|
|
|
const targetApi = (targetParams.apiIns || []).find((api: any) =>
|
|
|
|
|
api.name === params.targetHandle || api.id === params.targetHandle);
|
|
|
|
|
const sourceApi = (sourceParams.apiOuts || []).find((api: any) => (api?.eventId || api.name || api.id) === params.sourceHandle);
|
|
|
|
|
const targetApi = (targetParams.apiIns || []).find((api: any) => (api?.eventId || api.name || api.id) === params.targetHandle);
|
|
|
|
|
|
|
|
|
|
// 如果源节点有事件topic信息
|
|
|
|
|
if (sourceApi && sourceApi.topic) {
|
|
|
|
|
@ -192,8 +189,9 @@ export const useFlowCallbacks = (
|
|
|
|
|
if (!targetApi || !targetApi.topic || targetApi.topic.includes('**empty**')) {
|
|
|
|
|
edgeParams.data = {
|
|
|
|
|
...edgeParams.data,
|
|
|
|
|
lineType: 'api',
|
|
|
|
|
displayData: {
|
|
|
|
|
name: sourceApi.name,
|
|
|
|
|
name: sourceApi.eventName,
|
|
|
|
|
eventId: sourceApi.eventId,
|
|
|
|
|
topic: sourceApi.topic
|
|
|
|
|
}
|
|
|
|
|
@ -205,8 +203,9 @@ export const useFlowCallbacks = (
|
|
|
|
|
!targetApi.topic.includes('**empty**')) {
|
|
|
|
|
edgeParams.data = {
|
|
|
|
|
...edgeParams.data,
|
|
|
|
|
lineType: 'api',
|
|
|
|
|
displayData: {
|
|
|
|
|
name: sourceApi.name,
|
|
|
|
|
name: sourceApi.eventName,
|
|
|
|
|
eventId: sourceApi.eventId,
|
|
|
|
|
topic: sourceApi.topic
|
|
|
|
|
}
|
|
|
|
|
@ -217,8 +216,9 @@ export const useFlowCallbacks = (
|
|
|
|
|
else if (targetApi && targetApi.topic && !targetApi.topic.includes('**empty**')) {
|
|
|
|
|
edgeParams.data = {
|
|
|
|
|
...edgeParams.data,
|
|
|
|
|
lineType: 'api',
|
|
|
|
|
displayData: {
|
|
|
|
|
name: targetApi.name,
|
|
|
|
|
name: targetApi.eventName,
|
|
|
|
|
eventId: targetApi.eventId,
|
|
|
|
|
topic: targetApi.topic
|
|
|
|
|
}
|
|
|
|
|
@ -257,8 +257,8 @@ export const useFlowCallbacks = (
|
|
|
|
|
const sourceHandleType = getHandleType(newConnection.sourceHandle, sourceParams);
|
|
|
|
|
const targetHandleType = getHandleType(newConnection.targetHandle, targetParams);
|
|
|
|
|
|
|
|
|
|
console.log("sourceHandleType:",sourceHandleType);
|
|
|
|
|
console.log("targetHandleType:",targetHandleType);
|
|
|
|
|
console.log('sourceHandleType:', sourceHandleType);
|
|
|
|
|
console.log('targetHandleType:', targetHandleType);
|
|
|
|
|
|
|
|
|
|
// 验证连接类型是否匹配 (api只能连api, data只能连data)
|
|
|
|
|
if (sourceHandleType !== targetHandleType) {
|
|
|
|
|
@ -695,16 +695,16 @@ export const useFlowCallbacks = (
|
|
|
|
|
const deleteEdge = useCallback((edge: Edge) => {
|
|
|
|
|
// 获取当前应用的运行状态
|
|
|
|
|
const { appRuntimeData, currentAppData } = store.getState().ideContainer;
|
|
|
|
|
const currentAppIsRunning = currentAppData?.id && appRuntimeData[currentAppData.id]
|
|
|
|
|
? appRuntimeData[currentAppData.id].isRunning
|
|
|
|
|
const currentAppIsRunning = currentAppData?.id && appRuntimeData[currentAppData.id]
|
|
|
|
|
? appRuntimeData[currentAppData.id].isRunning
|
|
|
|
|
: false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 在运行时禁止删除边
|
|
|
|
|
if (currentAppIsRunning) {
|
|
|
|
|
console.warn('在运行时不允许删除边');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setEdges((eds: Edge[]) => eds.filter((e) => e.id !== edge.id));
|
|
|
|
|
|
|
|
|
|
// 删除边后记录历史
|
|
|
|
|
|