提交 1914f8b3 编写于 作者: L lang

List stack fix, LegendView tweak

上级 ecaf64e7
......@@ -6,10 +6,7 @@ define(function (require) {
var legendLayout = require('./legendLayout');
var graphic = require('../../util/graphic');
var LEGEND_DISABLE_STYLE = {
fill: '#ccc',
stroke: '#ccc'
};
var LEGEND_DISABLE_COLOR = '#ccc';
function createSelectActionDispatcher(uid, seriesName, api) {
api.dispatch({
......@@ -24,7 +21,7 @@ define(function (require) {
type: 'legend',
init: function () {
this._itemElMap = {};
this._symbolTypeStore = {};
},
render: function (legendModel, ecModel, api) {
......@@ -49,41 +46,38 @@ define(function (require) {
zrUtil.each(legendModel.getData(), function (itemModel) {
var seriesName = itemModel.get('name');
var seriesModel = ecModel.getSeriesByName(seriesName, true);
if (!seriesModel) {
// Series not exists
return;
}
var data = seriesModel.getData();
var color = data.getVisual('color');
var itemElMap = this._itemElMap;
var itemGroup = itemElMap[seriesName];
if (legendModel.isSelected(seriesName)) {
itemGroup = new graphic.Group();
this._createSymbol(
data, 0, 0, itemWidth, itemHeight, color, itemGroup
);
itemElMap[seriesName] = itemGroup;
var textX = itemAlign === 'left' ? itemWidth + 5 : -5;
var textAlign = itemAlign;
var text = new graphic.Text({
style: {
text: seriesName,
x: textX,
y: itemHeight / 2,
fill: '#000',
textAlign: textAlign,
textBaseline: 'middle'
}
});
itemGroup.add(text);
}
else {
itemGroup.eachChild(function (child) {
if (child.type !== 'text') {
child.style.set(LEGEND_DISABLE_STYLE);
}
});
itemGroup.off('click');
if (!legendModel.isSelected(seriesName)) {
color = LEGEND_DISABLE_COLOR;
}
var itemGroup = new graphic.Group();
this._createSymbol(
data, 0, 0, itemWidth, itemHeight, color, itemGroup
);
var textX = itemAlign === 'left' ? itemWidth + 5 : -5;
var textAlign = itemAlign;
var text = new graphic.Text({
style: {
text: seriesName,
x: textX,
y: itemHeight / 2,
fill: '#000',
textAlign: textAlign,
textBaseline: 'middle'
}
});
itemGroup.add(text);
itemGroup.eachChild(function (child) {
child.silent = !enableSelect;
});
......
......@@ -153,6 +153,8 @@ define(function (require) {
var dimensions = this.dimensions;
var size = data.length;
nameList = nameList || [];
// Init storage
for (var i = 0; i < dimensions.length; i++) {
var dimInfo = this._dimensionInfos[i];
......@@ -216,7 +218,7 @@ define(function (require) {
// Use the name in option as data id in two value axis case
for (var i = 0; i < optionModelIndices.length; i++) {
if (! nameList[i]) {
if (!nameList[i]) {
var modelIdx = optionModelIndices[i];
var model = optionModels[modelIdx];
if (model && model.option) {
......@@ -409,7 +411,7 @@ define(function (require) {
// Only stacked on the value axis
var stackDimMap = getStackDimMap(this._rawValueDims, dimensions);
// Optimizing for 1 dim case
var firstDimStack = stackDimMap[dimensions[0]];
var firstDimStack = stack && stackDimMap[dimensions[0]];
context = context || this;
......@@ -424,7 +426,7 @@ define(function (require) {
}
else {
for (var k = 0; k < dimSize; k++) {
value[k] = this.get(dimensions[k], i, stackDimMap[dimensions[k]]);
value[k] = this.get(dimensions[k], i, stack && stackDimMap[dimensions[k]]);
}
// Index
value[k] = i;
......@@ -451,7 +453,7 @@ define(function (require) {
// Only stacked on the value axis
var stackDimMap = getStackDimMap(this._rawValueDims, dimensions);
// Optimizing for 1 dim case
var firstDimStack = stackDimMap[dimensions[0]];
var firstDimStack = stack && stackDimMap[dimensions[0]];
context = context || this;
......@@ -465,7 +467,7 @@ define(function (require) {
}
else {
for (var k = 0; k < dimSize; k++) {
value[k] = this.get(dimensions[k], i, stackDimMap[dimensions[k]]);
value[k] = this.get(dimensions[k], i, stack && stackDimMap[dimensions[k]]);
}
value[k] = i;
keep = cb.apply(context, value);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册