提交 fad7a5ac 编写于 作者: L lang

一些优化

上级 991112ae
......@@ -78,7 +78,6 @@ define(function(require) {
var p2 = [];
var lineStyleModel = axisModel.getModel('axisLine.lineStyle');
var lineWidth = lineStyleModel.get('width');
var coordExtent = axis.getExtent();
if (axis.isHorizontal()) {
......
......@@ -19,11 +19,11 @@ define(function(require) {
var list = new List();
zrUtil.each(option.data, function (dataItem) {
if (typeof dataItem === 'string') {
list.append(dataItem, {});
}
else {
list.append(dataItem.name, dataItem);
dataItem = {
name: dataItem
};
}
list.add(dataItem, this);
});
/**
......
......@@ -178,65 +178,51 @@ define(function(require, factory) {
var leftUsed = false;
var bottomUsed = false;
var xAxesMap = {};
var yAxesMap = {};
var xAxesCount = 0;
var yAxesCount = 0;
ecModel.eachComponent('xAxis', function (xAxisModel, idx) {
if (!isAxisUsedInTheGrid(xAxisModel, gridModel, ecModel)) {
return;
}
var axesMap = {
x: {},
y: {}
};
var axesCount = {
x: 0,
y: 0
};
// Create x axis
var xAxisPosition = xAxisModel.get('position') || (bottomUsed ? 'top' : 'bottom');
bottomUsed = xAxisPosition === 'bottom';
var axisX = new Axis2D(
'x', createScaleByModel(xAxisModel),
[0, 0],
xAxisModel.get('type'),
xAxisPosition
);
axisX.onBand = xAxisModel.get('boundaryGap') && axisX.type === 'category';
axisX.inverse = xAxisModel.get('inverse');
function createAxisCreator(axisType) {
return function (axisModel, idx) {
if (!isAxisUsedInTheGrid(axisModel, gridModel, ecModel)) {
return;
}
// Inject axis into axisModel
xAxisModel.axis = axisX;
var axisPosition = axisType === 'x'
? axisModel.get('position') || (bottomUsed ? 'top' : 'bottom')
: axisModel.get('position') || (leftUsed ? 'right' : 'left');
this._axesList.push(axisX);
this._axesMap['x' + idx] = axisX;
var axis = new Axis2D(
axisType, createScaleByModel(axisModel),
[0, 0],
axisModel.get('type'),
axisPosition
);
xAxesMap[idx] = axisX;
xAxesCount++;
}, this);
axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';
axis.inverse = axisModel.get('inverse');
ecModel.eachComponent('yAxis', function (yAxisModel, idx) {
if (!isAxisUsedInTheGrid(yAxisModel, gridModel, ecModel)) {
return;
}
// Inject axis into axisModel
axisModel.axis = axis;
// Create y axis
var yAxisPosition = yAxisModel.get('position') || (leftUsed ? 'right' : 'left');
leftUsed = yAxisPosition === 'left';
var axisY = new Axis2D(
'y', createScaleByModel(yAxisModel),
[0, 0],
yAxisModel.get('type'),
yAxisModel.get('position')
);
axisY.onBand = yAxisModel.get('boundaryGap') && axisY.type === 'category';
axisY.inverse = yAxisModel.get('inverse');
this._axesList.push(axis);
this._axesMap[axisType + idx] = axis;
yAxisModel.axis = axisY;
axesMap[axisType][idx] = axis;
axesCount[axisType]++;
}
}
this._axesList.push(axisY);
this._axesMap['y' + idx] = axisY;
ecModel.eachComponent('xAxis', createAxisCreator('x'), this);
yAxesMap[idx] = axisY;
yAxesCount++;
}, this);
ecModel.eachComponent('yAxis', createAxisCreator('y'), this);
if (! xAxesCount || ! yAxesCount) {
if (! axesCount.x || ! axesCount.y) {
api.log('Grid must has at least one x axis and one y axis');
// Roll back
this._axesMap = {};
......@@ -244,8 +230,8 @@ define(function(require, factory) {
return;
}
zrUtil.each(xAxesMap, function (xAxis, xAxisIndex) {
zrUtil.each(yAxesMap, function (yAxis, yAxisIndex) {
zrUtil.each(axesMap.x, function (xAxis, xAxisIndex) {
zrUtil.each(axesMap.y, function (yAxis, yAxisIndex) {
var key = 'x' + xAxisIndex + 'y' + yAxisIndex;
var cartesian = new Cartesian2D(key);
this._coordsMap[key] = cartesian;
......
......@@ -238,12 +238,12 @@ define(function(require) {
/**
* Create and add a new entry
* @param {Object} option
* @param {module:echarts/model/Series} seriesModel
* @param {module:echarts/model/Model} parentModel
* @return {module:echarts/data/List~Entry}
*/
add: function (option, seriesModel) {
add: function (option, parentModel) {
var elements = this.elements;
var entry = new Entry(option, seriesModel, elements.length, this.dimensions, this.value);
var entry = new Entry(option, parentModel, elements.length, this.dimensions, this.value);
elements.push(entry);
return entry;
},
......@@ -300,18 +300,6 @@ define(function(require) {
}
},
/**
* @param {string} name
* @param {*} option
*/
append: function (name, option) {
var elements = this.elements;
var el = new Entry(option, null, elements.length);
el.name = name;
elements.push(el);
return el;
},
/**
* Get the diff result with the old list data
* @param {module:echarts/data/List} oldList
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册