diff --git a/src/types/topology.d.ts b/src/types/topology.d.ts index bcc8659c..d2e4c4e3 100644 --- a/src/types/topology.d.ts +++ b/src/types/topology.d.ts @@ -51,6 +51,7 @@ export interface Node { y?: number; level?: number; l?: number; + key?: string; } export interface ServiceHierarchy { diff --git a/src/views/dashboard/related/topology/pod/InstanceMap.vue b/src/views/dashboard/related/topology/pod/InstanceMap.vue index f92ab280..02befe96 100644 --- a/src/views/dashboard/related/topology/pod/InstanceMap.vue +++ b/src/views/dashboard/related/topology/pod/InstanceMap.vue @@ -148,7 +148,7 @@ limitations under the License. --> popover.value.style("visibility", "hidden"); } - function handleNodeClick(event: MouseEvent, d: Node & { x: number; y: number }) { + function handleNodeClick(event: MouseEvent, d: Node & { serviceId: string }) { const origin = dashboardStore.entity; event.stopPropagation(); hideTip(); @@ -161,7 +161,7 @@ limitations under the License. --> ConfigFieldTypes.ISDEFAULT, ).dashboard || {}; const name = dashboard.name; - const path = `/dashboard/${dashboardStore.layerId}/${EntityType[0].value}/${topologyStore.node.id}/${name}`; + const path = `/dashboard/${dashboardStore.layerId}/${EntityType[3].value}/${d.serviceId}/${d.key}/${name}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank"); diff --git a/src/views/dashboard/related/topology/service/HierarchyMap.vue b/src/views/dashboard/related/topology/service/HierarchyMap.vue index 5ac59021..6a936045 100644 --- a/src/views/dashboard/related/topology/service/HierarchyMap.vue +++ b/src/views/dashboard/related/topology/service/HierarchyMap.vue @@ -156,7 +156,7 @@ limitations under the License. --> popover.value.style("visibility", "hidden"); } - function handleNodeClick(event: MouseEvent, d: Node & { x: number; y: number }) { + function handleNodeClick(event: MouseEvent, d: Node) { const origin = dashboardStore.entity; event.stopPropagation(); hideTip(); @@ -169,7 +169,7 @@ limitations under the License. --> ConfigFieldTypes.ISDEFAULT, ).dashboard || {}; const name = dashboard.name; - const path = `/dashboard/${dashboardStore.layerId}/${EntityType[0].value}/${topologyStore.node.id}/${name}`; + const path = `/dashboard/${dashboardStore.layerId}/${EntityType[0].value}/${d.key}/${name}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank");