feat: support label value with commas
Change-Id: I9f4575c163da154f80ea2657108f26576133bfc6
This commit is contained in:
parent
d25a827706
commit
10a60e072a
3 changed files with 99 additions and 0 deletions
File diff suppressed because one or more lines are too long
|
|
@ -72,6 +72,7 @@ type SeriesLabel struct {
|
|||
// {b}: the name of a data item.
|
||||
// {c}: the value of a data item.
|
||||
// {d}: the percent of a data item(pie chart).
|
||||
// {e}: the value with commas of a data item
|
||||
Formatter string
|
||||
// The color for label
|
||||
Color Color
|
||||
|
|
@ -306,6 +307,7 @@ func NewLabelFormatter(seriesNames []string, layout string) LabelFormatter {
|
|||
percentText = humanize.FtoaWithDigits(percent*100, 2) + "%"
|
||||
}
|
||||
valueText := humanize.FtoaWithDigits(value, 2)
|
||||
valueTextWithCommas := humanize.CommafWithDigits(value, 2)
|
||||
name := ""
|
||||
if len(seriesNames) > index {
|
||||
name = seriesNames[index]
|
||||
|
|
@ -313,6 +315,7 @@ func NewLabelFormatter(seriesNames []string, layout string) LabelFormatter {
|
|||
text := strings.ReplaceAll(layout, "{c}", valueText)
|
||||
text = strings.ReplaceAll(text, "{d}", percentText)
|
||||
text = strings.ReplaceAll(text, "{b}", name)
|
||||
text = strings.ReplaceAll(text, "{e}", valueTextWithCommas)
|
||||
return text
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,4 +86,9 @@ func TestFormatter(t *testing.T) {
|
|||
"a",
|
||||
"b",
|
||||
}, "")(0, 10, 0.12))
|
||||
|
||||
assert.Equal("10,000.01", NewLabelFormatter([]string{
|
||||
"a",
|
||||
"b",
|
||||
}, "{e}")(0, 10000.01, 0))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue