提交 07b09d28 编写于 作者: L lang

Enhancement when legend data is updated with selectedMode: single

上级 5c884a9b
......@@ -20,7 +20,7 @@ define(function (require) {
var store = getStore(zr);
var record = store[resourceKey];
if (record.userKey === userKey) {
if (record && (record.userKey === userKey)) {
store[resourceKey] = null;
}
},
......
......@@ -20,19 +20,28 @@ define(function(require) {
this.mergeDefaultAndTheme(option, ecModel);
option.selected = option.selected || {};
},
this._updateData(ecModel);
mergeOption: function (option) {
LegendModel.superCall(this, 'mergeOption', option);
},
optionUpdated: function () {
this._updateData(this.ecModel);
var legendData = this._data;
// If has any selected in option.selected
var selectedMap = this.option.selected;
// If selectedMode is single, try to select one
if (legendData[0] && this.get('selectedMode') === 'single') {
var hasSelected = false;
for (var name in selectedMap) {
if (selectedMap[name]) {
// If has any selected in option.selected
for (var i = 0; i < legendData.length; i++) {
var name = legendData[i].get('name');
if (this.isSelected(name)) {
// Force to unselect others
this.select(name);
hasSelected = true;
break;
}
}
// Try select the first if selectedMode is single
......@@ -40,12 +49,6 @@ define(function(require) {
}
},
mergeOption: function (option) {
LegendModel.superCall(this, 'mergeOption', option);
this._updateData(this.ecModel);
},
_updateData: function (ecModel) {
var legendData = zrUtil.map(this.get('data') || [], function (dataItem) {
if (typeof dataItem === 'string') {
......
......@@ -1019,7 +1019,14 @@ define(function (require) {
* Dispose instance
*/
echartsProto.dispose = function () {
if (this._disposed) {
if (__DEV__) {
console.warn('Instance ' + this.id + ' has been disposed');
}
return;
}
this._disposed = true;
var api = this._api;
var ecModel = this._model;
......@@ -1030,6 +1037,7 @@ define(function (require) {
chart.dispose(ecModel, api);
});
// Dispose after all views disposed
this._zr.dispose();
delete instances[this.id];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册