diff --git a/src/components/FullVue.vue b/src/components/FullVue.vue new file mode 100644 index 00000000..1dab8ddb --- /dev/null +++ b/src/components/FullVue.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/src/constants/data.ts b/src/constants/data.ts index 4aa4f82a..16e1aa72 100644 --- a/src/constants/data.ts +++ b/src/constants/data.ts @@ -34,6 +34,7 @@ export const RoutesMap: { [key: string]: string } = { Linux: "OS_LINUX", SkyWalkingServer: "SO11Y_OAP", Satellite: "SO11Y_SATELLITE", + FullScroll: "SO11Y_SATELLITE", Functions: "FAAS", Browser: "BROWSER", KubernetesCluster: "K8S", diff --git a/src/router/dashboard.ts b/src/router/dashboard.ts index 93fc53ac..f76fa26f 100644 --- a/src/router/dashboard.ts +++ b/src/router/dashboard.ts @@ -66,6 +66,19 @@ export const routesDashboard: Array = [ notShow: true, }, }, + { + path: "/fullview/:layerId/:entity/:name", + component: () => + import( + /* webpackChunkName: "dashboards" */ "@/views/dashboard/Edit.vue" + ), + name: "FullViewCreate", + meta: { + title: "dashboardEdit", + exact: false, + notShow: true, + }, + }, { path: "/dashboard/:layerId/:entity/:serviceId/:name", component: () => @@ -79,6 +92,19 @@ export const routesDashboard: Array = [ notShow: true, }, }, + { + path: "/fullview/:layerId/:entity/:serviceId/:name", + component: () => + import( + /* webpackChunkName: "dashboards" */ "@/views/dashboard/Edit.vue" + ), + name: "FullViewView", + meta: { + title: "dashboardEdit", + exact: false, + notShow: true, + }, + }, { path: "/dashboard/related/:layerId/:entity/:serviceId/:destServiceId/:name", component: () => @@ -92,6 +118,19 @@ export const routesDashboard: Array = [ notShow: true, }, }, + { + path: "/fullview/related/:layerId/:entity/:serviceId/:destServiceId/:name", + component: () => + import( + /* webpackChunkName: "FullViewdashboards" */ "@/views/dashboard/Edit.vue" + ), + name: "FullViewViewServiceRelation", + meta: { + title: "dashboardEdit", + exact: false, + notShow: true, + }, + }, { path: "/dashboard/:layerId/:entity/:serviceId/:podId/:name", component: () => @@ -105,6 +144,19 @@ export const routesDashboard: Array = [ notShow: true, }, }, + { + path: "/fullview/:layerId/:entity/:serviceId/:podId/:name", + component: () => + import( + /* webpackChunkName: "FullViewdashboards" */ "@/views/dashboard/Edit.vue" + ), + name: "FullViewViewPod", + meta: { + title: "dashboardEdit", + exact: false, + notShow: true, + }, + }, { path: "/dashboard/:layerId/:entity/:serviceId/:podId/:destServiceId/:destPodId/:name", component: () => @@ -118,6 +170,19 @@ export const routesDashboard: Array = [ notShow: true, }, }, + { + path: "/fullview/:layerId/:entity/:serviceId/:podId/:destServiceId/:destPodId/:name", + component: () => + import( + /* webpackChunkName: "FullViewdashboards" */ "@/views/dashboard/Edit.vue" + ), + name: "FullViewViewPodRelation", + meta: { + title: "dashboardEdit", + exact: true, + notShow: true, + }, + }, ], }, ]; diff --git a/src/router/selfObservability.ts b/src/router/selfObservability.ts index 4174e1bb..334f58d4 100644 --- a/src/router/selfObservability.ts +++ b/src/router/selfObservability.ts @@ -49,6 +49,16 @@ export const routesSelf: Array = [ component: () => import(/* webpackChunkName: "layer" */ "@/views/Layer.vue"), }, + { + path: "/self/fullScroll", + name: "FullScroll", + meta: { + title: "fullscreen-sample", + headPath: "/mesh/controlPanel", + }, + component: () => + import(/* webpackChunkName: "layer" */ "@/views/FullScroll.vue"), + }, ], }, ]; diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts index 93df9a64..bd36156e 100644 --- a/src/store/modules/dashboard.ts +++ b/src/store/modules/dashboard.ts @@ -38,6 +38,7 @@ interface DashboardState { durationTime: Duration; selectorStore: any; showTopology: boolean; + fullView: boolean; currentTabItems: LayoutConfig[]; dashboards: DashboardItem[]; currentDashboard: Nullable; @@ -56,6 +57,7 @@ export const dashboardStore = defineStore({ durationTime: useAppStoreWithOut().durationTime, selectorStore: useSelectorStore(), showTopology: false, + fullView: false, currentTabItems: [], dashboards: [], currentDashboard: null, @@ -68,6 +70,9 @@ export const dashboardStore = defineStore({ setMode(mode: boolean) { this.editMode = mode; }, + setViewMode(mode: boolean) { + this.fullView = mode; + }, resetDashboards(list: DashboardItem[]) { this.dashboards = list; sessionStorage.setItem("dashboards", JSON.stringify(list)); diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 98d9902c..da5d949d 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -1,6 +1,7 @@ // generated by unplugin-vue-components // We suggest you to commit this file into source control // Read more: https://github.com/vuejs/vue-next/pull/3399 +import '@vue/runtime-core' declare module '@vue/runtime-core' { export interface GlobalComponents { @@ -32,6 +33,7 @@ declare module '@vue/runtime-core' { ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] + FullVue: typeof import('./../components/FullVue.vue')['default'] Graph: typeof import('./../components/Graph.vue')['default'] Icon: typeof import('./../components/Icon.vue')['default'] Loading: typeof import('element-plus/es')['ElLoadingDirective'] @@ -44,4 +46,4 @@ declare module '@vue/runtime-core' { } } -export { } +export {} diff --git a/src/views/FullScroll.vue b/src/views/FullScroll.vue new file mode 100644 index 00000000..e55621aa --- /dev/null +++ b/src/views/FullScroll.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/views/dashboard/Scroll.vue b/src/views/dashboard/Scroll.vue new file mode 100644 index 00000000..723f00fa --- /dev/null +++ b/src/views/dashboard/Scroll.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/views/dashboard/panel/Layout.vue b/src/views/dashboard/panel/Layout.vue index 39eb8a6d..340389df 100644 --- a/src/views/dashboard/panel/Layout.vue +++ b/src/views/dashboard/panel/Layout.vue @@ -21,7 +21,9 @@ limitations under the License. --> :is-resizable="dashboardStore.editMode" v-if="dashboardStore.layout.length" > +
{{ t("noWidget") }}