diff --git a/src/components/Selector.vue b/src/components/Selector.vue index 5fbfdb60..c40867e9 100644 --- a/src/components/Selector.vue +++ b/src/components/Selector.vue @@ -49,7 +49,7 @@ const props = defineProps({ default: () => [], }, value: { - type: [Array, String] as PropType, + type: [Array, String, Number] as PropType, default: () => [], }, size: { type: null, default: "default" }, diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts index fba942a1..3ed9a3fd 100644 --- a/src/store/modules/dashboard.ts +++ b/src/store/modules/dashboard.ts @@ -27,6 +27,7 @@ import { Duration } from "@/types/app"; import { AxiosResponse } from "axios"; import { ElMessage } from "element-plus"; import { useI18n } from "vue-i18n"; +import { EntityType } from "@/views/dashboard/data"; interface DashboardState { showConfig: boolean; layout: LayoutConfig[]; @@ -94,12 +95,13 @@ export const dashboardStore = defineStore({ if (type === "Topology") { newItem.h = 36; newItem.graph = { - fontColor: "white", - backgroundColor: "green", - iconTheme: true, - content: "Topology", - fontSize: 18, showDepth: true, + depth: + this.entity === EntityType[1].value + ? 2 + : this.entity === EntityType[0].value + ? 1 + : 3, }; } if (type === "Trace" || type === "Profile" || type === "Log") { diff --git a/src/types/dashboard.ts b/src/types/dashboard.ts index eb70d285..bae7588e 100644 --- a/src/types/dashboard.ts +++ b/src/types/dashboard.ts @@ -129,6 +129,6 @@ export interface TopologyConfig { iconTheme?: boolean; content?: string; fontSize?: number; - depth?: string; + depth?: number; showDepth?: boolean; } diff --git a/src/views/dashboard/Edit.vue b/src/views/dashboard/Edit.vue index 002e8119..99a7faed 100644 --- a/src/views/dashboard/Edit.vue +++ b/src/views/dashboard/Edit.vue @@ -27,7 +27,8 @@ limitations under the License. --> :destroy-on-close="true" @closed="dashboardStore.setConfigPanel(false)" > - + + @@ -37,7 +38,8 @@ import { useI18n } from "vue-i18n"; import { useRoute } from "vue-router"; import GridLayout from "./panel/Layout.vue"; import Tool from "./panel/Tool.vue"; -import Widget from "./configuration/Widget.vue"; +import TopologyConfig from "./configuration/Topology.vue"; +import WidgetConfig from "./configuration/Widget.vue"; import { useDashboardStore } from "@/store/modules/dashboard"; import { useAppStoreWithOut } from "@/store/modules/app"; diff --git a/src/views/dashboard/configuration/Topology.vue b/src/views/dashboard/configuration/Topology.vue new file mode 100644 index 00000000..e9b28006 --- /dev/null +++ b/src/views/dashboard/configuration/Topology.vue @@ -0,0 +1,94 @@ + + + + diff --git a/src/views/dashboard/configuration/Widget.vue b/src/views/dashboard/configuration/Widget.vue index 2f508f23..dd21b366 100644 --- a/src/views/dashboard/configuration/Widget.vue +++ b/src/views/dashboard/configuration/Widget.vue @@ -81,10 +81,10 @@ import { useDashboardStore } from "@/store/modules/dashboard"; import { useAppStoreWithOut } from "@/store/modules/app"; import { Option } from "@/types/app"; import graphs from "../graphs"; -import configs from "./graph-styles"; -import WidgetOptions from "./WidgetOptions.vue"; -import StandardOptions from "./StandardOptions.vue"; -import MetricOptions from "./MetricOptions.vue"; +import configs from "./widget/graph-styles"; +import WidgetOptions from "./widget/WidgetOptions.vue"; +import StandardOptions from "./widget/StandardOptions.vue"; +import MetricOptions from "./widget/MetricOptions.vue"; export default defineComponent({ name: "ConfigEdit", diff --git a/src/views/dashboard/configuration/MetricOptions.vue b/src/views/dashboard/configuration/widget/MetricOptions.vue similarity index 99% rename from src/views/dashboard/configuration/MetricOptions.vue rename to src/views/dashboard/configuration/widget/MetricOptions.vue index edc8a776..8682dae3 100644 --- a/src/views/dashboard/configuration/MetricOptions.vue +++ b/src/views/dashboard/configuration/widget/MetricOptions.vue @@ -96,7 +96,7 @@ import { ChartTypes, PodsChartTypes, ListEntity, -} from "../data"; +} from "../../data"; import { ElMessage } from "element-plus"; import Icon from "@/components/Icon.vue"; import { useQueryProcessor, useSourceProcessor } from "@/hooks/useProcessor"; diff --git a/src/views/dashboard/configuration/StandardOptions.vue b/src/views/dashboard/configuration/widget/StandardOptions.vue similarity index 99% rename from src/views/dashboard/configuration/StandardOptions.vue rename to src/views/dashboard/configuration/widget/StandardOptions.vue index 8b12c7e6..255ad1aa 100644 --- a/src/views/dashboard/configuration/StandardOptions.vue +++ b/src/views/dashboard/configuration/widget/StandardOptions.vue @@ -117,7 +117,7 @@ limitations under the License. --> diff --git a/src/views/dashboard/related/topology/components/Graph.vue b/src/views/dashboard/related/topology/components/Graph.vue index 85e16c92..bc93e020 100644 --- a/src/views/dashboard/related/topology/components/Graph.vue +++ b/src/views/dashboard/related/topology/components/Graph.vue @@ -23,7 +23,7 @@ limitations under the License. -->
- + {{ t("currentDepth") }}