From 2a250490184d4c1316b0453b0d0764808f989b21 Mon Sep 17 00:00:00 2001 From: lang Date: Tue, 8 Sep 2015 10:38:53 +0800 Subject: [PATCH] tweak --- src/chart/bar/BarView.js | 5 ++--- src/chart/line.js | 11 +++++++---- src/chart/line/LineView.js | 9 +++++---- src/chart/line/lineVisual.js | 12 ------------ src/chart/scatter.js | 8 +++++--- src/component/axis.js | 2 +- src/echarts.js | 5 +++-- src/model/Model.js | 11 ++++++----- .../scatterVisual.js => visual/symbol.js} | 18 +++++++----------- 9 files changed, 36 insertions(+), 45 deletions(-) delete mode 100644 src/chart/line/lineVisual.js rename src/{chart/scatter/scatterVisual.js => visual/symbol.js} (64%) diff --git a/src/chart/bar/BarView.js b/src/chart/bar/BarView.js index 870ca2a3f..923e59d5e 100644 --- a/src/chart/bar/BarView.js +++ b/src/chart/bar/BarView.js @@ -36,12 +36,11 @@ define(function (require) { y: layout.y + layout.height, width: layout.width }, - style: zrUtil.merge( + style: zrUtil.extend( dataItem.getModel('itemStyle.normal').getItemStyle(), { fill: dataItem.getVisual('color') - }, - true, false + } ) }); diff --git a/src/chart/line.js b/src/chart/line.js index f50df8982..e34d48b3f 100644 --- a/src/chart/line.js +++ b/src/chart/line.js @@ -1,12 +1,15 @@ define(function (require) { + var zrUtil = require('zrender/core/util'); + var echarts = require('../echarts'); + require('./line/LineSeries'); require('./line/LineView'); - require('./line/lineVisual'); - - var zrUtil = require('zrender/core/util'); - require('../echarts').registerLayout(zrUtil.curry( + echarts.registerVisualCoding(zrUtil.curry( + require('../visual/symbol'), 'line', 'circle', 'line' + )); + echarts.registerLayout(zrUtil.curry( require('../layout/points'), 'line' )); }); \ No newline at end of file diff --git a/src/chart/line/LineView.js b/src/chart/line/LineView.js index 5b251c14f..5a63b2c17 100644 --- a/src/chart/line/LineView.js +++ b/src/chart/line/LineView.js @@ -44,12 +44,11 @@ define(function(require) { shape: { points: points }, - style: zrUtil.merge( + style: zrUtil.extend( lineStyleNormalModel.getLineStyle(), { stroke: seriesModel.getVisual('color') - }, - true, false + } ) }); @@ -71,10 +70,12 @@ define(function(require) { this.group.add(this._polyline); } + this._drawSymbol() + this._data = data; }, - _drawSymbols: function (data) { + _drawSymbol: function () { }, diff --git a/src/chart/line/lineVisual.js b/src/chart/line/lineVisual.js deleted file mode 100644 index 488e08bab..000000000 --- a/src/chart/line/lineVisual.js +++ /dev/null @@ -1,12 +0,0 @@ -define(function (require) { - - require('../../echarts').registerVisualCoding(function (ecModel) { - ecModel.eachSeriesByType('line', function (seriesModel) { - seriesModel.setVisual('legendSymbol', 'line'); - var legendSymbol = seriesModel.get('symbol'); - if (legendSymbol && legendSymbol !== 'none') { - seriesModel.setVisual('symbol', legendSymbol); - } - }); - }); -}); \ No newline at end of file diff --git a/src/chart/scatter.js b/src/chart/scatter.js index 0c9db9415..eba6b422b 100644 --- a/src/chart/scatter.js +++ b/src/chart/scatter.js @@ -1,13 +1,15 @@ define(function (require) { var zrUtil = require('zrender/core/util'); - - require('./scatter/scatterVisual'); + var echarts = require('../echarts'); require('./scatter/ScatterSeries'); require('./scatter/ScatterView'); - require('../echarts').registerLayout(zrUtil.curry( + echarts.registerVisualCoding(zrUtil.curry( + require('../visual/symbol'), 'scatter', 'circle', null + )); + echarts.registerLayout(zrUtil.curry( require('../layout/points'), 'scatter' )); }); \ No newline at end of file diff --git a/src/component/axis.js b/src/component/axis.js index ba18c7c7e..044b8ba52 100644 --- a/src/component/axis.js +++ b/src/component/axis.js @@ -99,7 +99,7 @@ define(function(require) { x2: p2[0], y2: p2[1] }, - style: zrUtil.merge({ + style: zrUtil.extend({ lineCap: 'round' }, lineStyleModel.getLineStyle()), z: axisModel.get('z'), diff --git a/src/echarts.js b/src/echarts.js index 5171304c9..1ef3d0f1b 100644 --- a/src/echarts.js +++ b/src/echarts.js @@ -1,8 +1,8 @@ /** - * TODO processor的优先级 + * TODO visualCoding 的优先级 * setTheme - * stack * axis position 统一处理 + * 规范 Symbol 配置和绘制 */ define(function (require) { @@ -452,6 +452,7 @@ define(function (require) { * @param {*} layout */ registerLayout: function (layout, isFactory) { + // PENDING All functions ? if (isFactory) { if (zrUtil.indexOf(layoutClasses, layout) < 0) { layoutClasses.push(layout); diff --git a/src/model/Model.js b/src/model/Model.js index bbcff080a..bf6685e7b 100644 --- a/src/model/Model.js +++ b/src/model/Model.js @@ -62,17 +62,18 @@ define(function (require) { * @param {string} path * @return {*} */ - get: function (path, parentModel) { + get: function (path) { + if (! path) { + return this.option; + } + if (typeof path === 'string') { path = path.split('.'); } - if (this.option == null) { - return; - } var obj = this.option; for (var i = 0; i < path.length; i++) { - obj = obj[path[i]]; + obj = obj && obj[path[i]]; if (obj == null) { break; } diff --git a/src/chart/scatter/scatterVisual.js b/src/visual/symbol.js similarity index 64% rename from src/chart/scatter/scatterVisual.js rename to src/visual/symbol.js index f9dec896b..de5bdb0d1 100644 --- a/src/chart/scatter/scatterVisual.js +++ b/src/visual/symbol.js @@ -1,12 +1,11 @@ define(function (require) { - require('../../echarts').registerVisualCoding(function (ecModel) { - - ecModel.eachSeriesByType('scatter', function (scatterSeries) { - var symbolType = scatterSeries.get('symbol') || 'circle'; + return function (seriesType, defaultSymbolType, legendSymbol, ecModel, api) { + ecModel.eachSeriesByType(seriesType, function (scatterSeries) { + var symbolType = scatterSeries.get('symbol') || defaultSymbolType; var symbolSize = scatterSeries.get('symbolSize'); scatterSeries.setVisual({ - legendSymbol: symbolType, + legendSymbol: legendSymbol || symbolType, symbol: symbolType, symbolSize: symbolSize }); @@ -16,13 +15,10 @@ define(function (require) { var symbolType = dataItem.get('symbol'); var symbolSize = dataItem.get('symbolSize'); if (typeof symbolSize === 'function') { + var rawValue = dataItem.get('value') || dataItem.get(); dataItem.setVisual({ symbol: symbolType, - symbolSize: symbolSize([ - dataItem.getX(), - dataItem.getY(), - dataItem.getValue() - ]) + symbolSize: symbolSize(rawValue) }); } else if (symbolType && symbolType !== 'none') { @@ -33,5 +29,5 @@ define(function (require) { } }); }); - }); + }; }); \ No newline at end of file -- GitLab