| # 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. |
| |
| # Dashboard Configuration provides the management capabilities for SkyWalking native UI. |
| |
| type DashboardConfiguration { |
| # ID is a generated UUID. |
| id: String! |
| # JSON based configuration. The format of text is the export result on the UI page. |
| configuration: String! |
| } |
| |
| type MenuItem { |
| # Title name |
| title: String! |
| # Showing icon name |
| icon: String |
| # Linked layer name |
| layer: String! |
| # Activated menu should be listed on the menu, |
| # otherwise, it should stay in marketplace. |
| activate: Boolean! |
| # Sub menu items |
| subItems: [MenuItem!]! |
| # Description of the item |
| description: String |
| # The document link for the latest version of this feature. |
| documentLink: String |
| # The i18n key for the title and description of this feature display in the UI. |
| i18nKey: String |
| } |
| |
| extend type Query { |
| # Read an existing UI template according to given id. |
| getTemplate(id: String!): DashboardConfiguration |
| # Read all configuration templates。 |
| getAllTemplates: [DashboardConfiguration!]! |
| # Read all menu items |
| getMenuItems: [MenuItem!]! |
| } |
| |
| # Used for add new template |
| input NewDashboardSetting { |
| # JSON based configuration. The format of text is the export result on the UI page. |
| configuration: String! |
| } |
| |
| input DashboardSetting { |
| id: String! |
| # JSON based configuration. The format of text is the export result on the UI page. |
| configuration: String! |
| } |
| |
| type TemplateChangeStatus { |
| id: String! |
| # True means change successfully. |
| status: Boolean! |
| message: String |
| } |
| |
| # Template Management page provides the creation, update and deletion for the different template typs. |
| extend type Mutation { |
| addTemplate(setting: NewDashboardSetting!): TemplateChangeStatus! |
| changeTemplate(setting: DashboardSetting!): TemplateChangeStatus! |
| disableTemplate(id: String!): TemplateChangeStatus! |
| } |