提交 b84c8afc 编写于 作者: L lang

Merge branch 'master' of https://github.com/pissang/echarts-next

......@@ -9,7 +9,7 @@ define(function (require) {
echarts.registerAction(actionInfo, function (payload, ecModel) {
ecModel.eachComponent(
{mainType: 'series', subType: seriesType, payload: payload},
{mainType: 'series', subType: seriesType, query: payload},
function (seriesModel) {
if (seriesModel.toggleSelected) {
seriesModel.toggleSelected(payload.name);
......
......@@ -20,7 +20,7 @@ define(function (require) {
*/
echarts.registerAction(actionInfo, function (payload, ecModel) {
ecModel.eachComponent({mainType: 'series', payload: payload}, function (seriesModel) {
ecModel.eachComponent({mainType: 'series', query: payload}, function (seriesModel) {
var coordSys = seriesModel.coordinateSystem;
var roamDetailModel = seriesModel.getModel('roamDetail');
......
......@@ -71,12 +71,18 @@ define(function(require) {
polar: function (data, seriesModel, ecModel) {
var dimensions = [];
var categoryAxisModel;
var polarIndex = seriesModel.get('polarIndex') || 0;
var axisFinder = function (axisModel) {
return axisModel.get('polarIndex') === polarIndex;
};
var polarIndex = seriesModel.get('polarIndex') || 0;
var angleAxisModel = ecModel.findComponent('angleAxis', axisFinder);
var radiusAxisModel = ecModel.findComponent('radiusAxis', axisFinder);
var angleAxisModel = ecModel.findComponents({
mainType: 'angleAxis', filter: axisFinder
})[0];
var radiusAxisModel = ecModel.findComponents({
mainType: 'radiusAxis', filter: axisFinder
})[0];
var isRadiusAxisCategory = radiusAxisModel.get('type') === 'category';
if (angleAxisModel.get('type') === 'category') {
......
......@@ -72,7 +72,11 @@
* @override
*/
render: function (seriesModel, ecModel, api, payload) {
if (helper.irrelevant(payload, seriesModel)) {
var models = ecModel.findComponents({
mainType: 'series', subType: 'treemap', query: payload
});
if (zrUtil.indexOf(models, seriesModel) < 0) {
return;
}
......
......@@ -2,26 +2,7 @@ define(function (require) {
var helper = {
irrelevant: function (payload, seriesModel) {
// It is irrelavant only when seriesID or seriesName is
// specified and not equals to seriesModel's.
return payload
&& (
payload.seriesId != null
? seriesModel.getId() !== payload.seriesId
: payload.seriesName != null
// FIXME
// seriesModel.getId() ???
? payload.seriesName !== seriesModel.get('name')
: false
);
},
retrieveTargetInfo: function (payload, seriesModel) {
if (helper.irrelevant(payload, seriesModel)) {
return;
}
if (!payload || payload.type !== 'treemapZoomToNode') {
return;
}
......
......@@ -16,11 +16,8 @@ define(function (require) {
function update(ecModel, api, payload) {
// Layout result in each node:
// {x, y, width, height, area, borderWidth}
ecModel.eachSeriesByType('treemap', function (seriesModel) {
if (helper.irrelevant(payload, seriesModel)) {
return;
}
var condition = {mainType: 'series', subType: 'treemap', query: payload};
ecModel.eachComponent(condition, function (seriesModel) {
var ecWidth = api.getWidth();
var ecHeight = api.getHeight();
......@@ -203,7 +200,7 @@ define(function (require) {
orderBy !== 'asc' && orderBy !== 'desc' && (orderBy = null);
if (options.hideChildren) {
return node.viewChildren = [];
return (node.viewChildren = []);
}
// Sort children, order by desc.
......@@ -335,7 +332,8 @@ define(function (require) {
var areaMin = Infinity;
for (var i = 0, area, len = row.length; i < len; i++) {
if (area = row[i].getLayout().area) {
area = row[i].getLayout().area;
if (area) {
area < areaMin && (areaMin = area);
area > areaMax && (areaMax = area);
}
......@@ -416,7 +414,7 @@ define(function (require) {
var viewArea = containerWidth * containerHeight;
var area = viewArea * seriesModel.get('zoomToNodeRatio');
while (parent = currNode.parentNode) {
while (parent = currNode.parentNode) { // jshint ignore:line
var sum = 0;
var siblings = parent.children;
......
......@@ -3,17 +3,14 @@ define(function (require) {
var VisualMapping = require('../../visual/VisualMapping');
var zrColor = require('zrender/tool/color');
var zrUtil = require('zrender/core/util');
var helper = require('./helper');
var isArray = zrUtil.isArray;
var ITEM_STYLE_NORMAL = 'itemStyle.normal';
return function (ecModel, payload) {
ecModel.eachSeriesByType('treemap', function (seriesModel) {
if (helper.irrelevant(payload, seriesModel)) {
return;
}
var condition = {mainType: 'series', subType: 'treemap', query: payload};
ecModel.eachComponent(condition, function (seriesModel) {
var tree = seriesModel.getData().tree;
var root = tree.root;
......
......@@ -248,26 +248,9 @@ define(function(require) {
// Because series and data may be modified in processing stage.
// So we do not support the feature "auto min/max".
// var dataExtent = [Infinity, -Infinity];
// zrUtil.each(thisOption.seriesIndex, function (seriesIndex) {
// var data = this.ecModel.getSeriesByIndex(seriesIndex).getData();
// // FIXME
// // 只考虑了list
// if (data.type === 'list') {
// var oneExtent = data.getDataExtent(this.getDataDimension(data));
// oneExtent[0] < dataExtent[0] && (dataExtent[0] = oneExtent[0]);
// oneExtent[1] > dataExtent[1] && (dataExtent[1] = oneExtent[1]);
// }
// }, this);
var extent = asc([thisOption.min, thisOption.max]);
// extent[0] = Math.max(extent[0], dataExtent[0]);
// extent[1] = Math.min(extent[1], dataExtent[1]);
this._dataExtent = extent;
},
/**
......@@ -442,7 +425,7 @@ define(function(require) {
*/
eachTargetSeries: function (callback, context) {
zrUtil.each(this.option.seriesIndex, function (seriesIndex) {
callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex, true));
callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex));
}, this);
},
......
......@@ -14,7 +14,7 @@ define(function(require) {
echarts.registerAction(actionInfo, function (payload, ecModel) {
ecModel.eachComponent({mainType: 'dataRange', payload: payload}, function (model) {
ecModel.eachComponent({mainType: 'dataRange', query: payload}, function (model) {
model.setSelected(payload.selected);
});
......
......@@ -237,7 +237,7 @@ define(function (require) {
}
var size = this._size;
var data = info.series.getDataAll();
var data = info.series.getRawData();
var otherDataExtent = data.getDataExtent(info.otherDim);
// Nice extent.
......
......@@ -21,7 +21,7 @@ define(function(require) {
var effectedModels = [];
ecModel.eachComponent({mainType: 'dataZoom', payload: payload}, function (model) {
ecModel.eachComponent({mainType: 'dataZoom', query: payload}, function (model) {
distinctPush(effectedModels, linkedNodesFinder(model).nodes);
});
......
......@@ -86,7 +86,7 @@ define(function (require) {
var legendDrawedMap = {};
zrUtil.each(legendModel.getData(), function (itemModel) {
var seriesName = itemModel.get('name');
var seriesModel = ecModel.getSeriesByName(seriesName, true);
var seriesModel = ecModel.getSeriesByName(seriesName)[0];
legendDataMap[seriesName] = itemModel;
......@@ -126,7 +126,7 @@ define(function (require) {
legendDrawedMap[seriesName] = true;
}, this);
ecModel.eachSeriesAll(function (seriesModel) {
ecModel.eachRawSeries(function (seriesModel) {
if (seriesModel.legendDataProvider) {
var data = seriesModel.legendDataProvider();
data.each(function (idx) {
......
......@@ -12,7 +12,7 @@ define(function (require) {
/**
* @overrite
*/
init: function (option, parentModel, ecModel, dependentModels, idx, createdBySelf) {
init: function (option, parentModel, ecModel, extraOpt, createdBySelf) {
this.mergeDefaultAndTheme(option, ecModel);
this.mergeOption(option, createdBySelf);
},
......@@ -26,7 +26,7 @@ define(function (require) {
var mlModel = seriesModel.markLineModel;
if (!mlModel) {
mlModel = new MarkLineModel(
markLineOpt, this, ecModel, [], 0, true
markLineOpt, this, ecModel, {}, true
);
}
else {
......
......@@ -11,7 +11,7 @@ define(function (require) {
/**
* @overrite
*/
init: function (option, parentModel, ecModel, dependentModels, idx, createdBySelf) {
init: function (option, parentModel, ecModel, extraOpt, createdBySelf) {
this.mergeDefaultAndTheme(option, ecModel);
this.mergeOption(option, createdBySelf);
},
......@@ -25,7 +25,7 @@ define(function (require) {
var mpModel = seriesModel.markPointModel;
if (!mpModel) {
mpModel = new MarkPointModel(
markPointOpt, this, ecModel, [], 0, true
markPointOpt, this, ecModel, {}, true
);
}
else {
......
......@@ -218,9 +218,7 @@ define(function (require) {
// Use hostModel in element if possible
// Used when mouseover on a element like markPoint or edge
// In which case, the data is not main data in series.
var hostModel = el.hostModel || ecModel.getSeriesByIndex(
el.seriesIndex, true
);
var hostModel = el.hostModel || ecModel.getSeriesByIndex(el.seriesIndex);
var dataIndex = el.dataIndex;
var itemModel = hostModel.getData().getItemModel(dataIndex);
// Series or single data may use item trigger when global is axis trigger
......@@ -262,7 +260,7 @@ define(function (require) {
if (axisPointerType === 'cross') {
var el = e.target;
if (el && el.dataIndex != null) {
var seriesModel = ecModel.getSeriesByIndex(el.seriesIndex, true);
var seriesModel = ecModel.getSeriesByIndex(el.seriesIndex);
var dataIndex = el.dataIndex;
this._showItemTooltipContent(seriesModel, dataIndex, e);
}
......
......@@ -47,7 +47,7 @@ define(function(require) {
/**
* @override
*/
init: function (option, parentModel, ecModel, dependentModels, index) {
init: function () {
Component.prototype.init.apply(this, arguments);
this.mergeOption({});
......
......@@ -290,19 +290,17 @@ define(function (require) {
*/
echartsProto._toggleHighlight = function (method, payload) {
var ecModel = this._model;
var seriesModel;
if (payload.seriesIndex) {
seriesModel = ecModel.getSeriesByIndex(payload.seriesIndex, true);
}
else if (payload.seriesName) {
seriesModel = ecModel.getSeriesByName(payload.seriesName, true);
}
if (seriesModel) {
var chartView = this._chartsMap[seriesModel.getId()];
if (chartView) {
chartView[method](seriesModel, ecModel, this._api, payload);
}
}
ecModel.eachComponent(
{mainType: 'series', query: payload},
function (seriesModel) {
var chartView = this._chartsMap[seriesModel.getId()];
if (chartView) {
chartView[method](seriesModel, ecModel, this._api, payload);
}
},
this
);
};
/**
......@@ -543,9 +541,7 @@ define(function (require) {
var ecModel = this.getModel();
var el = e.target;
if (el && el.dataIndex != null) {
var hostModel = el.hostModel || ecModel.getSeriesByIndex(
el.seriesIndex, true
);
var hostModel = el.hostModel || ecModel.getSeriesByIndex(el.seriesIndex);
var params = hostModel && hostModel.getDataParams(el.dataIndex) || {};
params.event = e;
params.type = eveName;
......
......@@ -131,8 +131,9 @@ define(function(require) {
zrUtil.filter(
ecModel.getSeriesByType(seriesType),
function (seriesModel) {
return seriesModel.coordinateSystem
&& seriesModel.coordinateSystem.type === 'cartesian2d';
return !ecModel.isSeriesFiltered(seriesModel)
&& seriesModel.coordinateSystem
&& seriesModel.coordinateSystem.type === 'cartesian2d';
}
)
);
......
......@@ -49,7 +49,7 @@ define(function(require) {
* @readOnly
* @type {number}
*/
componentIndex: null,
componentIndex: 0,
/**
* @type {Object}
......@@ -69,7 +69,7 @@ define(function(require) {
* @type {Object.<string, Array.<module:echarts/model/Model>>}
* @readOnly
*/
dependentModels: null,
dependentModels: [],
/**
* @type {string}
......@@ -77,7 +77,7 @@ define(function(require) {
*/
uid: null,
init: function (option, parentModel, ecModel, dependentModels, index) {
init: function (option, parentModel, ecModel, extraOpt) {
this.mergeDefaultAndTheme(this.option, this.ecModel);
},
......@@ -119,16 +119,9 @@ define(function(require) {
// Reset ComponentModel.extend, add preConstruct.
clazzUtil.enableClassExtend(
ComponentModel,
function (option, parentModel, ecModel, dependentModels, index, keyInfo) {
this.ecModel = ecModel;
this.dependentModels = dependentModels;
this.componentIndex = index;
this.name = keyInfo.name;
this.id = keyInfo.id;
this.mainType = keyInfo.mainType;
this.subType = keyInfo.subType;
function (option, parentModel, ecModel, extraOpt) {
// Set dependentModels, componentIndex, name, id, mainType, subType.
zrUtil.extend(this, extraOpt);
this.uid = componentUtil.getUID('componentModel');
}
......
......@@ -5,14 +5,13 @@
*
*/
// FIXME Filter 后 series 是否能够被 getComponent 或者 getComponenentById 获取?
define(function (require) {
var zrUtil = require('zrender/core/util');
var Model = require('./Model');
var each = zrUtil.each;
var filter = zrUtil.filter;
var map = zrUtil.map;
var ComponentModel = require('./Component');
......@@ -42,11 +41,12 @@ define(function (require) {
this._componentsMap = {};
/**
* All components before processing
* @type {Object.<string, module:echarts/model/Model>}
* Mapping between filtered series list and raw series list.
* key: filtered series indices, value: raw series indices.
* @type {Array.<nubmer>}
* @private
*/
this._componentsMapAll = {};
this._seriesIndices;
/**
* @type {module:echarts/model/Model}
......@@ -130,6 +130,8 @@ define(function (require) {
mainType, newCptOptionList, existComponents
);
var dependentModels = this._getComponentsByTypes(dependencies);
each(newCptOptionList, function (newCptOption, index) {
var componentModel = existComponents[index];
......@@ -144,18 +146,23 @@ define(function (require) {
// PENDING Global as parent ?
componentModel = new ComponentModelClass(
newCptOption, this, this,
this._getComponentsByTypes(dependencies),
index, keyInfoList[index]
zrUtil.extend(
{
dependentModels: dependentModels,
componentIndex: index
},
keyInfoList[index]
)
);
componentsMap[mainType][index] = componentModel;
}
}, this);
}
// Backup data
each(componentsMap, function (components, mainType) {
this._componentsMapAll[mainType] = components.slice();
}, this);
// Backup series for filtering.
if (mainType === 'series') {
this._seriesIndices = createSeriesIndices(componentsMap.series);
}
}
},
/**
......@@ -345,13 +352,60 @@ define(function (require) {
});
}
var subType = condition.subType;
return filterBySubType(result, condition);
},
return subType == null
? result
: filter(result, function (cpt) {
return cpt.subType === subType;
});
/**
* The interface is different from queryComponents,
* which is convenient for inner usage.
*
* @usage
* findComponents(
* {mainType: 'dataZoom', query: {dataZoomId: 'abc'}},
* function (model, index) {...}
* );
* findComponents(
* {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}},
* function (model, index) {...}
* );
* findComponents(
* {mainType: 'series'},
* function (model, index) {...}
* );
*
* @param {Object} condition
* @param {string} condition.mainType Mandatory.
* @param {string} [condition.subType] Optional.
* @param {Object} [condition.query] like {xxxIndex, xxxId, xxxName},
* where xxx is mainType.
* If query attribute is null/undefined, do not filtering by
* query conditions, which is convenient for no-payload
* situations like visual coding, layout.
* @param {Function} [condition.filter] parameter: component, return boolean.
*/
findComponents: function (condition) {
var mainType = condition.mainType;
var query = condition.query;
var result;
if (query) {
condition.index = query[mainType + 'Index'];
condition.id = query[mainType + 'Id'];
condition.name = query[mainType + 'Name'];
result = this.queryComponents(condition);
}
else {
result = filterBySubType(
this._componentsMap[mainType], condition
);
}
if (condition.filter) {
result = filter(result, condition.filter);
}
return result;
},
/**
......@@ -364,107 +418,65 @@ define(function (require) {
* // (componentType is 'xxx' but not 'xxx.aa')
* });
* eachComponent(
* {mainType: 'dataZoom', payload: {dataZoomId: 'abc'}},
* {mainType: 'dataZoom', query: {dataZoomId: 'abc'}},
* function (model, index) {...}
* );
* eachComponent(
* {mainType: 'series', subType: 'pie', payload: {seriesName: 'uio'}},
* {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}},
* function (model, index) {...}
* );
*
* @param {string=} mainType
* @param {string|Object=} mainType When mainType is object, the definition
* is the same as the method 'findComponents'.
* @param {Function} cb
* @param {*} context
*/
eachComponent: function (mainType, cb, context) {
var componentsMap = this._componentsMap;
if (typeof mainType === 'function') {
context = cb;
cb = mainType;
each(this._componentsMap, function (components, componentType) {
each(componentsMap, function (components, componentType) {
each(components, function (component, index) {
cb.call(this, componentType, component, index);
}, this);
}, context);
cb.call(context, componentType, component, index);
});
});
}
else if (zrUtil.isString(mainType)) {
each(this._componentsMap[mainType], cb, context);
each(componentsMap[mainType], cb, context);
}
// Query by payload.
else if (zrUtil.isObject(mainType)) {
var condition = zrUtil.extend({}, mainType);
var payload = condition.payload;
var mainType = condition.mainType;
// Style in payload: xxxIndex, xxxId, xxxName,
// where xxx is mainType.
condition.index = payload[mainType + 'Index'];
condition.id = payload[mainType + 'Id'];
condition.name = payload[mainType + 'Name'];
each(this.queryComponents(condition), cb, context);
}
},
/**
* @param {string} mainType
* @param {Function} cb
* @param {*} context
* @return {module:echarts/model/Component}
*/
findComponent: function (mainType, cb, context) {
var components = this._componentsMap[mainType];
if (components) {
for (var i = 0, len = components.length; i < len; i++) {
if (cb.call(context, components[i], i)) {
// Return first found
return components[i];
}
}
each(this.findComponents(mainType), cb, context);
}
},
/**
* @param {string} name
* @param {boolean} beforeProcessing
* @return {module:echarts/model/Series}
* @return {Array.<module:echarts/model/Series>}
*/
getSeriesByName: function (name, beforeProcessing) {
var series = this['_componentsMap' + (beforeProcessing ? 'All' : '')].series;
for (var i = 0, len = series.length; i < len; i++) {
// name should be unique.
if (series[i].name === name) {
return series[i];
}
}
getSeriesByName: function (name) {
var series = this._componentsMap.series;
return filter(series, function (oneSeries) {
return oneSeries.name === name;
});
},
// FIXME Index of series is confusing
/**
* @param {number} seriesIndex
* @param {boolean} beforeProcessing
* @return {module:echarts/model/Series}
*/
getSeriesByIndex: function (seriesIndex, beforeProcessing) {
// return this._componentsMap.series[seriesIndex];
var series = this['_componentsMap' + (beforeProcessing ? 'All' : '')].series;
for (var i = 0, len = series.length; i < len; i++) {
// name should be unique.
if (series[i].seriesIndex === seriesIndex) {
return series[i];
}
}
getSeriesByIndex: function (seriesIndex) {
return this._componentsMap.series[seriesIndex];
},
/**
* @param {string} subType
* @param {boolean} beforeProcessing
* @return {Array.<module:echarts/model/Series>}
*/
getSeriesByType: function (subType, beforeProcessing) {
var series = this['_componentsMap' + (beforeProcessing ? 'All' : '')].series;
return zrUtil.filter(series, function (oneSeries) {
getSeriesByType: function (subType) {
var series = this._componentsMap.series;
return filter(series, function (oneSeries) {
return oneSeries.subType === subType;
});
},
......@@ -477,46 +489,65 @@ define(function (require) {
},
/**
* After filtering, series may be different
* frome raw series.
*
* @param {Function} cb
* @param {*} context
*/
eachSeries: function (cb, context) {
each(this._componentsMap.series, cb, context);
assertSeriesInitialized(this);
each(this._seriesIndices, function (rawSeriesIndex) {
var series = this._componentsMap.series[rawSeriesIndex];
cb.call(context, series, rawSeriesIndex);
}, this);
},
/**
* Iterate all series before filtered
* Iterate raw series before filtered.
*
* @param {Function} cb
* @param {*} context
*/
eachSeriesAll: function (cb, context) {
each(this._componentsMapAll.series, cb, context);
eachRawSeries: function (cb, context) {
each(this._componentsMap.series, cb, context);
},
/**
* After filtering, series may be different.
* frome raw series.
*
* @parma {string} subType
* @param {Function} cb
* @param {*} context
*/
eachSeriesByType: function (subType, cb, context) {
return each(this.getSeriesByType(subType), cb, context);
assertSeriesInitialized(this);
each(this._seriesIndices, function (rawSeriesIndex) {
var series = this._componentsMap.series[rawSeriesIndex];
if (series.subType === subType) {
cb.call(context, series, rawSeriesIndex);
}
}, this);
},
/**
* Iterate all series before filtered of given type
* Iterate raw series before filtered of given type.
*
* @parma {string} subType
* @param {Function} cb
* @param {*} context
*/
eachSeriesByTypeAll: function (subType, cb, context) {
return each(this.getSeriesByType(subType, true), cb, context);
eachRawSeriesByType: function (subType, cb, context) {
return each(this.getSeriesByType(subType), cb, context);
},
/**
* @param {}
* @param {module:echarts/model/Series} seriesModel
*/
isSeriesFiltered: function (seriesModel) {
return zrUtil.indexOf(this._componentsMap.series, seriesModel) < 0;
assertSeriesInitialized(this);
return zrUtil.indexOf(this._seriesIndices, seriesModel.componentIndex) < 0;
},
/**
......@@ -524,18 +555,20 @@ define(function (require) {
* @param {*} context
*/
filterSeries: function (cb, context) {
var componentsMap = this._componentsMap;
componentsMap.series = zrUtil.filter(
componentsMap.series, cb, context
assertSeriesInitialized(this);
var filteredSeries = filter(
this._componentsMap.series, cb, context
);
this._seriesIndices = createSeriesIndices(filteredSeries);
},
restoreData: function () {
var componentsMap = this._componentsMap;
var componentTypes = [];
each(this._componentsMapAll, function (components, componentType) {
componentsMap[componentType] = components.slice();
this._seriesIndices = createSeriesIndices(componentsMap.series);
var componentTypes = [];
each(componentsMap, function (components, componentType) {
componentTypes.push(componentType);
});
......@@ -569,5 +602,29 @@ define(function (require) {
}
});
function createSeriesIndices(seriesModels) {
return map(seriesModels, function (series) {
return series.componentIndex;
}, this);
}
function filterBySubType(components, condition) {
return condition.hasOwnProperty('subType')
? filter(components, function (cpt) {
return cpt.subType === condition.subType;
})
: components;
}
function assertSeriesInitialized(ecModel) {
// 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 is not initialized. Please depends sereis.');
}
}
return GlobalModel;
});
\ No newline at end of file
......@@ -35,11 +35,13 @@ define(function(require) {
// PENDING
legendDataProvider: null,
init: function (option, parentModel, ecModel, dependentModels, seriesIndex) {
init: function (option, parentModel, ecModel, extraOpt) {
/**
* @type {number}
* @readOnly
*/
this.seriesIndex = seriesIndex;
this.seriesIndex = this.componentIndex;
this.mergeDefaultAndTheme(option, ecModel);
......@@ -47,9 +49,12 @@ define(function(require) {
* @type {module:echarts/data/List|module:echarts/data/Tree|module:echarts/data/Graph}
* @private
*/
this._data = this.getInitialData(option, ecModel);
this._dataBeforeProcessed = this.getInitialData(option, ecModel);
this._dataBeforeProcessed = this._data.cloneShallow();
// When using module:echarts/data/Tree or module:echarts/data/Graph,
// cloneShallow will cause this._data.graph.data pointing to new data list.
// Wo we make this._dataBeforeProcessed first, and then make this._data.
this._data = this._dataBeforeProcessed.cloneShallow();
},
/**
......@@ -108,7 +113,7 @@ define(function(require) {
* Get data before processed
* @return {module:echarts/data/List}
*/
getDataAll: function () {
getRawData: function () {
return this._dataBeforeProcessed;
},
......
......@@ -5,8 +5,8 @@ define(function (require) {
var offset = 0;
var colorList = ecModel.get('color');
ecModel.eachSeriesByTypeAll(seriesType, function (seriesModel) {
var dataAll = seriesModel.getDataAll();
ecModel.eachRawSeriesByType(seriesType, function (seriesModel) {
var dataAll = seriesModel.getRawData();
if (!ecModel.isSeriesFiltered(seriesModel)) {
var data = seriesModel.getData();
data.each(function (idx) {
......
define(function (require) {
var Gradient = require('zrender/graphic/Gradient');
return function (ecModel) {
ecModel.eachSeriesAll(function (seriesModel) {
ecModel.eachRawSeries(function (seriesModel) {
var colorAccessPath = ['itemStyle', 'normal', 'color'];
var colorList = ecModel.get('color');
var data = seriesModel.getData();
......
......@@ -7,7 +7,7 @@ define(function (require) {
return function (seriesType, defaultSymbolType, legendSymbol, ecModel, api) {
// Encoding visual for all series include which is filtered for legend drawing
ecModel.eachSeriesByTypeAll(seriesType, function (seriesModel) {
ecModel.eachRawSeriesByType(seriesType, function (seriesModel) {
var data = seriesModel.getData();
var symbolType = seriesModel.get('symbol') || defaultSymbolType;
......
......@@ -78,9 +78,9 @@
borderColor: '#777',
borderWidth: 1,
formatter: function (obj) {
var value = obj[0].value;
var value = obj.value;
return '<div style="border-bottom: 1px solid rgba(255,255,255,.3); font-size: 18px;padding-bottom: 7px;margin-bottom: 7px">'
+ obj[0].seriesName + ' ' + value[0] + '日:'
+ obj.seriesName + ' ' + value[0] + '日:'
+ value[7]
+ '</div>'
+ schema[1].text + '' + value[1] + '<br>'
......
......@@ -94,8 +94,8 @@
tooltip : {
trigger: 'axis',
formatter: function(params) {
return params[0].name + '<br/>'
+ params[0].seriesName + ' : ' + params[0].value + ' (m^3/s)<br/>';
return params.name + '<br/>'
+ params.seriesName + ' : ' + params.value + ' (m^3/s)<br/>';
}
},
legend: {
......
......@@ -47,8 +47,8 @@
backgroundColor: 'trasparent',
formatter: function (params) {
return '<div class="tooltip-content">\
<h4>' + params[0].name + '</h4>\
<h5>' + (params[0].percent * 100).toFixed(1) + '%</h5>\
<h4>' + params.name + '</h4>\
<h5>' + (params.percent * 100).toFixed(1) + '%</h5>\
</div>\
';
}
......
......@@ -139,8 +139,8 @@
tooltip: {
formatter: function (info) {
var value = info[0].value;
var treePathInfo = info[0].treePathInfo;
var value = info.value;
var treePathInfo = info.treePathInfo;
var treePath = [];
for (var i = 1; i < treePathInfo.length; i++) {
......
......@@ -240,7 +240,7 @@
var amountIndex2011 = mode === 1 ? 0 : 1;
return function (info) {
var value = info[0].value;
var value = info.value;
var amount = value[amountIndex];
amount = isValidNumber(amount)
......@@ -263,7 +263,7 @@
: '-';
return [
'<div class="tooltip-title">' + formatUtil.encodeHTML(info[0].name) + '</div>',
'<div class="tooltip-title">' + formatUtil.encodeHTML(info.name) + '</div>',
'2012 Amount: &nbsp;&nbsp;' + amount + '<br>',
'Per Household: &nbsp;&nbsp;' + perHousehold + '<br>',
'2011 Amount: &nbsp;&nbsp;' + amount2011 + '<br>',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册