diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts
index 29b14408..ad15f257 100644
--- a/src/store/modules/dashboard.ts
+++ b/src/store/modules/dashboard.ts
@@ -190,7 +190,7 @@ export const dashboardStore = defineStore({
(d: LayoutConfig) => actived[0] === d.i
);
- if (this.selectedGrid.i === item.i) {
+ if (this.selectedGrid && this.selectedGrid.i === item.i) {
this.selectedGrid = null;
}
if (actived.length === 3) {
diff --git a/src/views/dashboard/controls/Tab.vue b/src/views/dashboard/controls/Tab.vue
index 1d570e72..f74314da 100644
--- a/src/views/dashboard/controls/Tab.vue
+++ b/src/views/dashboard/controls/Tab.vue
@@ -50,7 +50,7 @@ limitations under the License. -->
:is="item.type"
:data="item"
:activeIndex="`${data.i}-${activeTabIndex}-${item.i}`"
+ :needQuery="needQuery"
/>
@@ -106,6 +107,7 @@ export default defineComponent({
const activeTabIndex = ref(0);
const activeTabWidget = ref("");
const editTabIndex = ref(NaN); // edit tab item name
+ const needQuery = ref(false);
const l = dashboardStore.layout.findIndex(
(d: LayoutConfig) => d.i === props.data.i
);
@@ -125,6 +127,7 @@ export default defineComponent({
dashboardStore.setCurrentTabItems(
dashboardStore.layout[l].children[activeTabIndex.value].children
);
+ needQuery.value = true;
}
function removeTab(e: Event) {
e.stopPropagation();
@@ -191,6 +194,7 @@ export default defineComponent({
dashboardStore,
activeTabIndex,
editTabIndex,
+ needQuery,
};
},
});
diff --git a/src/views/dashboard/controls/Widget.vue b/src/views/dashboard/controls/Widget.vue
index 1e92a7fe..56de4729 100644
--- a/src/views/dashboard/controls/Widget.vue
+++ b/src/views/dashboard/controls/Widget.vue
@@ -77,6 +77,7 @@ const props = {
default: () => ({ widget: {} }),
},
activeIndex: { type: String, default: "" },
+ needQuery: { type: Boolean, default: false },
};
export default defineComponent({
name: "Widget",
@@ -93,7 +94,7 @@ export default defineComponent({
const dashboardStore = useDashboardStore();
const selectorStore = useSelectorStore();
- if (dashboardStore.entity === EntityType[1].value) {
+ if (dashboardStore.entity === EntityType[1].value || props.needQuery) {
queryMetrics();
}
diff --git a/src/views/dashboard/related/profile/Content.vue b/src/views/dashboard/related/profile/Content.vue
index 47e2210c..18bd2658 100644
--- a/src/views/dashboard/related/profile/Content.vue
+++ b/src/views/dashboard/related/profile/Content.vue
@@ -65,8 +65,8 @@ function loadTrees(l: boolean) {
}
.thread-stack {
- padding: 5px 12px;
- height: calc(50% - 50px);
+ padding: 5px;
+ height: calc(50% - 20px);
overflow: auto;
width: 100%;
}
@@ -75,6 +75,6 @@ function loadTrees(l: boolean) {
text-align: center;
width: 100%;
overflow: hidden;
- height: calc(50% - 50px);
+ height: calc(50% - 20px);
}