mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-07-18 20:44:08 +00:00
feat: add topology
This commit is contained in:
parent
7472d70720
commit
87468b5ce9
18
src/assets/icons/device_hub.svg
Normal file
18
src/assets/icons/device_hub.svg
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<!-- Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License. -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<title>device_hub</title>
|
||||||
|
<path d="M17.016 15.984h3.984v5.016h-5.016v-3.047l-3.984-4.219-3.984 4.219v3.047h-5.016v-5.016h3.984l4.031-3.984v-3.188q-0.891-0.328-1.453-1.078t-0.563-1.734q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109q0 0.984-0.563 1.734t-1.453 1.078v3.188z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -34,6 +34,7 @@ interface DashboardState {
|
|||||||
activedGridItem: string;
|
activedGridItem: string;
|
||||||
durationTime: Duration;
|
durationTime: Duration;
|
||||||
selectorStore: any;
|
selectorStore: any;
|
||||||
|
showTopology: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const dashboardStore = defineStore({
|
export const dashboardStore = defineStore({
|
||||||
@ -47,6 +48,7 @@ export const dashboardStore = defineStore({
|
|||||||
activedGridItem: "",
|
activedGridItem: "",
|
||||||
durationTime: useAppStoreWithOut().durationTime,
|
durationTime: useAppStoreWithOut().durationTime,
|
||||||
selectorStore: useSelectorStore(),
|
selectorStore: useSelectorStore(),
|
||||||
|
showTopology: false,
|
||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
setLayout(data: LayoutConfig[]) {
|
setLayout(data: LayoutConfig[]) {
|
||||||
@ -160,6 +162,9 @@ export const dashboardStore = defineStore({
|
|||||||
this.layout = [ConfigData];
|
this.layout = [ConfigData];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setTopology(show: boolean) {
|
||||||
|
this.showTopology = show;
|
||||||
|
},
|
||||||
setConfigs(param: { [key: string]: unknown }) {
|
setConfigs(param: { [key: string]: unknown }) {
|
||||||
const actived = this.activedGridItem.split("-");
|
const actived = this.activedGridItem.split("-");
|
||||||
const index = this.layout.findIndex(
|
const index = this.layout.findIndex(
|
||||||
|
@ -25,6 +25,14 @@ limitations under the License. -->
|
|||||||
>
|
>
|
||||||
<config-edit />
|
<config-edit />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog
|
||||||
|
v-model="dashboardStore.showTopology"
|
||||||
|
:title="t('topology')"
|
||||||
|
:destroy-on-close="true"
|
||||||
|
@closed="dashboardStore.setTopology(false)"
|
||||||
|
>
|
||||||
|
topology
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
@ -168,5 +168,6 @@ export const ToolIcons = [
|
|||||||
{ name: "save_alt", content: "Export", id: "export" },
|
{ name: "save_alt", content: "Export", id: "export" },
|
||||||
{ name: "folder_open", content: "Import", id: "import" },
|
{ name: "folder_open", content: "Import", id: "import" },
|
||||||
{ name: "settings", content: "Settings", id: "settings" },
|
{ name: "settings", content: "Settings", id: "settings" },
|
||||||
{ name: "save", content: "Apply", id: "applay" },
|
{ name: "device_hub", content: "Topology", id: "topology" },
|
||||||
|
{ name: "save", content: "Apply", id: "apply" },
|
||||||
];
|
];
|
||||||
|
@ -199,6 +199,9 @@ function clickIcons(t: { id: string; content: string; name: string }) {
|
|||||||
case "addImage":
|
case "addImage":
|
||||||
dashboardStore.addControl("Image");
|
dashboardStore.addControl("Image");
|
||||||
break;
|
break;
|
||||||
|
case "topology":
|
||||||
|
dashboardStore.setTopology(true);
|
||||||
|
break;
|
||||||
case "settings":
|
case "settings":
|
||||||
dashboardStore.setConfigPanel(true);
|
dashboardStore.setConfigPanel(true);
|
||||||
break;
|
break;
|
||||||
|
17
src/views/dashboard/related/Topology.vue
Normal file
17
src/views/dashboard/related/Topology.vue
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!-- Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License. -->
|
||||||
|
<template>
|
||||||
|
<div class="topology">topology</div>
|
||||||
|
</template>
|
Loading…
Reference in New Issue
Block a user