From e336b7e59a8876ad529a02649b990419c27dcde9 Mon Sep 17 00:00:00 2001 From: lang Date: Wed, 16 Mar 2016 11:52:20 +0800 Subject: [PATCH] Marker on pie. Fix #2827 --- src/component/marker/MarkLineView.js | 64 ++++++++++++++++----------- src/component/marker/MarkPointView.js | 43 +++++++++++------- src/component/marker/markerHelper.js | 2 +- src/model/Global.js | 2 - 4 files changed, 64 insertions(+), 47 deletions(-) diff --git a/src/component/marker/MarkLineView.js b/src/component/marker/MarkLineView.js index 60c15fc25..e2d12c27c 100644 --- a/src/component/marker/MarkLineView.js +++ b/src/component/marker/MarkLineView.js @@ -147,7 +147,6 @@ define(function (require) { this.group.add(lineDraw.group); var mlData = createList(coordSys, seriesModel, mlModel); - var dims = coordSys.dimensions; var fromData = mlData.from; var toData = mlData.to; @@ -218,6 +217,7 @@ define(function (require) { ); } else { + var dims = coordSys.dimensions; var x = data.get(dims[0], idx); var y = data.get(dims[1], idx); point = coordSys.dataToPoint([x, y]); @@ -259,40 +259,50 @@ define(function (require) { */ function createList(coordSys, seriesModel, mlModel) { - var coordDimsInfos = zrUtil.map(coordSys.dimensions, function (coordDim) { - var info = seriesModel.getData().getDimensionInfo( - seriesModel.coordDimToDataDim(coordDim)[0] - ); - info.name = coordDim; - return info; - }); + var coordDimsInfos; + if (coordSys) { + coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) { + var info = seriesModel.getData().getDimensionInfo( + seriesModel.coordDimToDataDim(coordDim)[0] + ); + info.name = coordDim; + return info; + }); + } + else { + coordDimsInfos =[{ + name: 'value', + type: 'float' + }]; + } + var fromData = new List(coordDimsInfos, mlModel); var toData = new List(coordDimsInfos, mlModel); // No dimensions var lineData = new List([], mlModel); + var optData = zrUtil.map(mlModel.get('data'), zrUtil.curry( + markLineTransform, seriesModel, coordSys, mlModel + )); if (coordSys) { - var optData = zrUtil.filter( - zrUtil.map(mlModel.get('data'), zrUtil.curry( - markLineTransform, seriesModel, coordSys, mlModel - )), - zrUtil.curry(markLineFilter, coordSys) - ); - fromData.initData( - zrUtil.map(optData, function (item) { return item[0]; }), - null, - markerHelper.dimValueGetter - ); - toData.initData( - zrUtil.map(optData, function (item) { return item[1]; }), - null, - markerHelper.dimValueGetter + optData = zrUtil.filter( + optData, zrUtil.curry(markLineFilter, coordSys) ); - lineData.initData( - zrUtil.map(optData, function (item) { return item[2]; }) - ); - } + var dimValueGetter = coordSys ? markerHelper.dimValueGetter : function (item) { + return item.value; + }; + fromData.initData( + zrUtil.map(optData, function (item) { return item[0]; }), + null, dimValueGetter + ); + toData.initData( + zrUtil.map(optData, function (item) { return item[1]; }), + null, dimValueGetter + ); + lineData.initData( + zrUtil.map(optData, function (item) { return item[2]; }) + ); return { from: fromData, to: toData, diff --git a/src/component/marker/MarkPointView.js b/src/component/marker/MarkPointView.js index 3c5906f9d..0ce267e61 100644 --- a/src/component/marker/MarkPointView.js +++ b/src/component/marker/MarkPointView.js @@ -149,29 +149,38 @@ define(function (require) { * @param {module:echarts/model/Model} mpModel */ function createList(coordSys, seriesModel, mpModel) { - var coordDimsInfos = zrUtil.map(coordSys.dimensions, function (coordDim) { - var info = seriesModel.getData().getDimensionInfo( - seriesModel.coordDimToDataDim(coordDim)[0] - ); - info.name = coordDim; - return info; - }); + var coordDimsInfos; + if (coordSys) { + coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) { + var info = seriesModel.getData().getDimensionInfo( + seriesModel.coordDimToDataDim(coordDim)[0] + ); + info.name = coordDim; + return info; + }); + } + else { + coordDimsInfos =[{ + name: 'value', + type: 'float' + }]; + } var mpData = new List(coordDimsInfos, mpModel); - + var dataOpt = zrUtil.map(mpModel.get('data'), zrUtil.curry( + markerHelper.dataTransform, seriesModel + )); if (coordSys) { - mpData.initData( - zrUtil.filter( - zrUtil.map(mpModel.get('data'), zrUtil.curry( - markerHelper.dataTransform, seriesModel - )), - zrUtil.curry(markerHelper.dataFilter, coordSys) - ), - null, - markerHelper.dimValueGetter + dataOpt = zrUtil.filter( + dataOpt, zrUtil.curry(markerHelper.dataFilter, coordSys) ); } + mpData.initData(dataOpt, null, + coordSys ? markerHelper.dimValueGetter : function (item) { + return item.value; + } + ); return mpData; } diff --git a/src/component/marker/markerHelper.js b/src/component/marker/markerHelper.js index 0e11d6013..d8c69c948 100644 --- a/src/component/marker/markerHelper.js +++ b/src/component/marker/markerHelper.js @@ -154,7 +154,7 @@ define(function (require) { return item.coord && item.coord[dimIndex]; } else { - item.value; + return item.value; } }; diff --git a/src/model/Global.js b/src/model/Global.js index d69d0e350..c5ea0b608 100644 --- a/src/model/Global.js +++ b/src/model/Global.js @@ -748,8 +748,6 @@ define(function (require) { // Components that use _seriesIndices should depends on series component, // which make sure that their initialization is after series. if (!ecModel._seriesIndices) { - // FIXME - // 验证和提示怎么写 throw new Error('Series has not been initialized yet.'); } } -- GitLab