提交 cc6d2c41 编写于 作者: L lang

Default color

上级 9cfe31fb
......@@ -28,10 +28,8 @@ define(function (require) {
height: layout.height
},
style: {
fill: dataItem
.withPrefix('itemStyle.normal.')
.get('color'),
stroke: dataItem.get('borderColor')
fill: dataItem.getVisual('color'),
stroke: dataItem.get('itemStyle.normal.borderColor')
}
});
......
......@@ -22,7 +22,7 @@ define(function (require) {
this._zr = zrender.init(dom);
this._theme = theme;
this._theme = zrUtil.clone(theme);
this._chartsList = [];
this._chartsMap = {};
......
......@@ -27,6 +27,8 @@ define(function (require) {
init: function (option, parentModel, theme) {
theme = theme || {};
this.option = {};
/**
......@@ -51,10 +53,11 @@ define(function (require) {
* @type {module:echarts/model/Model}
* @private
*/
this._theme = new Model(theme || {});
this._theme = new Model(theme);
this._mergeTheme(option, theme);
// TODO Needs clone when merging to the unexisted property
zrUtil.merge(option, globalDefault, false);
this.mergeOption(option);
......@@ -68,7 +71,9 @@ define(function (require) {
// 如果有 component model 则把具体的 merge 逻辑交给该 model 处理
if (! ComponentModel.has[name]) {
if (typeof theme[name] === 'object') {
zrUtil.merge(option[name], theme[name]);
option[name] = option[name]
? zrUtil.clone(theme[name])
: zrUtil.merge(option[name], theme[name]);
}
else {
option[name] = theme[name];
......@@ -110,7 +115,9 @@ define(function (require) {
// 如果不存在对应的 component model 则直接 merge
if (! ComponentModel.has(name)) {
if (typeof componentOption === 'object') {
componentOption = zrUtil.merge(option[name] || {}, componentOption);
option[name] = option[name] == null
? zrUtil.clone(componentOption)
: zrUtil.merge(option[name], componentOption);
}
else {
option[name] = componentOption;
......
......@@ -32,6 +32,13 @@ define(function (require) {
_prefix: '',
/**
* visual properties after visual coding
* @type {Object}
* @private
*/
_visual: null,
/**
* Model 的初始化函数
* @param {Object} option
......@@ -76,6 +83,27 @@ define(function (require) {
return obj;
},
/**
* Get visual property.
*/
getVisual: function (key) {
var visual = this._visual;
var val = visual && visual[key];
var parentModel = this.parentModel;
if (val == null && parentModel) {
return parentModel.getVisual(key);
}
return val;
},
/**
* Set visual property
*/
setVisual: function (key, val) {
this._visual = this._visual || {};
this._visual[key] = val;
},
restore: function () {},
// Pending
......
......@@ -3,8 +3,9 @@ define(function (require) {
return function (ecModel) {
ecModel.eachSeries(function (seriesModel, idx) {
var colorList = ecModel.get('color');
seriesModel.visual = seriesModel.visual || {};
seriesModel.visual.color = seriesModel.get('itemStyle.normal.color') || colorList[idx];
seriesModel.setVisual(
'color', seriesModel.get('itemStyle.normal.color') || colorList[idx]
);
});
}
});
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册