Skip to content

Commit

Permalink
getDataFromOption optimize from #1031
Browse files Browse the repository at this point in the history
  • Loading branch information
kener committed Dec 22, 2014
1 parent 2c7cd5e commit 8a8ca68
Show file tree
Hide file tree
Showing 12 changed files with 35 additions and 149 deletions.
18 changes: 3 additions & 15 deletions src/chart/bar.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
xMarkMap[seriesIndex] = xMarkMap[seriesIndex]
|| {
min: Number.POSITIVE_INFINITY,
Expand Down Expand Up @@ -224,11 +220,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
if (value != '-') {
// 只关心空数据
continue;
Expand Down Expand Up @@ -325,11 +317,7 @@ define(function (require) {

for (var i = 0, l = serie.data.length; i < l; i++) {
var data = serie.data[i];
var value = data != null
? (data.value != null
? data.value
: data)
: '-';
var value = this.getDataFromOption(data, '-');
if (!(value instanceof Array)) {
continue;
}
Expand Down
38 changes: 7 additions & 31 deletions src/chart/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -573,11 +573,7 @@ define(function (require) {
);
}

var value = data != null
? (data.value != null
? data.value
: data)
: '-';
var value = this.getDataFromOption(data, '-');

if (formatter) {
if (typeof formatter === 'function') {
Expand Down Expand Up @@ -750,9 +746,7 @@ define(function (require) {
if (data[i].x == null || data[i].y == null) {
continue;
}
value = data[i] != null && data[i].value != null
? data[i].value
: '';
value = this.getDataFromOption(data[i], '');
// 图例
if (legend) {
color = legend.getColor(serie.name);
Expand Down Expand Up @@ -884,9 +878,7 @@ define(function (require) {

// 组装一个mergeData
mergeData = this.deepMerge(data[i]);
value = mergeData != null && mergeData.value != null
? mergeData.value
: '';
value = this.getDataFromOption(mergeData, '');
// 值域
if (dataRange) {
color = isNaN(value) ? color : dataRange.getColor(value);
Expand Down Expand Up @@ -972,11 +964,7 @@ define(function (require) {
orient // 走向,用于默认文字定位
) {
var queryTarget = [data, serie];
var value = data != null
? (data.value != null
? data.value
: data)
: '-';
var value = this.getDataFromOption(data, '-');

symbol = this.deepQuery(queryTarget, 'symbol') || symbol;
var symbolSize = this.deepQuery(queryTarget, 'symbolSize');
Expand Down Expand Up @@ -1114,16 +1102,8 @@ define(function (require) {
xEnd, yEnd, // 坐标
color // 默认color,来自legend或dataRange全局分配
) {
var value0 = data[0] != null
? (data[0].value != null
? data[0].value
: data[0])
: '-';
var value1 = data[1] != null
? (data[1].value != null
? data[1].value
: data[1])
: '-';
var value0 = this.getDataFromOption(data[0], '-');
var value1 = this.getDataFromOption(data[1], '-');
var symbol = [
this.query(data[0], 'symbol') || mlOption.symbol[0],
this.query(data[1], 'symbol') || mlOption.symbol[1]
Expand Down Expand Up @@ -1265,11 +1245,7 @@ define(function (require) {
}
// 值域
if (dataRange) {
value = data[0] != null
? (data[0].value != null
? data[0].value
: data[0])
: '-';
value = this.getDataFromOption(data[0], '-');
color = isNaN(value) ? color : dataRange.getColor(value);

nColor = this.deepQuery(
Expand Down
3 changes: 1 addition & 2 deletions src/chart/gauge.js
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,7 @@ define(function (require) {
},

_getValue: function(seriesIndex) {
var data = this.series[seriesIndex].data[0];
return data.value != null ? data.value : data;
return this.getDataFromOption(this.series[seriesIndex].data[0]);
},

/**
Expand Down
6 changes: 1 addition & 5 deletions src/chart/k.js
Original file line number Diff line number Diff line change
Expand Up @@ -168,11 +168,7 @@ define(function (require) {
}

data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
if (value === '-' || value.length != 4) {
// 数据格式不符
continue;
Expand Down
30 changes: 5 additions & 25 deletions src/chart/line.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
curPLMap[seriesIndex] = curPLMap[seriesIndex] || [];
xMarkMap[seriesIndex] = xMarkMap[seriesIndex]
|| {
Expand Down Expand Up @@ -156,11 +152,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
if (value != '-') {
// 只关心空数据
continue;
Expand Down Expand Up @@ -233,11 +225,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
curPLMap[seriesIndex] = curPLMap[seriesIndex] || [];
xMarkMap[seriesIndex] = xMarkMap[seriesIndex]
|| {
Expand Down Expand Up @@ -302,11 +290,7 @@ define(function (require) {
seriesIndex = locationMap[j][m];
serie = series[seriesIndex];
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
if (value != '-') {
// 只关心空数据
continue;
Expand Down Expand Up @@ -377,11 +361,7 @@ define(function (require) {

for (var i = 0, l = serie.data.length; i < l; i++) {
var data = serie.data[i];
var value = data != null
? (data.value != null
? data.value
: data)
: '-';
var value = this.getDataFromOption(data, '-');
if (!(value instanceof Array)) {
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion src/chart/radar.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@

var value;
for (var i = 0, l = dataArr.value.length; i < l; i++) {
value = dataArr.value[i].value != null ? dataArr.value[i].value : dataArr.value[i];
value = this.getDataFromOption(dataArr.value[i]);
vector = value != '-'
? polar.getVector(polarIndex, i, value)
: false;
Expand Down
6 changes: 1 addition & 5 deletions src/chart/scatter.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,7 @@ define(function (require) {
pointList[seriesIndex] = [];
for (var i = 0, l = serie.data.length; i < l; i++) {
data = serie.data[i];
value = data != null
? (data.value != null
? data.value
: data)
: '-';
value = this.getDataFromOption(data, '-');
if (value === '-' || value.length < 2) {
// 数据格式不符
continue;
Expand Down
23 changes: 4 additions & 19 deletions src/component/categoryAxis.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ define(function (require) {
CategoryAxis.prototype = {
type : ecConfig.COMPONENT_TYPE_AXIS_CATEGORY,
_getReformedLabel : function (idx) {
var data = typeof this.option.data[idx].value != 'undefined'
? this.option.data[idx].value
: this.option.data[idx];
var data = this.getDataFromOption(this.option.data[idx]);
var formatter = this.option.data[idx].formatter
|| this.option.axisLabel.formatter;
if (formatter) {
Expand Down Expand Up @@ -594,10 +592,7 @@ define(function (require) {
var position = this.option.boundaryGap ? (gap / 2) : 0;

for (var i = 0; i < dataLength; i++) {
if (data[i] == value
|| (typeof data[i].value != 'undefined'
&& data[i].value == value)
) {
if (this.getDataFromOption(data[i]) == value) {
if (this.isHorizontal()) {
// 横向
position = this.grid.getX() + position;
Expand Down Expand Up @@ -662,14 +657,7 @@ define(function (require) {

// 根据类目轴数据索引换算类目轴名称
getNameByIndex : function (dataIndex) {
var data = this.option.data[dataIndex];
if (typeof data != 'undefined' && typeof data.value != 'undefined')
{
return data.value;
}
else {
return data;
}
return this.getDataFromOption(this.option.data[dataIndex]);
},

// 根据类目轴名称换算类目轴数据索引
Expand All @@ -678,10 +666,7 @@ define(function (require) {
var dataLength = data.length;

for (var i = 0; i < dataLength; i++) {
if (data[i] == name
|| (typeof data[i].value != 'undefined'
&& data[i].value == name)
) {
if (this.getDataFromOption(data[i]) == name) {
return i;
}
}
Expand Down
22 changes: 4 additions & 18 deletions src/component/dataView.js
Original file line number Diff line number Diff line change
Expand Up @@ -171,11 +171,7 @@ define(function (require) {
if ((axisList[i].type || 'category') == 'category') {
valueList = [];
for (j = 0, k = axisList[i].data.length; j < k; j++) {
data = axisList[i].data[j];
valueList.push(
typeof data.value != 'undefined'
? data.value : data
);
valueList.push(this.getDataFromOption(axisList[i].data[j]));
}
content += valueList.join(', ') + '\n\n';
}
Expand All @@ -192,11 +188,7 @@ define(function (require) {
if (axisList[i].type == 'category') {
valueList = [];
for (j = 0, k = axisList[i].data.length; j < k; j++) {
data = axisList[i].data[j];
valueList.push(
typeof data.value != 'undefined'
? data.value : data
);
valueList.push(this.getDataFromOption(axisList[i].data[j]));
}
content += valueList.join(', ') + '\n\n';
}
Expand All @@ -219,15 +211,9 @@ define(function (require) {
}

if (series[i].type == ecConfig.CHART_TYPE_SCATTER) {
data = typeof data.value != 'undefined'
? data.value
: data;
data = data.join(', ');
data = this.getDataFromOption(data).join(', ');
}
valueList.push(
itemName
+ (typeof data.value != 'undefined' ? data.value : data)
);
valueList.push(itemName + this.getDataFromOption(data));
}
content += (series[i].name || '-') + ' : \n';
content += valueList.join(
Expand Down
9 changes: 2 additions & 7 deletions src/component/polar.js
Original file line number Diff line number Diff line change
Expand Up @@ -725,18 +725,13 @@ define(function (require) {
}
if (data.length != 1) {
for (var i = 0; i < data.length; i ++) {
value = typeof data[i].value[index].value != 'undefined'
? data[i].value[index].value : data[i].value[index];
_compare(value);
_compare(this.getDataFromOption(data[i].value[index]));
}
}
else {
one = data[0];
for (var i = 0; i < one.value.length; i ++) {
_compare(
typeof one.value[i].value != 'undefined'
? one.value[i].value : one.value[i]
);
_compare(this.getDataFromOption(one.value[i]));
}
}

Expand Down
19 changes: 4 additions & 15 deletions src/component/tooltip.js
Original file line number Diff line number Diff line change
Expand Up @@ -641,9 +641,7 @@ define(function (require) {
var params = [];
for (var i = 0, l = seriesArray.length; i < l; i++) {
data = seriesArray[i].data[dataIndex];
value = data != null
? (data.value != null ? data.value : data)
: '-';
value = this.getDataFromOption(data, '-');

params.push({
seriesIndex: seriesIndex[i],
Expand Down Expand Up @@ -680,11 +678,7 @@ define(function (require) {
this._encodeHTML(categoryAxis.getNameByIndex(dataIndex))
);
data = seriesArray[i].data[dataIndex];
data = data != null
? (data.value != null
? data.value
: data)
: '-';
data = this.getDataFromOption(data, '-');
formatter = formatter.replace(
'{c' + i + '}',
data instanceof Array
Expand All @@ -704,11 +698,7 @@ define(function (require) {
+ this._encodeHTML(seriesArray[i].name || '')
+ ' : ';
data = seriesArray[i].data[dataIndex];
data = data != null
? (data.value != null
? data.value
: data)
: '-';
data = this.getDataFromOption(data, '-');
formatter += data instanceof Array
? data : this.numAddCommas(data);
}
Expand Down Expand Up @@ -795,8 +785,7 @@ define(function (require) {
data = data != null
? data
: {name:'', value: {dataIndex:'-'}};
value = data.value[dataIndex].value != null
? data.value[dataIndex].value : data.value[dataIndex];
value = this.getDataFromOption(data.value[dataIndex]);
params.push({
seriesIndex: seriesIndex[i],
seriesName: seriesArray[i].name || '',
Expand Down
Loading

0 comments on commit 8a8ca68

Please sign in to comment.