diff --git a/src/views/dashboard/controls/Widget.vue b/src/views/dashboard/controls/Widget.vue
index d6811aa8..603d3133 100644
--- a/src/views/dashboard/controls/Widget.vue
+++ b/src/views/dashboard/controls/Widget.vue
@@ -66,6 +66,7 @@ limitations under the License. -->
i: data.i,
}"
:standard="data.standard"
+ :needQuery="needQuery"
/>
{{ t("noData") }}
@@ -112,6 +113,7 @@ export default defineComponent({
}
async function queryMetrics() {
+ console.log(props.data);
const params = await useQueryProcessor(props.data);
if (!params) {
@@ -153,6 +155,7 @@ export default defineComponent({
if (props.data.i !== dashboardStore.selectedGrid.i) {
return;
}
+ const isList = ListChartTypes.includes(props.data.graph.type || "");
if (
ListChartTypes.includes(dashboardStore.selectedGrid.graph.type) ||
isList
@@ -165,6 +168,7 @@ export default defineComponent({
watch(
() => [selectorStore.currentService, selectorStore.currentDestService],
() => {
+ const isList = ListChartTypes.includes(props.data.graph.type || "");
if (isList) {
return;
}
diff --git a/src/views/dashboard/graphs/EndpointList.vue b/src/views/dashboard/graphs/EndpointList.vue
index 4d61a90d..6c8b5912 100644
--- a/src/views/dashboard/graphs/EndpointList.vue
+++ b/src/views/dashboard/graphs/EndpointList.vue
@@ -110,6 +110,7 @@ const props = defineProps({
default: () => ({ dashboardName: "", fontSize: 12, i: "" }),
},
intervalTime: { type: Array as PropType, default: () => [] },
+ needQuery: { type: Boolean, default: false },
});
const selectorStore = useSelectorStore();
const dashboardStore = useDashboardStore();
@@ -119,8 +120,9 @@ const searchEndpoints = ref([]);
const pageSize = 5;
const searchText = ref("");
-queryEndpoints();
-
+if (props.needQuery) {
+ queryEndpoints();
+}
async function queryEndpoints() {
chartLoading.value = true;
const resp = await selectorStore.getEndpoints();
@@ -193,7 +195,7 @@ watch(
}
);
watch(
- () => [selectorStore.currentService],
+ () => selectorStore.currentService,
() => {
queryEndpoints();
}
diff --git a/src/views/dashboard/graphs/InstanceList.vue b/src/views/dashboard/graphs/InstanceList.vue
index a0fd8b89..9f12693a 100644
--- a/src/views/dashboard/graphs/InstanceList.vue
+++ b/src/views/dashboard/graphs/InstanceList.vue
@@ -113,6 +113,7 @@ const props = defineProps({
}),
},
intervalTime: { type: Array as PropType, default: () => [] },
+ needQuery: { type: Boolean, default: false },
});
const selectorStore = useSelectorStore();
const dashboardStore = useDashboardStore();
@@ -122,15 +123,18 @@ const searchInstances = ref([]); // all instances
const pageSize = 5;
const searchText = ref("");
-queryInstance();
-
+if (props.needQuery) {
+ queryInstance();
+}
async function queryInstance() {
chartLoading.value = true;
const resp = await selectorStore.getServiceInstances();
chartLoading.value = false;
- if (resp.errors) {
+ if (resp && resp.errors) {
ElMessage.error(resp.errors);
+ searchInstances.value = [];
+ instances.value = [];
return;
}
searchInstances.value = selectorStore.pods;
@@ -193,6 +197,12 @@ watch(
}
}
);
+watch(
+ () => selectorStore.currentService,
+ () => {
+ queryInstance();
+ }
+);