Skip to content

Commit e9144d3

Browse files
committed
update: add new options
1 parent 99fa473 commit e9144d3

40 files changed

+617
-59
lines changed

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/BaseChart.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,7 @@ private void injectInstanceToListenersIfNecessary() {
112112
return;
113113
}
114114

115-
final List<String> tmp = functions
116-
.stream()
117-
.map(f -> ChartUtil.injectInstance(f, this))
118-
.collect(Collectors.toList());
119-
functions.clear();
120-
functions.addAll(tmp);
115+
functions.replaceAll(f -> ChartUtil.injectInstance(f, this));
121116
}
122117

123118
@Data
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.github.koooooo7.echarts4j.chart;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.option.chart.XAxis;
5+
import com.github.koooooo7.echarts4j.option.chart.YAxis;
6+
import com.github.koooooo7.echarts4j.option.embedded.series.Emphasis;
7+
import com.github.koooooo7.echarts4j.option.embedded.series.ItemStyle;
8+
import com.github.koooooo7.echarts4j.option.embedded.series.Tooltip;
9+
import lombok.Builder;
10+
import lombok.Data;
11+
import lombok.EqualsAndHashCode;
12+
import lombok.experimental.SuperBuilder;
13+
14+
import java.util.List;
15+
import java.util.Objects;
16+
17+
@Data
18+
@SuperBuilder
19+
@EqualsAndHashCode(callSuper = true)
20+
public class CandlestickChart extends BaseChart<com.github.koooooo7.echarts4j.chart.BarChart> {
21+
@Builder.Default
22+
private ChartType chartType = ChartType.Candlestick;
23+
24+
@Override
25+
public void postProcessor() {
26+
super.postProcessor();
27+
if (Objects.isNull(getChartOptions().getXAxis())) {
28+
getChartOptions().setXAxis(XAxis.builder().build());
29+
}
30+
if (Objects.isNull(getChartOptions().getYAxis())) {
31+
getChartOptions().setYAxis(YAxis.builder().build());
32+
}
33+
}
34+
35+
@Data
36+
@SuperBuilder
37+
@JsonInclude(JsonInclude.Include.NON_NULL)
38+
public static class CandlestickChartDataItem {
39+
private String name;
40+
private List<?> value;
41+
private String groupId;
42+
private String childGroupId;
43+
private ItemStyle itemStyle;
44+
private Emphasis emphasis;
45+
private Tooltip tooltip;
46+
47+
}
48+
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/Canvas.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ public CanvasBuilder layout(CanvasLayout layout) {
124124
}
125125

126126
public CanvasBuilder appendJSAssets(String... jsAsset) {
127-
canvas.appendJsAssets.addAll(Arrays.asList(jsAsset));
128127
Arrays.stream(jsAsset).forEach(canvas::addJsAsset);
129128
return this;
130129
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/ChartType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ public enum ChartType {
2121
Scatter("scatter"),
2222
EffectScatter("effectScatter"),
2323
Radar("radar"),
24-
Sunburst("sunburst");
24+
Sunburst("sunburst"),
25+
Candlestick("candlestick"),
26+
;
27+
2528
private final String type;
2629
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/SunburstChart.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.github.koooooo7.echarts4j.chart;
22

3-
import com.github.koooooo7.echarts4j.option.embedded.Emphasis;
4-
import com.github.koooooo7.echarts4j.option.embedded.ItemStyle;
5-
import com.github.koooooo7.echarts4j.option.embedded.Label;
3+
import com.github.koooooo7.echarts4j.option.embedded.series.Emphasis;
4+
import com.github.koooooo7.echarts4j.option.embedded.series.ItemStyle;
5+
import com.github.koooooo7.echarts4j.option.embedded.series.Label;
66
import lombok.Builder;
77
import lombok.Data;
88
import lombok.EqualsAndHashCode;

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/ChartOption.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.github.koooooo7.echarts4j.option.series.SeriesOption;
1414
import com.github.koooooo7.echarts4j.option.chart.Title;
1515
import com.github.koooooo7.echarts4j.type.FuncStr;
16+
import com.github.koooooo7.echarts4j.util.JsonUtil;
1617
import lombok.Data;
1718
import lombok.experimental.SuperBuilder;
1819

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/AngleAxis.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.github.koooooo7.echarts4j.option.chart;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4-
import com.github.koooooo7.echarts4j.option.embedded.NameTextStyle;
5-
import com.github.koooooo7.echarts4j.option.embedded.NameTruncate;
64
import com.github.koooooo7.echarts4j.type.FuncStr;
75
import lombok.Data;
86
import lombok.experimental.SuperBuilder;

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/DataZoom.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public static class InsideDataZoom extends DataZoom {
2121
private String type = "inside";
2222
private Integer start;
2323
private Integer end;
24+
private String top;
2425
private FuncStr xAxisIndex;
2526
private FuncStr yAxisIndex;
2627

@@ -37,6 +38,7 @@ public static class SliderDataZoom extends DataZoom {
3738
private Boolean show;
3839
private Integer start;
3940
private Integer end;
41+
private String top;
4042
private FuncStr xAxisIndex;
4143
private FuncStr yAxisIndex;
4244
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/RadiusAxis.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package com.github.koooooo7.echarts4j.option.chart;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4-
import com.github.koooooo7.echarts4j.option.embedded.NameTextStyle;
5-
import com.github.koooooo7.echarts4j.option.embedded.NameTruncate;
4+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTextStyle;
5+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTruncate;
66
import com.github.koooooo7.echarts4j.type.FuncStr;
7-
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;
8-
import lombok.Builder;
97
import lombok.Data;
108
import lombok.experimental.SuperBuilder;
119

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/Tooltip.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.koooooo7.echarts4j.option.chart;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.option.embedded.chart.AxisPointer;
45
import com.github.koooooo7.echarts4j.type.FuncStr;
56
import lombok.Builder;
67
import lombok.Data;
@@ -22,5 +23,6 @@ public class Tooltip {
2223
private FuncStr formatter;
2324
private FuncStr valueFormatter;
2425
private Integer padding;
26+
private AxisPointer axisPointer;
2527

2628
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/XAxis.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package com.github.koooooo7.echarts4j.option.chart;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4-
import com.github.koooooo7.echarts4j.option.embedded.NameTextStyle;
5-
import com.github.koooooo7.echarts4j.option.embedded.NameTruncate;
4+
import com.github.koooooo7.echarts4j.option.embedded.chart.AxisLine;
5+
import com.github.koooooo7.echarts4j.option.embedded.chart.SplitArea;
6+
import com.github.koooooo7.echarts4j.option.embedded.chart.SplitLine;
7+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTextStyle;
8+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTruncate;
69
import com.github.koooooo7.echarts4j.type.FuncStr;
7-
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;
8-
import lombok.Builder;
910
import lombok.Data;
1011
import lombok.experimental.SuperBuilder;
1112

@@ -24,6 +25,7 @@ public class XAxis {
2425
private String type;
2526
private String name;
2627
private String nameLocation;
28+
private FuncStr boundaryGap;
2729
private List<?> data;
2830
private NameTextStyle nameTextStyle;
2931
private NameTruncate nameTruncate;
@@ -37,5 +39,8 @@ public class XAxis {
3739
private Integer interval;
3840
private Boolean silent;
3941
private Boolean triggerEvent;
42+
private AxisLine axisLine;
43+
private SplitLine splitLine;
44+
private SplitArea splitArea;
4045

4146
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/YAxis.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package com.github.koooooo7.echarts4j.option.chart;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4-
import com.github.koooooo7.echarts4j.option.embedded.NameTextStyle;
5-
import com.github.koooooo7.echarts4j.option.embedded.NameTruncate;
4+
import com.github.koooooo7.echarts4j.option.embedded.chart.AxisLine;
5+
import com.github.koooooo7.echarts4j.option.embedded.chart.SplitArea;
6+
import com.github.koooooo7.echarts4j.option.embedded.chart.SplitLine;
7+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTextStyle;
8+
import com.github.koooooo7.echarts4j.option.embedded.series.NameTruncate;
69
import com.github.koooooo7.echarts4j.type.FuncStr;
7-
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;
8-
import lombok.Builder;
910
import lombok.Data;
1011
import lombok.experimental.SuperBuilder;
1112

@@ -37,5 +38,9 @@ public class YAxis {
3738
private Integer interval;
3839
private Boolean silent;
3940
private Boolean triggerEvent;
41+
private AxisLine axisLine;
42+
private SplitLine splitLine;
43+
private SplitArea splitArea;
44+
4045

4146
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.github.koooooo7.echarts4j.option.embedded.chart;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.option.embedded.series.ItemStyle;
5+
import com.github.koooooo7.echarts4j.type.FuncStr;
6+
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;
7+
import lombok.Builder;
8+
import lombok.Data;
9+
10+
import java.util.List;
11+
12+
@Data
13+
@Builder
14+
@JsonInclude(JsonInclude.Include.NON_NULL)
15+
@EmbedScope(EmbedScope.Scope.Chart)
16+
public class AxisLine {
17+
private Boolean show;
18+
private Boolean onZero;
19+
private Integer onZeroAxisIndex;
20+
private String symbol;
21+
private FuncStr symbolSize;
22+
private FuncStr symbolOffset;
23+
private LineStyle lineStyle;
24+
25+
26+
@Data
27+
@Builder
28+
@JsonInclude(JsonInclude.Include.NON_NULL)
29+
public static class LineStyle {
30+
private String color;
31+
private Integer width;
32+
private FuncStr type;
33+
}
34+
35+
36+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.github.koooooo7.echarts4j.option.embedded.chart;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.option.embedded.series.ItemStyle;
5+
import com.github.koooooo7.echarts4j.type.FuncStr;
6+
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;
7+
import lombok.Builder;
8+
import lombok.Data;
9+
10+
import java.util.List;
11+
12+
@Data
13+
@Builder
14+
@JsonInclude(JsonInclude.Include.NON_NULL)
15+
@EmbedScope(EmbedScope.Scope.Chart)
16+
public class AxisPointer {
17+
private String type;
18+
private String axis;
19+
private Boolean snap;
20+
private Integer z;
21+
private Label label;
22+
private LineStyle lineStyle;
23+
24+
@Data
25+
@Builder
26+
@JsonInclude(JsonInclude.Include.NON_NULL)
27+
public static class Label {
28+
private Boolean show;
29+
private FuncStr position;
30+
private Integer distance;
31+
private FuncStr rotate;
32+
private List<Integer> offset;
33+
private Integer minMargin;
34+
private FuncStr formatter;
35+
private Integer fontSize;
36+
private ItemStyle itemStyle;
37+
private LineStyle lineStyle;
38+
39+
}
40+
41+
@Data
42+
@Builder
43+
@JsonInclude(JsonInclude.Include.NON_NULL)
44+
public static class LineStyle {
45+
private String color;
46+
private Integer width;
47+
private FuncStr type;
48+
}
49+
50+
51+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.github.koooooo7.echarts4j.option.embedded.chart;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.type.FuncStr;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
8+
@Data
9+
@Builder
10+
@JsonInclude(JsonInclude.Include.NON_NULL)
11+
public class SplitArea {
12+
private Boolean show;
13+
private String interval;
14+
private AreaStyle areaStyle;
15+
16+
@Data
17+
@Builder
18+
@JsonInclude(JsonInclude.Include.NON_NULL)
19+
public static class AreaStyle {
20+
private String[] color;
21+
}
22+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.github.koooooo7.echarts4j.option.embedded.chart;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.type.FuncStr;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
@Data
8+
@Builder
9+
@JsonInclude(JsonInclude.Include.NON_NULL)
10+
public class SplitLine {
11+
private Boolean show;
12+
private String interval;
13+
private LineStyle lineStyle;
14+
15+
@Data
16+
@Builder
17+
@JsonInclude(JsonInclude.Include.NON_NULL)
18+
public static class LineStyle {
19+
private String color;
20+
private Integer width;
21+
private FuncStr type;
22+
}
23+
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/embedded/series/AreaStyle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.koooooo7.echarts4j.option.embedded;
1+
package com.github.koooooo7.echarts4j.option.embedded.series;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.github.koooooo7.echarts4j.util.annotation.EmbedScope;

0 commit comments

Comments
 (0)