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"`
|
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 {
|
type EChartsMarkPoint struct {
|
||||||
SymbolSize int `json:"symbolSize"`
|
SymbolSize int `json:"symbolSize"`
|
||||||
Data []struct {
|
Data []EChartsMarkData `json:"data"`
|
||||||
Type string `json:"type"`
|
|
||||||
} `json:"data"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (emp *EChartsMarkPoint) ToSeriesMarkPoint() SeriesMarkPoint {
|
func (emp *EChartsMarkPoint) ToSeriesMarkPoint() SeriesMarkPoint {
|
||||||
|
|
|
||||||
|
|
@ -330,6 +330,20 @@ func TestEChartsSeries(t *testing.T) {
|
||||||
}, esList)
|
}, 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) {
|
func TestEChartsMarkPoint(t *testing.T) {
|
||||||
assert := assert.New(t)
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue