diff --git a/src/views/dashboard/panel/Tool.vue b/src/views/dashboard/panel/Tool.vue index 71177e85..bccd52af 100644 --- a/src/views/dashboard/panel/Tool.vue +++ b/src/views/dashboard/panel/Tool.vue @@ -134,12 +134,21 @@ function initSelector() { } async function setSelector() { - if (params.podId) { + if ( + params.entity === EntityType[2].value || + params.entity === EntityType[3].value + ) { await selectorStore.getService(String(params.serviceId)); states.currentService = selectorStore.currentService.value; await fetchPods(String(params.entity), false); + if (!(selectorStore.pods.length && selectorStore.pods[0])) { + selectorStore.setCurrentPod(null); + states.currentPod = ""; + return; + } + const pod = params.podId || selectorStore.pods[0].id; const currentPod = selectorStore.pods.filter( - (d: { id: string }) => d.id === String(params.podId) + (d: { id: string }) => d.id === pod )[0]; selectorStore.setCurrentPod(currentPod); states.currentPod = currentPod.label; diff --git a/src/views/dashboard/related/topology/Graph.vue b/src/views/dashboard/related/topology/Graph.vue index 3aaa2cae..948d9fcb 100644 --- a/src/views/dashboard/related/topology/Graph.vue +++ b/src/views/dashboard/related/topology/Graph.vue @@ -244,14 +244,14 @@ function update() { } function handleGoEndpoint() { const node = topologyStore.node; - const path = `/dashboard/${dashboardStore.layerId}/Endpoint/${node.id}/${settings.value.nodeDashboard}`; + const path = `/dashboard/${dashboardStore.layerId}/Endpoint/${node.id}/${settings.value.endpointDashboard}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank"); } function handleGoInstance() { const node = topologyStore.node; - const path = `/dashboard/${dashboardStore.layerId}/ServiceInstance/${node.id}/${settings.value.nodeDashboard}`; + const path = `/dashboard/${dashboardStore.layerId}/ServiceInstance/${node.id}/${settings.value.instanceDashboard}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank"); diff --git a/src/views/dashboard/related/topology/Settings.vue b/src/views/dashboard/related/topology/Settings.vue index ace945de..4d49e5a0 100644 --- a/src/views/dashboard/related/topology/Settings.vue +++ b/src/views/dashboard/related/topology/Settings.vue @@ -44,6 +44,22 @@ limitations under the License. --> size="small" class="inputs" /> +
{{ t("dashboards") }}
+ +
{{ t("dashboards") }}
+
{{ t("metrics") }}
({ linkDashboard: "", nodeDashboard: "", + instanceDashboard: "", + endpointDashboard: "", linkMetrics: [], nodeMetrics: [], nodeMetricList: [], @@ -104,6 +124,8 @@ function updateSettings() { emit("update", { linkDashboard: states.linkDashboard, nodeDashboard: states.nodeDashboard, + endpointDashboard: states.endpointDashboard, + instanceDashboard: states.instanceDashboard, linkMetrics: states.linkMetrics, nodeMetrics: states.nodeMetrics, });