// Copyright 2021 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: lineage: { schemas: [{ version: [0, 0] schema: { // Controls the color mode of the heatmap HeatmapColorMode: "opacity" | "scheme" @cuetsy(kind="enum") // Controls the color scale of the heatmap HeatmapColorScale: "linear" | "exponential" @cuetsy(kind="enum") // Controls various color options HeatmapColorOptions: { // Sets the color mode mode?: HeatmapColorMode // Controls the color scheme used scheme: string // Controls the color fill when in opacity mode fill: string // Controls the color scale scale?: HeatmapColorScale // Controls the exponent when scale is set to exponential exponent: float32 // Controls the number of color steps steps: uint8 & >=2 & <=128 // Reverses the color scheme reverse: bool // Sets the minimum value for the color scale min?: float32 // Sets the maximum value for the color scale max?: float32 } @cuetsy(kind="interface") // Configuration options for the yAxis YAxisConfig: { ui.AxisConfig // Sets the yAxis unit unit?: string // Reverses the yAxis reverse?: bool // Controls the number of decimals for yAxis values decimals?: float32 // Sets the minimum value for the yAxis min?: float32 // Sets the maximum value for the yAxis max?: float32 } @cuetsy(kind="interface") // Controls cell value options CellValues: { // Controls the cell value unit unit?: string // Controls the number of decimals for cell values decimals?: float32 } @cuetsy(kind="interface") // Controls the value filter range FilterValueRange: { // Sets the filter range to values less than or equal to the given value le?: float32 // Sets the filter range to values greater than or equal to the given value ge?: float32 } @cuetsy(kind="interface") // Controls tooltip options HeatmapTooltip: { // Controls if the tooltip is shown show: bool // Controls if the tooltip shows a histogram of the y-axis values yHistogram?: bool } @cuetsy(kind="interface") // Controls legend options HeatmapLegend: { // Controls if the legend is shown show: bool } @cuetsy(kind="interface") // Controls exemplar options ExemplarConfig: { // Sets the color of the exemplar markers color: string } @cuetsy(kind="interface") // Controls frame rows options RowsHeatmapOptions: { // Sets the name of the cell when not calculating from data value?: string // Controls tick alignment when not calculating from data layout?: ui.HeatmapCellLayout } @cuetsy(kind="interface") Options: { // Controls if the heatmap should be calculated from data calculate?: bool | *false // Calculation options for the heatmap calculation?: ui.HeatmapCalculationOptions // Controls the color options color: HeatmapColorOptions | *{ // mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed scheme: "Oranges" fill: "dark-orange" // scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed reverse: false exponent: 0.5 steps: 64 } // Filters values between a given range filterValues?: FilterValueRange | *{ le: 1e-9 } // Controls tick alignment and value name when not calculating from data rowsFrame?: RowsHeatmapOptions // | *{ // layout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed // } // Controls the display of the value in the cell showValue: ui.VisibilityMode & (*"auto" | _) // Controls gap between cells cellGap?: uint8 & >=0 & <=25 | *1 // Controls cell radius cellRadius?: float32 // Controls cell value unit cellValues?: CellValues | *{} // Controls yAxis placement yAxis: YAxisConfig // | *{ // axisPlacement: ui.AxisPlacement & "left" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed // } // Controls legend options legend: HeatmapLegend | *{ show: true } // Controls tooltip options tooltip: HeatmapTooltip | *{ show: true yHistogram: false } // Controls exemplar options exemplars: ExemplarConfig | *{ color: "rgba(255,0,255,0.7)" } } @cuetsy(kind="interface") FieldConfig: { ui.HideableFieldConfig scaleDistribution?: ui.ScaleDistributionConfig } @cuetsy(kind="interface") } }] lenses: [] }