Compare commits

...

2 Commits

Author SHA1 Message Date
Bel LaPointe
ce19c74cb0 oop
All checks were successful
cicd / ci (push) Successful in 1m36s
2024-07-22 07:13:12 -06:00
Bel LaPointe
16bbeb8749 pie trims common prefix and sorts slice names 2024-07-22 07:12:36 -06:00

View File

@@ -3,6 +3,8 @@ package view
import (
"fmt"
"io"
"slices"
"strings"
"github.com/go-echarts/go-echarts/v2/charts"
"github.com/go-echarts/go-echarts/v2/opts"
@@ -123,6 +125,20 @@ func (pie *Pie) AddX(v interface{}) {
}
func (pie *Pie) Render(w io.Writer) error {
slices.SortFunc(pie.series, func(a, b opts.PieData) int {
return strings.Compare(a.Name, b.Name)
})
commonPrefixLen := -1
for i := 0; i < len(pie.series[0].Name) && i < len(pie.series[len(pie.series)-1].Name); i++ {
if pie.series[0].Name[i] != pie.series[len(pie.series)-1].Name[i] {
break
}
commonPrefixLen = i
}
for i := range pie.series {
pie.series[i].Name = pie.series[i].Name[commonPrefixLen+1:]
}
pie.AddSeries("", pie.series)
pie.SetGlobalOptions(charts.WithLegendOpts(opts.Legend{
Show: false,