Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 80 additions & 11 deletions pkg/dashboards/dashboards_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -307,17 +307,19 @@ type RawConfiguration struct {
// Used by viz.markdown
Text string `json:"text,omitempty"`

Thresholds interface{} `json:"thresholds,omitempty"`
Legend *DashboardWidgetLegend `json:"legend,omitempty"`
YAxisLeft *DashboardWidgetYAxisLeft `json:"yAxisLeft,omitempty"`
YAxisRight *DashboardWidgetYAxisRight `json:"yAxisRight,omitempty"`
NullValues *DashboardWidgetNullValues `json:"nullValues,omitempty"`
Units *DashboardWidgetUnits `json:"units,omitempty"`
Colors *DashboardWidgetColors `json:"colors,omitempty"`
Facet *DashboardWidgetFacet `json:"facet,omitempty"`
RefreshRate *DashboardWidgetRefreshRate `json:"refreshRate,omitempty"`
InitialSorting *DashboardWidgetInitialSorting `json:"initialSorting,omitempty"`
DataFormat []*DashboardWidgetDataFormat `json:"dataFormatters,omitempty"`
Thresholds interface{} `json:"thresholds,omitempty"`
Legend *DashboardWidgetLegend `json:"legend,omitempty"`
YAxisLeft *DashboardWidgetYAxisLeft `json:"yAxisLeft,omitempty"`
YAxisRight *DashboardWidgetYAxisRight `json:"yAxisRight,omitempty"`
NullValues *DashboardWidgetNullValues `json:"nullValues,omitempty"`
Units *DashboardWidgetUnits `json:"units,omitempty"`
Colors *DashboardWidgetColors `json:"colors,omitempty"`
Facet *DashboardWidgetFacet `json:"facet,omitempty"`
RefreshRate *DashboardWidgetRefreshRate `json:"refreshRate,omitempty"`
InitialSorting *DashboardWidgetInitialSorting `json:"initialSorting,omitempty"`
DataFormat []*DashboardWidgetDataFormat `json:"dataFormatters,omitempty"`
BillboardSettings *DashboardWidgetBillboardSettings `json:"billboardSettings,omitempty"`
ThresholdsWithSeriesOverrides *DashboardWidgetThresholdsWithSeriesOverrides `json:"thresholdsWithSeriesOverrides,omitempty"`
}

// RawConfigurationPlatformOptions represents platform widget options
Expand Down Expand Up @@ -395,3 +397,70 @@ type DashboardWidgetColorOverrides struct {
type DashboardWidgetFacet struct {
ShowOtherSeries bool `json:"showOtherSeries,omitempty"`
}

type DashboardWidgetBillboardSettings struct {
Visual *DashboardWidgetBillboardVisual `json:"visual,omitempty"`
GridOptions *DashboardWidgetBillboardGridOptions `json:"gridOptions,omitempty"`
Link *DashboardWidgetBillboardLink `json:"link,omitempty"`
}

type BillboardVisualDisplay string

const (
BillboardVisualDisplayAuto BillboardVisualDisplay = "auto"
BillboardVisualDisplayAll BillboardVisualDisplay = "all"
BillboardVisualDisplayValue BillboardVisualDisplay = "value"
BillboardVisualDisplayLabel BillboardVisualDisplay = "label"
BillboardVisualDisplayNone BillboardVisualDisplay = "none"
)

type BillboardVisualAlignment string

const (
BillboardVisualAlignmentAuto BillboardVisualAlignment = "auto"
BillboardVisualAlignmentStacked BillboardVisualAlignment = "stacked"
BillboardVisualAlignmentInline BillboardVisualAlignment = "inline"
)

type DashboardWidgetBillboardVisual struct {
Display BillboardVisualDisplay `json:"display,omitempty"`
Alignment BillboardVisualAlignment `json:"alignment,omitempty"`
}

type DashboardWidgetBillboardGridOptions struct {
Columns int `json:"columns,omitempty"`
Label int `json:"label,omitempty"`
Value int `json:"value,omitempty"`
}

type DashboardWidgetBillboardLink struct {
Title string `json:"title,omitempty"`
URL string `json:"url,omitempty"`
NewTab bool `json:"newTab"`
}

type DashboardWidgetThresholdsWithSeriesOverrides struct {
Thresholds []*DashboardWidgetThresholdConfig `json:"thresholds,omitempty"`
SeriesOverrides []*DashboardWidgetThresholdSeriesOverride `json:"seriesOverrides,omitempty"`
}

type ThresholdSeverity string

const (
ThresholdSeveritySuccess ThresholdSeverity = "success"
ThresholdSeverityWarning ThresholdSeverity = "warning"
ThresholdSeveritySevere ThresholdSeverity = "severe"
ThresholdSeverityCritical ThresholdSeverity = "critical"
ThresholdSeverityUnavailable ThresholdSeverity = "unavailable"
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our general practice is to keep any constants at the top of the file. We recommend using capital letters for constant strings, though you can use lowercase if your API requires it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it @shashank-reddy-nr, the variables have been moved + changed const in favor of var to further comply with the code standards


type DashboardWidgetThresholdConfig struct {
From *float64 `json:"from,omitempty"`
To *float64 `json:"to,omitempty"`
Severity ThresholdSeverity `json:"severity,omitempty"`
}

type DashboardWidgetThresholdSeriesOverride struct {
DashboardWidgetThresholdConfig
SeriesName string `json:"seriesName"`
}