From d9d928cc4fec0b3a09b9f53c7bf0326e57a077ed Mon Sep 17 00:00:00 2001 From: Qiuxia Fan Date: Tue, 17 May 2022 19:50:11 +0800 Subject: [PATCH] add demand log widget --- src/assets/icons/demand.svg | 15 ++++ src/store/modules/dashboard.ts | 11 ++- src/views/dashboard/controls/DemandLog.vue | 95 ++++++++++++++++++++++ src/views/dashboard/controls/Tab.vue | 3 +- src/views/dashboard/controls/index.ts | 13 ++- src/views/dashboard/data.ts | 1 + src/views/dashboard/panel/Tool.vue | 6 ++ 7 files changed, 140 insertions(+), 4 deletions(-) create mode 100644 src/assets/icons/demand.svg create mode 100644 src/views/dashboard/controls/DemandLog.vue diff --git a/src/assets/icons/demand.svg b/src/assets/icons/demand.svg new file mode 100644 index 00000000..e9fc97fa --- /dev/null +++ b/src/assets/icons/demand.svg @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts index 2ed20f17..596ac8b6 100644 --- a/src/store/modules/dashboard.ts +++ b/src/store/modules/dashboard.ts @@ -114,7 +114,8 @@ export const dashboardStore = defineStore({ type === "Trace" || type === "Profile" || type === "Log" || - type === "Ebpf" + type === "Ebpf" || + type === "DemandLog" ) { newItem.h = 36; } @@ -170,7 +171,13 @@ export const dashboardStore = defineStore({ showDepth: true, }; } - if (type === "Trace" || type === "Profile" || type === "Log") { + if ( + type === "Trace" || + type === "Profile" || + type === "Log" || + type === "DemandLog" || + type === "Ebpf" + ) { newItem.h = 32; } if (type === "Text") { diff --git a/src/views/dashboard/controls/DemandLog.vue b/src/views/dashboard/controls/DemandLog.vue new file mode 100644 index 00000000..d1323ae9 --- /dev/null +++ b/src/views/dashboard/controls/DemandLog.vue @@ -0,0 +1,95 @@ + + + + diff --git a/src/views/dashboard/controls/Tab.vue b/src/views/dashboard/controls/Tab.vue index 524e9f7e..c6909ec4 100644 --- a/src/views/dashboard/controls/Tab.vue +++ b/src/views/dashboard/controls/Tab.vue @@ -110,6 +110,7 @@ import Log from "./Log.vue"; import Text from "./Text.vue"; import Ebpf from "./Ebpf.vue"; import { dragIgnoreFrom } from "../data"; +import DemandLog from "./DemandLog.vue"; const props = { data: { @@ -120,7 +121,7 @@ const props = { }; export default defineComponent({ name: "Tab", - components: { Topology, Widget, Trace, Profile, Log, Text, Ebpf }, + components: { Topology, Widget, Trace, Profile, Log, Text, Ebpf, DemandLog }, props, setup(props) { const { t } = useI18n(); diff --git a/src/views/dashboard/controls/index.ts b/src/views/dashboard/controls/index.ts index 01fc5dc5..858bc5c5 100644 --- a/src/views/dashboard/controls/index.ts +++ b/src/views/dashboard/controls/index.ts @@ -22,5 +22,16 @@ import Profile from "./Profile.vue"; import Log from "./Log.vue"; import Text from "./Text.vue"; import Ebpf from "./Ebpf.vue"; +import DemandLog from "./DemandLog.vue"; -export default { Tab, Widget, Trace, Topology, Profile, Log, Text, Ebpf }; +export default { + Tab, + Widget, + Trace, + Topology, + Profile, + Log, + Text, + Ebpf, + DemandLog, +}; diff --git a/src/views/dashboard/data.ts b/src/views/dashboard/data.ts index c6e4bc32..50a22538 100644 --- a/src/views/dashboard/data.ts +++ b/src/views/dashboard/data.ts @@ -193,6 +193,7 @@ export const InstanceTools = [ { name: "library_books", content: "Add Text", id: "addText" }, { name: "merge", content: "Add Trace", id: "addTrace" }, { name: "assignment", content: "Add Log", id: "addLog" }, + { name: "demand", content: "Add On Demand Log", id: "addDemandLog" }, ]; export const EndpointTools = [ { name: "playlist_add", content: "Add Widget", id: "addWidget" }, diff --git a/src/views/dashboard/panel/Tool.vue b/src/views/dashboard/panel/Tool.vue index bc96d8c3..8d8ed374 100644 --- a/src/views/dashboard/panel/Tool.vue +++ b/src/views/dashboard/panel/Tool.vue @@ -455,6 +455,9 @@ function setTabControls(id: string) { case "addText": dashboardStore.addTabControls("Text"); break; + case "addDemandLog": + dashboardStore.addTabControls("DemandLog"); + break; default: ElMessage.info("Don't support this control"); break; @@ -487,6 +490,9 @@ function setControls(id: string) { case "addText": dashboardStore.addControl("Text"); break; + case "addDemandLog": + dashboardStore.addControl("DemandLog"); + break; default: dashboardStore.addControl("Widget"); }