From a521e041a7ae629a872d9ceaa54818ecd53626ce Mon Sep 17 00:00:00 2001 From: Fine0830 Date: Tue, 11 Jul 2023 17:19:30 +0800 Subject: [PATCH] feat: Implement customize menus (#297) --- src/assets/icons/aws_cloud.svg | 17 +++ src/assets/icons/browser.svg | 17 +++ src/assets/icons/database.svg | 17 +++ src/assets/icons/general_service.svg | 16 +++ src/assets/icons/infrastructure.svg | 18 ++++ src/assets/icons/kubernetes.svg | 17 +++ src/assets/icons/marketplace.svg | 15 +++ src/assets/icons/self_observability.svg | 29 +++++ src/assets/icons/service_mesh.svg | 16 +++ src/graphql/fragments/app.ts | 21 ++++ src/graphql/query/app.ts | 4 +- src/layout/components/NavBar.vue | 2 +- src/layout/components/SideBar.vue | 17 +-- src/locales/lang/en.ts | 4 + src/locales/lang/es.ts | 4 + src/locales/lang/zh.ts | 4 + src/router/alarm.ts | 2 +- src/router/dashboard.ts | 6 +- src/router/data/aws.ts | 95 ----------------- src/router/data/browser.ts | 46 -------- src/router/data/database.ts | 111 ------------------- src/router/data/functions.ts | 46 -------- src/router/data/gateway.ts | 63 ----------- src/router/data/general.ts | 94 ---------------- src/router/data/index.ts | 41 ------- src/router/data/infrastructure.ts | 65 ------------ src/router/data/k8s.ts | 67 ------------ src/router/data/mq.ts | 47 -------- src/router/data/selfObservability.ts | 63 ----------- src/router/data/serviceMesh.ts | 83 --------------- src/router/index.ts | 9 +- src/router/layer.ts | 66 ++++++++++-- src/router/{setting.ts => marketplace.ts} | 26 +++-- src/store/modules/app.ts | 40 +++++++ src/types/app.d.ts | 18 ++++ src/types/components.d.ts | 2 + src/utils/cancelToken.ts | 2 +- src/views/marketplace/Menus.vue | 124 ++++++++++++++++++++++ src/views/{ => marketplace}/Settings.vue | 0 vite.config.ts | 2 +- 40 files changed, 477 insertions(+), 859 deletions(-) create mode 100644 src/assets/icons/aws_cloud.svg create mode 100644 src/assets/icons/browser.svg create mode 100644 src/assets/icons/database.svg create mode 100755 src/assets/icons/general_service.svg create mode 100644 src/assets/icons/infrastructure.svg create mode 100644 src/assets/icons/kubernetes.svg create mode 100644 src/assets/icons/marketplace.svg create mode 100644 src/assets/icons/self_observability.svg create mode 100755 src/assets/icons/service_mesh.svg delete mode 100644 src/router/data/aws.ts delete mode 100644 src/router/data/browser.ts delete mode 100644 src/router/data/database.ts delete mode 100644 src/router/data/functions.ts delete mode 100644 src/router/data/gateway.ts delete mode 100644 src/router/data/general.ts delete mode 100644 src/router/data/index.ts delete mode 100644 src/router/data/infrastructure.ts delete mode 100644 src/router/data/k8s.ts delete mode 100644 src/router/data/mq.ts delete mode 100644 src/router/data/selfObservability.ts delete mode 100644 src/router/data/serviceMesh.ts rename src/router/{setting.ts => marketplace.ts} (67%) create mode 100644 src/views/marketplace/Menus.vue rename src/views/{ => marketplace}/Settings.vue (100%) diff --git a/src/assets/icons/aws_cloud.svg b/src/assets/icons/aws_cloud.svg new file mode 100644 index 00000000..9ec18d56 --- /dev/null +++ b/src/assets/icons/aws_cloud.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/assets/icons/browser.svg b/src/assets/icons/browser.svg new file mode 100644 index 00000000..eab0146d --- /dev/null +++ b/src/assets/icons/browser.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/assets/icons/database.svg b/src/assets/icons/database.svg new file mode 100644 index 00000000..73d66841 --- /dev/null +++ b/src/assets/icons/database.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/assets/icons/general_service.svg b/src/assets/icons/general_service.svg new file mode 100755 index 00000000..f22dfca1 --- /dev/null +++ b/src/assets/icons/general_service.svg @@ -0,0 +1,16 @@ + + +icn/chart \ No newline at end of file diff --git a/src/assets/icons/infrastructure.svg b/src/assets/icons/infrastructure.svg new file mode 100644 index 00000000..2ab919b7 --- /dev/null +++ b/src/assets/icons/infrastructure.svg @@ -0,0 +1,18 @@ + + +scatter_plot + + diff --git a/src/assets/icons/kubernetes.svg b/src/assets/icons/kubernetes.svg new file mode 100644 index 00000000..1c4cad71 --- /dev/null +++ b/src/assets/icons/kubernetes.svg @@ -0,0 +1,17 @@ + + + + diff --git a/src/assets/icons/marketplace.svg b/src/assets/icons/marketplace.svg new file mode 100644 index 00000000..4433709c --- /dev/null +++ b/src/assets/icons/marketplace.svg @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/src/assets/icons/self_observability.svg b/src/assets/icons/self_observability.svg new file mode 100644 index 00000000..65f0531d --- /dev/null +++ b/src/assets/icons/self_observability.svg @@ -0,0 +1,29 @@ + + + + + Group + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/service_mesh.svg b/src/assets/icons/service_mesh.svg new file mode 100755 index 00000000..c48868a2 --- /dev/null +++ b/src/assets/icons/service_mesh.svg @@ -0,0 +1,16 @@ + + +icn/epic \ No newline at end of file diff --git a/src/graphql/fragments/app.ts b/src/graphql/fragments/app.ts index 120b270a..8f87699f 100644 --- a/src/graphql/fragments/app.ts +++ b/src/graphql/fragments/app.ts @@ -26,3 +26,24 @@ export const OAPTimeInfo = { export const OAPVersion = { query: `version { version }`, }; + +export const MenuItems = { + query: ` + getMenuItems { + title + icon + layer + activate + description + documentLink + subItems { + title + icon + layer + activate + description + documentLink + } + } + `, +}; diff --git a/src/graphql/query/app.ts b/src/graphql/query/app.ts index d538c417..d74aeac4 100644 --- a/src/graphql/query/app.ts +++ b/src/graphql/query/app.ts @@ -14,8 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { OAPTimeInfo, OAPVersion } from "../fragments/app"; +import { OAPTimeInfo, OAPVersion, MenuItems } from "../fragments/app"; export const queryOAPTimeInfo = `query queryOAPTimeInfo {${OAPTimeInfo.query}}`; export const queryOAPVersion = `query ${OAPVersion.query}`; + +export const queryMenuItems = `query menuItems {${MenuItems.query}}`; diff --git a/src/layout/components/NavBar.vue b/src/layout/components/NavBar.vue index f5576306..26a0285e 100644 --- a/src/layout/components/NavBar.vue +++ b/src/layout/components/NavBar.vue @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. --> - {{ m.meta && t(m.meta.title) }} + {{ m.meta && m.meta.title }} @@ -56,7 +56,7 @@ limitations under the License. --> @@ -67,16 +67,14 @@ limitations under the License. --> diff --git a/src/views/Settings.vue b/src/views/marketplace/Settings.vue similarity index 100% rename from src/views/Settings.vue rename to src/views/marketplace/Settings.vue diff --git a/vite.config.ts b/vite.config.ts index a705e818..f63e7d5e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -79,7 +79,7 @@ export default ({ mode }: ConfigEnv): UserConfig => { }, }, build: { - target: "es2015", + target: "esnext", cssTarget: "chrome80", outDir: OUTPUT_DIR, manifest: false,