diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts index 2a627e0e..c1bc22f9 100644 --- a/src/store/modules/dashboard.ts +++ b/src/store/modules/dashboard.ts @@ -25,7 +25,7 @@ import { NewControl, TextConfig, TimeRangeConfig, ControlsTypes } from "../data" import type { AxiosResponse } from "axios"; import { ElMessage } from "element-plus"; import { useI18n } from "vue-i18n"; -import { EntityType } from "@/views/dashboard/data"; +import { EntityType, MetricModes } from "@/views/dashboard/data"; interface DashboardState { showConfig: boolean; layout: LayoutConfig[]; @@ -92,6 +92,9 @@ export const dashboardStore = defineStore({ metricTypes: [""], metrics: [""], }; + if (type === "Widget") { + newItem.metricMode = MetricModes.Expression; + } if (type === "Tab") { newItem.h = 36; newItem.activedTabIndex = 0; @@ -167,6 +170,9 @@ export const dashboardStore = defineStore({ metricTypes: [""], metrics: [""], }; + if (type === "Widget") { + newItem.metricMode = MetricModes.Expression; + } if (type === "Topology") { newItem.h = 32; newItem.graph = { diff --git a/src/views/dashboard/configuration/widget/metric/Index.vue b/src/views/dashboard/configuration/widget/metric/Index.vue index 860ffa08..90a2c0a9 100644 --- a/src/views/dashboard/configuration/widget/metric/Index.vue +++ b/src/views/dashboard/configuration/widget/metric/Index.vue @@ -280,12 +280,22 @@ limitations under the License. --> ...dashboardStore.selectedGrid, metrics: [""], metricTypes: [""], + expressions: [""], + typesOfMQE: [""], }); states.metrics = [""]; states.metricTypes = [""]; defaultLen.value = 5; } - setMetricType(chart); + + if (isExpression.value) { + dashboardStore.selectWidget({ + ...dashboardStore.selectedGrid, + graph: chart, + }); + } else { + setMetricType(chart); + } setDashboards(chart.type); states.dashboardName = ""; defaultLen.value = 10;