grafana/public/app/plugins/panel/xychart/panelcfg.cue
Oscar Kilhed f3aa058886
XY Panel: Add and use schema for XY Panel configuration (#62148)
* Add schema for XYChart

* Minor cleanup

* remove unessecary fields from ScatterFieldConfigVeneer, and cleaning up more

* Fix counts

Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-01-25 22:29:07 +00:00

80 lines
2.1 KiB
CUE

// Copyright 2023 Grafana Labs
//
// Licensed 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.
package grafanaplugin
import (
"github.com/grafana/grafana/packages/grafana-schema/src/common"
"github.com/grafana/grafana/pkg/plugins/pfs"
)
// This file (with its sibling .cue files) implements pfs.GrafanaPlugin
pfs.GrafanaPlugin
composableKinds: PanelCfg: {
maturity: "experimental"
lineage: {
seqs: [
{
schemas: [
{
SeriesMapping: "auto" | "manual" @cuetsy(kind="enum")
ScatterShow: "points" | "lines" | "points+lines" @cuetsy(kind="enum", memberNames="Points|Lines|PointsAndLines")
XYDimensionConfig: {
frame: int32 & >=0
x?: string
exclude?: [...string]
} @cuetsy(kind="interface")
ScatterFieldConfig: {
common.HideableFieldConfig
common.AxisConfig
show?: ScatterShow | *"points"
pointSize?: common.ScaleDimensionConfig
lineColor?: common.ColorDimensionConfig
pointColor?: common.ColorDimensionConfig
labelValue?: common.TextDimensionConfig
lineWidth?: int32 & >=0
lineStyle?: common.LineStyle
label?: common.VisibilityMode | *"auto"
} @cuetsy(kind="interface",TSVeneer="type")
ScatterSeriesConfig: {
ScatterFieldConfig
x?: string
y?: string
name?: string
} @cuetsy(kind="interface")
PanelOptions: {
common.OptionsWithLegend
common.OptionsWithTooltip
seriesMapping?: SeriesMapping
dims: XYDimensionConfig
series: [...ScatterSeriesConfig]
} @cuetsy(kind="interface")
},
]
},
]
}
}