parent
ad053d3c24
commit
29af0a26ff
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
|
1. [17095](https://github.com/influxdata/influxdb/pull/17095): Extend pkger dashboards with table view support
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
1. [17039](https://github.com/influxdata/influxdb/pull/17039): Fixed issue where tasks are exported for notification rules
|
1. [17039](https://github.com/influxdata/influxdb/pull/17039): Fixed issue where tasks are exported for notification rules
|
||||||
|
|
|
@ -262,6 +262,23 @@ func convertCellView(cell influxdb.Cell) chart {
|
||||||
}
|
}
|
||||||
ch.Note = p.Note
|
ch.Note = p.Note
|
||||||
ch.NoteOnEmpty = p.ShowNoteWhenEmpty
|
ch.NoteOnEmpty = p.ShowNoteWhenEmpty
|
||||||
|
case influxdb.TableViewProperties:
|
||||||
|
setCommon(chartKindTable, p.ViewColors, p.DecimalPlaces, p.Queries)
|
||||||
|
setNoteFixes(p.Note, p.ShowNoteWhenEmpty, "", "")
|
||||||
|
ch.TimeFormat = p.TimeFormat
|
||||||
|
ch.TableOptions = tableOptions{
|
||||||
|
VerticalTimeAxis: p.TableOptions.VerticalTimeAxis,
|
||||||
|
SortByField: p.TableOptions.SortBy.InternalName,
|
||||||
|
Wrapping: p.TableOptions.Wrapping,
|
||||||
|
FixFirstColumn: p.TableOptions.FixFirstColumn,
|
||||||
|
}
|
||||||
|
for _, fieldOpt := range p.FieldOptions {
|
||||||
|
ch.FieldOptions = append(ch.FieldOptions, fieldOption{
|
||||||
|
FieldName: fieldOpt.InternalName,
|
||||||
|
DisplayName: fieldOpt.DisplayName,
|
||||||
|
Visible: fieldOpt.Visible,
|
||||||
|
})
|
||||||
|
}
|
||||||
case influxdb.XYViewProperties:
|
case influxdb.XYViewProperties:
|
||||||
setCommon(chartKindXY, p.ViewColors, influxdb.DecimalPlaces{}, p.Queries)
|
setCommon(chartKindXY, p.ViewColors, influxdb.DecimalPlaces{}, p.Queries)
|
||||||
setNoteFixes(p.Note, p.ShowNoteWhenEmpty, "", "")
|
setNoteFixes(p.Note, p.ShowNoteWhenEmpty, "", "")
|
||||||
|
@ -299,6 +316,35 @@ func convertChartToResource(ch chart) Resource {
|
||||||
r[fieldChartLegend] = ch.Legend
|
r[fieldChartLegend] = ch.Legend
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if zero := new(tableOptions); ch.TableOptions != *zero {
|
||||||
|
tRes := make(Resource)
|
||||||
|
assignNonZeroBools(tRes, map[string]bool{
|
||||||
|
fieldChartTableOptionVerticalTimeAxis: ch.TableOptions.VerticalTimeAxis,
|
||||||
|
fieldChartTableOptionFixFirstColumn: ch.TableOptions.VerticalTimeAxis,
|
||||||
|
})
|
||||||
|
assignNonZeroStrings(tRes, map[string]string{
|
||||||
|
fieldChartTableOptionSortBy: ch.TableOptions.SortByField,
|
||||||
|
fieldChartTableOptionWrapping: ch.TableOptions.Wrapping,
|
||||||
|
})
|
||||||
|
r[fieldChartTableOptions] = tRes
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(ch.FieldOptions) > 0 {
|
||||||
|
fieldOpts := make([]Resource, 0, len(ch.FieldOptions))
|
||||||
|
for _, fo := range ch.FieldOptions {
|
||||||
|
fRes := make(Resource)
|
||||||
|
assignNonZeroBools(fRes, map[string]bool{
|
||||||
|
fieldChartFieldOptionVisible: fo.Visible,
|
||||||
|
})
|
||||||
|
assignNonZeroStrings(fRes, map[string]string{
|
||||||
|
fieldChartFieldOptionDisplayName: fo.DisplayName,
|
||||||
|
fieldChartFieldOptionFieldName: fo.FieldName,
|
||||||
|
})
|
||||||
|
fieldOpts = append(fieldOpts, fRes)
|
||||||
|
}
|
||||||
|
r[fieldChartFieldOptions] = fieldOpts
|
||||||
|
}
|
||||||
|
|
||||||
assignNonZeroBools(r, map[string]bool{
|
assignNonZeroBools(r, map[string]bool{
|
||||||
fieldChartNoteOnEmpty: ch.NoteOnEmpty,
|
fieldChartNoteOnEmpty: ch.NoteOnEmpty,
|
||||||
fieldChartShade: ch.Shade,
|
fieldChartShade: ch.Shade,
|
||||||
|
@ -314,6 +360,7 @@ func convertChartToResource(ch chart) Resource {
|
||||||
fieldChartPosition: ch.Position,
|
fieldChartPosition: ch.Position,
|
||||||
fieldChartTickPrefix: ch.TickPrefix,
|
fieldChartTickPrefix: ch.TickPrefix,
|
||||||
fieldChartTickSuffix: ch.TickSuffix,
|
fieldChartTickSuffix: ch.TickSuffix,
|
||||||
|
fieldChartTimeFormat: ch.TimeFormat,
|
||||||
})
|
})
|
||||||
|
|
||||||
assignNonZeroInts(r, map[string]int{
|
assignNonZeroInts(r, map[string]int{
|
||||||
|
|
|
@ -1822,6 +1822,42 @@ func TestService(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "table",
|
||||||
|
newName: "new name",
|
||||||
|
expectedView: influxdb.View{
|
||||||
|
ViewContents: influxdb.ViewContents{
|
||||||
|
Name: "view name",
|
||||||
|
},
|
||||||
|
Properties: influxdb.TableViewProperties{
|
||||||
|
Type: influxdb.ViewPropertyTypeTable,
|
||||||
|
Note: "a note",
|
||||||
|
ShowNoteWhenEmpty: true,
|
||||||
|
Queries: []influxdb.DashboardQuery{newQuery()},
|
||||||
|
ViewColors: []influxdb.ViewColor{{Type: "scale", Hex: "#8F8AF4", Value: 0}, {Type: "scale", Hex: "#8F8AF4", Value: 0}, {Type: "scale", Hex: "#8F8AF4", Value: 0}},
|
||||||
|
TableOptions: influxdb.TableOptions{
|
||||||
|
VerticalTimeAxis: true,
|
||||||
|
SortBy: influxdb.RenamableField{
|
||||||
|
InternalName: "_time",
|
||||||
|
},
|
||||||
|
Wrapping: "truncate",
|
||||||
|
FixFirstColumn: true,
|
||||||
|
},
|
||||||
|
FieldOptions: []influxdb.RenamableField{
|
||||||
|
{
|
||||||
|
InternalName: "_time",
|
||||||
|
DisplayName: "time (ms)",
|
||||||
|
Visible: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
TimeFormat: "YYYY:MM:DD",
|
||||||
|
DecimalPlaces: influxdb.DecimalPlaces{
|
||||||
|
IsEnforced: true,
|
||||||
|
Digits: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
|
Loading…
Reference in New Issue