Skip to content

Commit c76fb43

Browse files
committed
Fix apache#6491 (theme backward compat)
1 parent d631503 commit c76fb43

File tree

5 files changed

+20
-7
lines changed

5 files changed

+20
-7
lines changed

src/echarts.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ define(function (require) {
3333
var ExtensionAPI = require('./ExtensionAPI');
3434
var CoordinateSystemManager = require('./CoordinateSystem');
3535
var OptionManager = require('./model/OptionManager');
36+
var backwardCompat = require('./preprocessor/backwardCompat');
3637

3738
var ComponentModel = require('./model/Component');
3839
var SeriesModel = require('./model/Series');
@@ -140,7 +141,7 @@ define(function (require) {
140141
* @type {Object}
141142
* @private
142143
*/
143-
this._theme = zrUtil.clone(theme);
144+
backwardCompat(this._theme = zrUtil.clone(theme), true);
144145

145146
/**
146147
* @type {Array.<module:echarts/view/Chart>}
@@ -1940,7 +1941,7 @@ define(function (require) {
19401941
};
19411942

19421943
echarts.registerVisual(PRIORITY_VISUAL_GLOBAL, require('./visual/seriesColor'));
1943-
echarts.registerPreprocessor(require('./preprocessor/backwardCompat'));
1944+
echarts.registerPreprocessor(backwardCompat);
19441945
echarts.registerLoading('default', require('./loading/default'));
19451946

19461947
// Default action

src/model/Series.js

+8
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@ define(function(require) {
9292
var inputPositionParams = layoutMode
9393
? layout.getLayoutParams(option) : {};
9494

95+
// Backward compat: using subType on theme.
96+
// But if name duplicate between series subType
97+
// (for example: parallel) add component mainType,
98+
// add suffix 'Series'.
99+
var themeSubType = this.subType;
100+
if (ComponentModel.hasClass(themeSubType)) {
101+
themeSubType += 'Series';
102+
}
95103
zrUtil.merge(
96104
option,
97105
ecModel.getTheme().get(this.subType)

src/preprocessor/backwardCompat.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ define(function (require) {
5656

5757
var each = zrUtil.each;
5858

59-
return function (option) {
60-
compatStyle(option);
59+
return function (option, isTheme) {
60+
compatStyle(option, isTheme);
6161

6262
var series = option.series;
6363
each(zrUtil.isArray(series) ? series : [series], function (seriesOpt) {

src/preprocessor/helper/compatStyle.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,16 @@ define(function (require) {
134134
return (zrUtil.isArray(o) ? o[0] : o) || {};
135135
}
136136

137-
return function (option) {
137+
return function (option, isTheme) {
138138
each(toArr(option.series), function (seriesOpt) {
139139
isObject(seriesOpt) && processSeries(seriesOpt);
140140
});
141141

142+
var axes = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'];
143+
isTheme && axes.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis');
144+
142145
each(
143-
['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'],
146+
axes,
144147
function (axisName) {
145148
each(toArr(option[axisName]), function (axisOpt) {
146149
if (axisOpt) {

test/line.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
require([
2121
'echarts',
22+
'theme/infographic',
2223
'echarts/chart/line',
2324
'echarts/component/title',
2425
'echarts/component/legend',
@@ -28,7 +29,7 @@
2829
'zrender/svg/svg'
2930
], function (echarts) {
3031

31-
var chart = echarts.init(document.getElementById('main'), null, {
32+
var chart = echarts.init(document.getElementById('main'), 'infographic', {
3233
renderer: 'canvas'
3334
// renderer: 'svg'
3435
});

0 commit comments

Comments
 (0)