diff --git a/src/store/modules/topology.ts b/src/store/modules/topology.ts
index acdc7503..32da7b3f 100644
--- a/src/store/modules/topology.ts
+++ b/src/store/modules/topology.ts
@@ -403,6 +403,10 @@ export const topologyStore = defineStore({
return res.data;
},
async getLinkClientMetrics(linkClientMetrics: string[]) {
+ if (!linkClientMetrics.length) {
+ this.setLinkClientMetrics({});
+ return;
+ }
const idsC = this.calls
.filter((i: Call) => i.detectPoints.includes("CLIENT"))
.map((b: Call) => b.id);
@@ -414,6 +418,10 @@ export const topologyStore = defineStore({
}
},
async getLinkServerMetrics(linkServerMetrics: string[]) {
+ if (!linkServerMetrics.length) {
+ this.setLinkServerMetrics({});
+ return;
+ }
const idsS = this.calls
.filter((i: Call) => i.detectPoints.includes("SERVER"))
.map((b: Call) => b.id);
@@ -425,6 +433,10 @@ export const topologyStore = defineStore({
}
},
async queryNodeMetrics(nodeMetrics: string[]) {
+ if (!nodeMetrics.length) {
+ this.setNodeMetricValue({});
+ return;
+ }
const ids = this.nodes.map((d: Node) => d.id);
const param = await useQueryTopologyMetrics(nodeMetrics, ids);
const res = await this.getNodeMetricValue(param);
diff --git a/src/views/dashboard/List.vue b/src/views/dashboard/List.vue
index f767b2b9..9211c0cd 100644
--- a/src/views/dashboard/List.vue
+++ b/src/views/dashboard/List.vue
@@ -46,7 +46,9 @@ limitations under the License. -->
- {{ scope.row.name }}
+ {{
+ scope.row.name
+ }}
diff --git a/src/views/dashboard/related/topology/components/Graph.vue b/src/views/dashboard/related/topology/components/Graph.vue
index 2a3d70b7..8389f8ba 100644
--- a/src/views/dashboard/related/topology/components/Graph.vue
+++ b/src/views/dashboard/related/topology/components/Graph.vue
@@ -132,9 +132,9 @@ onMounted(async () => {
if (resp && resp.errors) {
ElMessage.error(resp.errors);
}
- topologyStore.getLinkClientMetrics(settings.value.linkClientMetrics);
- topologyStore.getLinkServerMetrics(settings.value.linkServerMetrics);
- topologyStore.queryNodeMetrics(settings.value.nodeMetrics);
+ topologyStore.getLinkClientMetrics(settings.value.linkClientMetrics || []);
+ topologyStore.getLinkServerMetrics(settings.value.linkServerMetrics || []);
+ topologyStore.queryNodeMetrics(settings.value.nodeMetrics || []);
const dom = document.querySelector(".topology")?.getBoundingClientRect() || {
height: 40,
width: 0,
@@ -243,6 +243,7 @@ function handleLinkClick(event: any, d: Call) {
if (!settings.value.linkDashboard) {
return;
}
+ const origin = dashboardStore.entity;
const e =
dashboardStore.entity === EntityType[1].value
? EntityType[0].value
@@ -258,6 +259,7 @@ function handleLinkClick(event: any, d: Call) {
}/${p.name.split(" ").join("-")}`;
const routeUrl = router.resolve({ path });
window.open(routeUrl.href, "_blank");
+ dashboardStore.setEntity(origin);
}
function update() {
// node element
@@ -387,6 +389,7 @@ async function handleInspect() {
update();
}
function handleGoEndpoint(name: string) {
+ const origin = dashboardStore.entity;
const p = getDashboard({
name,
layer: dashboardStore.layerId,
@@ -399,8 +402,10 @@ function handleGoEndpoint(name: string) {
const routeUrl = router.resolve({ path });
window.open(routeUrl.href, "_blank");
+ dashboardStore.setEntity(origin);
}
function handleGoInstance(name: string) {
+ const origin = dashboardStore.entity;
const p = getDashboard({
name,
layer: dashboardStore.layerId,
@@ -413,8 +418,10 @@ function handleGoInstance(name: string) {
const routeUrl = router.resolve({ path });
window.open(routeUrl.href, "_blank");
+ dashboardStore.setEntity(origin);
}
function handleGoDashboard(name: string) {
+ const origin = dashboardStore.entity;
const p = getDashboard({
name,
layer: dashboardStore.layerId,
@@ -427,6 +434,7 @@ function handleGoDashboard(name: string) {
const routeUrl = router.resolve({ path });
window.open(routeUrl.href, "_blank");
+ dashboardStore.setEntity(origin);
}
function handleGoAlarm() {
const path = `/alarm`;
diff --git a/src/views/dashboard/related/topology/components/PodTopology.vue b/src/views/dashboard/related/topology/components/PodTopology.vue
index b3eb4839..cdc0b029 100644
--- a/src/views/dashboard/related/topology/components/PodTopology.vue
+++ b/src/views/dashboard/related/topology/components/PodTopology.vue
@@ -135,9 +135,9 @@ async function loadTopology(id: string) {
};
height.value = dom.height - 70;
width.value = dom.width - 5;
- topologyStore.getLinkClientMetrics(settings.value.linkClientMetrics);
- topologyStore.getLinkServerMetrics(settings.value.linkServerMetrics);
- topologyStore.queryNodeMetrics(settings.value.nodeMetrics);
+ topologyStore.getLinkClientMetrics(settings.value.linkClientMetrics || []);
+ topologyStore.getLinkServerMetrics(settings.value.linkServerMetrics || []);
+ topologyStore.queryNodeMetrics(settings.value.nodeMetrics || []);
}
function inspect() {