refactor: enhance echarts mark data
This commit is contained in:
parent
edee23a6dd
commit
513c93e209
2 changed files with 40 additions and 4 deletions
30
echarts.go
30
echarts.go
|
|
@ -209,11 +209,33 @@ type EChartsLegend struct {
|
|||
TextStyle EChartsTextStyle `json:"textStyle"`
|
||||
}
|
||||
|
||||
type EChartsMarkData struct {
|
||||
Type string `json:"type"`
|
||||
}
|
||||
type _EChartsMarkData EChartsMarkData
|
||||
|
||||
func (emd *EChartsMarkData) UnmarshalJSON(data []byte) error {
|
||||
data = bytes.TrimSpace(data)
|
||||
if len(data) == 0 {
|
||||
return nil
|
||||
}
|
||||
data = convertToArray(data)
|
||||
ds := make([]*_EChartsMarkData, 0)
|
||||
err := json.Unmarshal(data, &ds)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, d := range ds {
|
||||
if d.Type != "" {
|
||||
emd.Type = d.Type
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type EChartsMarkPoint struct {
|
||||
SymbolSize int `json:"symbolSize"`
|
||||
Data []struct {
|
||||
Type string `json:"type"`
|
||||
} `json:"data"`
|
||||
SymbolSize int `json:"symbolSize"`
|
||||
Data []EChartsMarkData `json:"data"`
|
||||
}
|
||||
|
||||
func (emp *EChartsMarkPoint) ToSeriesMarkPoint() SeriesMarkPoint {
|
||||
|
|
|
|||
|
|
@ -330,6 +330,20 @@ func TestEChartsSeries(t *testing.T) {
|
|||
}, esList)
|
||||
}
|
||||
|
||||
func TestEChartsMarkData(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
emd := EChartsMarkData{}
|
||||
err := emd.UnmarshalJSON([]byte(`{"type": "average"}`))
|
||||
assert.Nil(err)
|
||||
assert.Equal("average", emd.Type)
|
||||
|
||||
emd = EChartsMarkData{}
|
||||
err = emd.UnmarshalJSON([]byte(`[{}, {"type": "average"}]`))
|
||||
assert.Nil(err)
|
||||
assert.Equal("average", emd.Type)
|
||||
}
|
||||
|
||||
func TestEChartsMarkPoint(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue