fix(ui): pass onNodeAction to diagram components to restore context menu
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m10s
CI / docker (push) Successful in 1m1s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 37s

This commit is contained in:
hsiegeln
2026-03-28 14:37:58 +01:00
parent 4ed804141a
commit 73560d761d

View File

@@ -1,9 +1,10 @@
import { useState, useMemo, useCallback, useRef } from 'react';
import { useParams } from 'react-router';
import { useParams, useNavigate } from 'react-router';
import { useGlobalFilters } from '@cameleer/design-system';
import { useExecutionDetail } from '../../api/queries/executions';
import { useDiagramByRoute } from '../../api/queries/diagrams';
import { useRouteCatalog } from '../../api/queries/catalog';
import type { NodeAction } from '../../components/ProcessDiagram/types';
import { ExchangeHeader } from './ExchangeHeader';
import { ExecutionDiagram } from '../../components/ExecutionDiagram/ExecutionDiagram';
import { ProcessDiagram } from '../../components/ProcessDiagram';
@@ -78,6 +79,7 @@ interface DiagramPanelProps {
}
function DiagramPanel({ appId, routeId, exchangeId }: DiagramPanelProps) {
const navigate = useNavigate();
const { timeRange } = useGlobalFilters();
const timeFrom = timeRange.start.toISOString();
const timeTo = timeRange.end.toISOString();
@@ -98,6 +100,12 @@ function DiagramPanel({ appId, routeId, exchangeId }: DiagramPanelProps) {
return ids;
}, [catalog]);
const handleNodeAction = useCallback((nodeId: string, action: NodeAction) => {
if (action === 'configure-tap') {
navigate(`/admin/appconfig?app=${encodeURIComponent(appId)}&processor=${encodeURIComponent(nodeId)}`);
}
}, [appId, navigate]);
if (exchangeId && detail) {
return (
<>
@@ -106,6 +114,7 @@ function DiagramPanel({ appId, routeId, exchangeId }: DiagramPanelProps) {
executionId={exchangeId}
executionDetail={detail}
knownRouteIds={knownRouteIds}
onNodeAction={handleNodeAction}
/>
</>
);
@@ -118,6 +127,7 @@ function DiagramPanel({ appId, routeId, exchangeId }: DiagramPanelProps) {
routeId={routeId}
diagramLayout={diagramQuery.data}
knownRouteIds={knownRouteIds}
onNodeAction={handleNodeAction}
/>
);
}