mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
QueryLibrary: Use default variable values in render (#84678)
This commit is contained in:
parent
7ad2ec9665
commit
d71266b8af
@ -43,7 +43,11 @@ func RenderTemplate(qt QueryTemplate, selectedValues map[string][]string) ([]Tar
|
||||
s = s[1 : len(s)-1]
|
||||
var offSet int64
|
||||
for _, r := range reps {
|
||||
value := []rune(FormatVariables(r.format, selectedValues[r.Key]))
|
||||
sV := selectedValues[r.Key]
|
||||
if sV == nil {
|
||||
sV = r.DefaultValues
|
||||
}
|
||||
value := []rune(FormatVariables(r.format, sV))
|
||||
if r.Position == nil {
|
||||
return nil, fmt.Errorf("nil position not support yet, will be full replacement")
|
||||
}
|
||||
|
@ -12,7 +12,8 @@ var nestedFieldRender = QueryTemplate{
|
||||
Title: "Test",
|
||||
Variables: []TemplateVariable{
|
||||
{
|
||||
Key: "metricName",
|
||||
Key: "metricName",
|
||||
DefaultValues: []string{"cow_count"},
|
||||
},
|
||||
},
|
||||
Targets: []Target{
|
||||
@ -64,6 +65,30 @@ var nestedFieldRenderedTargets = []Target{
|
||||
},
|
||||
}
|
||||
|
||||
var nestedFieldDefaultRenderedTargets = []Target{
|
||||
{
|
||||
DataType: data.FrameTypeUnknown,
|
||||
Variables: map[string][]VariableReplacement{
|
||||
"metricName": {
|
||||
{
|
||||
Path: "$.nestedObject.anArray[0]",
|
||||
Position: &Position{
|
||||
Start: 0,
|
||||
End: 3,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//DataTypeVersion: data.FrameTypeVersion{0, 0},
|
||||
Properties: apidata.NewDataQuery(
|
||||
map[string]any{
|
||||
"nestedObject": map[string]any{
|
||||
"anArray": []any{"cow_count", .2},
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
func TestNestedFieldRender(t *testing.T) {
|
||||
rT, err := RenderTemplate(nestedFieldRender, map[string][]string{"metricName": {"up"}})
|
||||
require.NoError(t, err)
|
||||
@ -73,6 +98,15 @@ func TestNestedFieldRender(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
func TestNestedFieldDefaultsRender(t *testing.T) {
|
||||
rT, err := RenderTemplate(nestedFieldRender, nil)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t,
|
||||
nestedFieldDefaultRenderedTargets,
|
||||
rT,
|
||||
)
|
||||
}
|
||||
|
||||
var multiVarTemplate = QueryTemplate{
|
||||
Title: "Test",
|
||||
Variables: []TemplateVariable{
|
||||
|
Loading…
Reference in New Issue
Block a user