mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Kindsys: Unify plugins, pfs with kind framework (#61192)
* New pfs impl * Reached codegen parity with old system * Update all models.cue inputs * Rename all models.cue files * Remove unused prefixfs * Changes Queries->DataQuery schema interface * Recodegen * All tests passing, nearly good now * Add SchemaInterface to kindsys props * Add pascal name deriver * Relocate plugin cue files again * Clarify use of injected fields * Remove unnecessary aliasing * Move DataQuery into mudball * Allow forcing ExpandReferences on go type generation * Move DataQuery def into kindsys, add generator to copy it to common * Fix copy generator to replace package name correctly * Fix duplicate type, test failure * Fix linting issues
This commit is contained in:
58
public/app/plugins/panel/piechart/composable_panelcfg.cue
Normal file
58
public/app/plugins/panel/piechart/composable_panelcfg.cue
Normal file
@@ -0,0 +1,58 @@
|
||||
// Copyright 2022 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 (
|
||||
ui "github.com/grafana/grafana/packages/grafana-schema/src/common"
|
||||
)
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
// Select the pie chart display style.
|
||||
PieChartType: "pie" | "donut" @cuetsy(kind="enum")
|
||||
// Select labels to display on the pie chart.
|
||||
// - Name - The series or field name.
|
||||
// - Percent - The percentage of the whole.
|
||||
// - Value - The raw numerical value.
|
||||
PieChartLabels: "name" | "value" | "percent" @cuetsy(kind="enum")
|
||||
// Select values to display in the legend.
|
||||
// - Percent: The percentage of the whole.
|
||||
// - Value: The raw numerical value.
|
||||
PieChartLegendValues: "value" | "percent" @cuetsy(kind="enum")
|
||||
PieChartLegendOptions: {
|
||||
ui.VizLegendOptions
|
||||
values: [...PieChartLegendValues]
|
||||
} @cuetsy(kind="interface")
|
||||
PanelOptions: {
|
||||
ui.OptionsWithTooltip
|
||||
ui.SingleStatBaseOptions
|
||||
pieType: PieChartType
|
||||
displayLabels: [...PieChartLabels]
|
||||
legend: PieChartLegendOptions
|
||||
} @cuetsy(kind="interface")
|
||||
PanelFieldConfig: ui.HideableFieldConfig @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
// Copyright 2022 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/thema"
|
||||
ui "github.com/grafana/grafana/packages/grafana-schema/src/common"
|
||||
)
|
||||
|
||||
Panel: thema.#Lineage & {
|
||||
name: "piechart"
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
// Select the pie chart display style.
|
||||
PieChartType: "pie" | "donut" @cuetsy(kind="enum")
|
||||
// Select labels to display on the pie chart.
|
||||
// - Name - The series or field name.
|
||||
// - Percent - The percentage of the whole.
|
||||
// - Value - The raw numerical value.
|
||||
PieChartLabels: "name" | "value" | "percent" @cuetsy(kind="enum")
|
||||
// Select values to display in the legend.
|
||||
// - Percent: The percentage of the whole.
|
||||
// - Value: The raw numerical value.
|
||||
PieChartLegendValues: "value" | "percent" @cuetsy(kind="enum")
|
||||
PieChartLegendOptions: {
|
||||
ui.VizLegendOptions
|
||||
values: [...PieChartLegendValues]
|
||||
} @cuetsy(kind="interface")
|
||||
PanelOptions: {
|
||||
ui.OptionsWithTooltip
|
||||
ui.SingleStatBaseOptions
|
||||
pieType: PieChartType
|
||||
displayLabels: [...PieChartLabels]
|
||||
legend: PieChartLegendOptions
|
||||
} @cuetsy(kind="interface")
|
||||
PanelFieldConfig: ui.HideableFieldConfig @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const PanelModelVersion = Object.freeze([0, 0]);
|
||||
export const PanelCfgModelVersion = Object.freeze([0, 0]);
|
||||
|
||||
/**
|
||||
* Select the pie chart display style.
|
||||
|
||||
Reference in New Issue
Block a user