Fix initialization dashboards (#424)

This commit is contained in:
Fine0830 2024-10-24 15:49:02 +08:00 committed by GitHub
parent 4c60f69aef
commit 224e761d70
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -78,15 +78,19 @@ limitations under the License. -->
} }
async function queryMetrics() { async function queryMetrics() {
const widgets = []; const widgets = [];
for (const item of dashboardStore.layout) { for (const item of dashboardStore.layout) {
const isList = ListChartTypes.includes(item.type || ""); if (item.type === WidgetType.Widget) {
if (item.type === WidgetType.Widget && !isList) { if (!ListChartTypes.includes(item.graph?.type || "")) {
widgets.push(item); widgets.push(item);
}
} }
if (item.type === WidgetType.Tab) { if (item.type === WidgetType.Tab) {
const index = isNaN(item.activedTabIndex) ? 0 : item.activedTabIndex; const index = isNaN(item.activedTabIndex) ? 0 : item.activedTabIndex;
widgets.push(...item.children[index].children); widgets.push(
...item.children[index].children.filter(
(d: LayoutConfig) => !ListChartTypes.includes(d.graph?.type || ""),
),
);
} }
} }
const configList = widgets.map((d: LayoutConfig) => ({ const configList = widgets.map((d: LayoutConfig) => ({
@ -103,7 +107,9 @@ limitations under the License. -->
} }
async function queryTabsMetrics() { async function queryTabsMetrics() {
const configList = dashboardStore.currentTabItems const configList = dashboardStore.currentTabItems
.filter((item: LayoutConfig) => item.type === WidgetType.Widget && !ListChartTypes.includes(item.type || "")) .filter(
(item: LayoutConfig) => item.type === WidgetType.Widget && !ListChartTypes.includes(item.graph?.type || ""),
)
.map((d: LayoutConfig) => ({ .map((d: LayoutConfig) => ({
metrics: d.expressions || [], metrics: d.expressions || [],
metricConfig: d.metricConfig || [], metricConfig: d.metricConfig || [],
@ -151,7 +157,7 @@ limitations under the License. -->
}, },
); );
watch( watch(
() => appStore.durationTime, () => [appStore.durationTime, dashboardStore.layout],
() => { () => {
if (dashboardStore.entity === EntityType[1].value) { if (dashboardStore.entity === EntityType[1].value) {
queryMetrics(); queryMetrics();