提交 07ffdb2e 编写于 作者: P pissang

Remove normal status. Put emphasis outside

上级 6f15c85a
......@@ -7,7 +7,7 @@ import Model from '../../model/Model';
import barItemStyle from './barItemStyle';
var BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'normal', 'barBorderWidth'];
var BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'barBorderWidth'];
// FIXME
// Just for compatible with ec2.
......@@ -238,8 +238,8 @@ function updateStyle(
) {
var color = data.getItemVisual(dataIndex, 'color');
var opacity = data.getItemVisual(dataIndex, 'opacity');
var itemStyleModel = itemModel.getModel('itemStyle.normal');
var hoverStyle = itemModel.getModel('itemStyle.emphasis').getBarItemStyle();
var itemStyleModel = itemModel.getModel('itemStyle');
var hoverStyle = itemModel.getModel('emphasis.itemStyle').getBarItemStyle();
if (!isPolar) {
el.setShape('r', itemStyleModel.get('barBorderRadius') || 0);
......
......@@ -49,15 +49,9 @@ export default SeriesModel.extend({
// 类目间柱形距离,默认为类目间距的20%,可设固定值
// barCategoryGap: '20%',
// label: {
// normal: {
// show: false
// }
// show: false
// },
itemStyle: {
// normal: {
// color: '各异'
// },
// emphasis: {}
}
itemStyle: {},
emphasis: {}
}
});
\ No newline at end of file
......@@ -6,7 +6,7 @@ import {parsePercent, isNumeric} from '../../util/number';
import {setLabel} from './helper';
var BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'normal', 'borderWidth'];
var BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth'];
// index: +isHorizontal
var LAYOUT_ATTRS = [
......@@ -729,8 +729,8 @@ function updateCommon(bar, opt, symbolMeta) {
var itemModel = symbolMeta.itemModel;
// Color must be excluded.
// Because symbol provide setColor individually to set fill and stroke
var normalStyle = itemModel.getModel('itemStyle.normal').getItemStyle(['color']);
var hoverStyle = itemModel.getModel('itemStyle.emphasis').getItemStyle();
var normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
var hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();
var cursorStyle = itemModel.getShallow('cursor');
eachPath(bar, function (path) {
......
......@@ -3,8 +3,8 @@ import * as graphic from '../../util/graphic';
export function setLabel(
normalStyle, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside
) {
var labelModel = itemModel.getModel('label.normal');
var hoverLabelModel = itemModel.getModel('label.emphasis');
var labelModel = itemModel.getModel('label');
var hoverLabelModel = itemModel.getModel('emphasis.label');
graphic.setLabelStyle(
normalStyle, hoverStyle, labelModel, hoverLabelModel,
......
......@@ -43,11 +43,12 @@ var BoxplotSeries = SeriesModel.extend({
boxWidth: [7, 50], // [min, max] can be percent of band width.
itemStyle: {
normal: {
color: '#fff',
borderWidth: 1
},
emphasis: {
color: '#fff',
borderWidth: 1
},
emphasis: {
itemStyle: {
borderWidth: 2,
shadowBlur: 5,
shadowOffsetX: 2,
......
......@@ -17,8 +17,8 @@ var BoxplotView = ChartView.extend({
zrUtil.mixin(BoxplotView, viewMixin, true);
// Update common properties
var normalStyleAccessPath = ['itemStyle', 'normal'];
var emphasisStyleAccessPath = ['itemStyle', 'emphasis'];
var normalStyleAccessPath = ['itemStyle'];
var emphasisStyleAccessPath = ['emphasis', 'itemStyle'];
function updateStyle(itemGroup, data, idx) {
var itemModel = data.getItemModel(idx);
......
var borderColorQuery = ['itemStyle', 'normal', 'borderColor'];
var borderColorQuery = ['itemStyle', 'borderColor'];
export default function (ecModel, api) {
......
......@@ -36,16 +36,17 @@ var CandlestickSeries = SeriesModel.extend({
layout: null, // 'horizontal' or 'vertical'
itemStyle: {
normal: {
color: '#c23531', // 阳线 positive
color0: '#314656', // 阴线 negative '#c23531', '#314656'
borderWidth: 1,
// FIXME
// ec2中使用的是lineStyle.color 和 lineStyle.color0
borderColor: '#c23531',
borderColor0: '#314656'
},
emphasis: {
color: '#c23531', // 阳线 positive
color0: '#314656', // 阴线 negative '#c23531', '#314656'
borderWidth: 1,
// FIXME
// ec2中使用的是lineStyle.color 和 lineStyle.color0
borderColor: '#c23531',
borderColor0: '#314656'
},
emphasis: {
itemStyle: {
borderWidth: 2
}
},
......
......@@ -17,8 +17,8 @@ var CandlestickView = ChartView.extend({
zrUtil.mixin(CandlestickView, viewMixin, true);
// Update common properties
var normalStyleAccessPath = ['itemStyle', 'normal'];
var emphasisStyleAccessPath = ['itemStyle', 'emphasis'];
var normalStyleAccessPath = ['itemStyle'];
var emphasisStyleAccessPath = ['emphasis', 'itemStyle'];
function updateStyle(itemGroup, data, idx) {
var itemModel = data.getItemModel(idx);
......
var positiveBorderColorQuery = ['itemStyle', 'normal', 'borderColor'];
var negativeBorderColorQuery = ['itemStyle', 'normal', 'borderColor0'];
var positiveColorQuery = ['itemStyle', 'normal', 'color'];
var negativeColorQuery = ['itemStyle', 'normal', 'color0'];
var positiveBorderColorQuery = ['itemStyle', 'borderColor'];
var negativeBorderColorQuery = ['itemStyle', 'borderColor0'];
var positiveColorQuery = ['itemStyle', 'color'];
var negativeColorQuery = ['itemStyle', 'color0'];
export default function (ecModel, api) {
......
......@@ -46,15 +46,14 @@ var ChordSeries = SeriesModel.extend({
startAngle: 90,
clockwise: true,
itemStyle: {
normal: {},
emphasis: {}
itemStyle: {},
emphasis: {
itemStyle: {},
chordStyle: {}
},
chordStyle: {
normal: {},
emphasis: {}
}
chordStyle: {}
}
});
......
......@@ -14,10 +14,10 @@ import preparePolar from '../coord/polar/prepareCustom';
import prepareCalendar from '../coord/calendar/prepareCustom';
var ITEM_STYLE_NORMAL_PATH = ['itemStyle', 'normal'];
var ITEM_STYLE_EMPHASIS_PATH = ['itemStyle', 'emphasis'];
var LABEL_NORMAL = ['label', 'normal'];
var LABEL_EMPHASIS = ['label', 'emphasis'];
var ITEM_STYLE_NORMAL_PATH = ['itemStyle'];
var ITEM_STYLE_EMPHASIS_PATH = ['emphasis', 'itemStyle'];
var LABEL_NORMAL = ['label'];
var LABEL_EMPHASIS = ['emphasis', 'label'];
// Use prefix to avoid index to be the same as el.name,
// which will cause weird udpate animation.
var GROUP_DIFF_PREFIX = 'e\0\0';
......
......@@ -55,9 +55,7 @@ export default SeriesModel.extend({
// largeThreshold: 2000,
// itemStyle: {
// normal: {
// opacity: 1
// }
// opacity: 1
// }
}
......
......@@ -28,15 +28,15 @@ var FunnelSeries = echarts.extendSeriesModel({
_defaultLabelLine: function (option) {
// Extend labelLine emphasis
defaultEmphasis(option.labelLine, ['show']);
defaultEmphasis(option, 'labelLine', ['show']);
var labelLineNormalOpt = option.labelLine.normal;
var labelLineEmphasisOpt = option.labelLine.emphasis;
var labelLineNormalOpt = option.labelLine;
var labelLineEmphasisOpt = option.emphasis.labelLine;
// Not show label line if `label.normal.show = false`
labelLineNormalOpt.show = labelLineNormalOpt.show
&& option.label.normal.show;
&& option.label.show;
labelLineEmphasisOpt.show = labelLineEmphasisOpt.show
&& option.label.emphasis.show;
&& option.emphasis.label.show;
},
// Overwrite
......@@ -71,35 +71,27 @@ var FunnelSeries = echarts.extendSeriesModel({
gap: 0,
funnelAlign: 'center',
label: {
normal: {
show: true,
position: 'outer'
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
},
emphasis: {
show: true
}
show: true,
position: 'outer'
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
},
labelLine: {
normal: {
show: true,
length: 20,
lineStyle: {
// color: 各异,
width: 1,
type: 'solid'
}
},
emphasis: {}
show: true,
length: 20,
lineStyle: {
// color: 各异,
width: 1,
type: 'solid'
}
},
itemStyle: {
normal: {
// color: 各异,
borderColor: '#fff',
borderWidth: 1
},
emphasis: {
// color: 各异,
// color: 各异,
borderColor: '#fff',
borderWidth: 1
},
emphasis: {
label: {
show: true
}
}
}
......
......@@ -37,7 +37,7 @@ function FunnelPiece(data, idx) {
var funnelPieceProto = FunnelPiece.prototype;
var opacityAccessPath = ['itemStyle', 'normal', 'opacity'];
var opacityAccessPath = ['itemStyle', 'opacity'];
funnelPieceProto.updateData = function (data, idx, firstCreate) {
var polygon = this.childAt(0);
......@@ -83,7 +83,7 @@ funnelPieceProto.updateData = function (data, idx, firstCreate) {
lineJoin: 'round',
fill: visualColor
},
itemStyleModel.getModel('normal').getItemStyle(['opacity'])
itemStyleModel.getItemStyle(['opacity'])
)
);
polygon.hoverStyle = itemStyleModel.getModel('emphasis').getItemStyle();
......@@ -122,10 +122,10 @@ funnelPieceProto._updateLabel = function (data, idx) {
z2: 10
});
var labelModel = itemModel.getModel('label.normal');
var labelHoverModel = itemModel.getModel('label.emphasis');
var labelLineModel = itemModel.getModel('labelLine.normal');
var labelLineHoverModel = itemModel.getModel('labelLine.emphasis');
var labelModel = itemModel.getModel('label');
var labelHoverModel = itemModel.getModel('emphasis.label');
var labelLineModel = itemModel.getModel('labelLine');
var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');
var visualColor = data.getItemVisual(idx, 'color');
graphic.setLabelStyle(
......
......@@ -34,10 +34,10 @@ function getSortedIndices(data, sort) {
function labelLayout(data) {
data.each(function (idx) {
var itemModel = data.getItemModel(idx);
var labelModel = itemModel.getModel('label.normal');
var labelModel = itemModel.getModel('label');
var labelPosition = labelModel.get('position');
var labelLineModel = itemModel.getModel('labelLine.normal');
var labelLineModel = itemModel.getModel('labelLine');
var layout = data.getItemLayout(idx);
var points = layout.points;
......
......@@ -82,9 +82,7 @@ var GaugeSeries = SeriesModel.extend({
width: 8
},
itemStyle: {
normal: {
color: 'auto'
}
color: 'auto'
},
title: {
show: true,
......
......@@ -319,7 +319,7 @@ var GaugeView = ChartView.extend({
r: parsePercent(pointerModel.get('length'), posInfo.r)
});
pointer.useStyle(itemModel.getModel('itemStyle.normal').getItemStyle());
pointer.useStyle(itemModel.getModel('itemStyle').getItemStyle());
if (pointer.style.fill === 'auto') {
pointer.setStyle('fill', getColor(
......@@ -328,7 +328,7 @@ var GaugeView = ChartView.extend({
}
graphic.setHoverStyle(
pointer, itemModel.getModel('itemStyle.emphasis').getItemStyle()
pointer, itemModel.getModel('emphasis.itemStyle').getItemStyle()
);
});
......
......@@ -33,7 +33,7 @@ var GraphSeries = echarts.extendSeriesModel({
mergeDefaultAndTheme: function (option) {
GraphSeries.superApply(this, 'mergeDefaultAndTheme', arguments);
defaultEmphasis(option.edgeLabel, ['show']);
defaultEmphasis(option, ['edgeLabel'], ['show']);
},
getInitialData: function (option, ecModel) {
......@@ -208,10 +208,7 @@ var GraphSeries = echarts.extendSeriesModel({
edgeSymbol: ['none', 'none'],
edgeSymbolSize: 10,
edgeLabel: {
normal: {
position: 'middle'
},
emphasis: {}
position: 'middle'
},
draggable: false,
......@@ -237,28 +234,22 @@ var GraphSeries = echarts.extendSeriesModel({
// edges: []
label: {
normal: {
show: false,
formatter: '{b}'
},
emphasis: {
show: true
}
show: false,
formatter: '{b}'
},
itemStyle: {
normal: {},
emphasis: {}
},
itemStyle: {},
lineStyle: {
normal: {
color: '#aaa',
width: 1,
curveness: 0,
opacity: 0.5
},
emphasis: {}
color: '#aaa',
width: 1,
curveness: 0,
opacity: 0.5
},
emphasis: {
label: {
show: true
}
}
}
});
......
......@@ -9,8 +9,8 @@ import * as graphic from '../../util/graphic';
import adjustEdge from './adjustEdge';
var nodeOpacityPath = ['itemStyle', 'normal', 'opacity'];
var lineOpacityPath = ['lineStyle', 'normal', 'opacity'];
var nodeOpacityPath = ['itemStyle', 'opacity'];
var lineOpacityPath = ['lineStyle', 'opacity'];
function getItemOpacity(item, opacityPath) {
return item.getVisual('opacity') || item.getModel().get(opacityPath);
......
......@@ -14,7 +14,7 @@ export default function (ecModel) {
categoryNameIdxMap['ec-' + name] = idx;
var itemModel = categoriesData.getItemModel(idx);
var color = itemModel.get('itemStyle.normal.color')
var color = itemModel.get('itemStyle.color')
|| seriesModel.getColorFromPalette(name, paletteScope);
categoriesData.setItemVisual(idx, 'color', color);
});
......
......@@ -39,7 +39,7 @@ export function circularLayout(seriesModel) {
});
graph.eachEdge(function (edge) {
var curveness = edge.getModel().get('lineStyle.normal.curveness') || 0;
var curveness = edge.getModel().get('lineStyle.curveness') || 0;
var p1 = vec2.clone(edge.node1.getLayout());
var p2 = vec2.clone(edge.node2.getLayout());
var cp1;
......
......@@ -13,8 +13,8 @@ export default function (ecModel) {
var symbolType = normalize(seriesModel.get('edgeSymbol'));
var symbolSize = normalize(seriesModel.get('edgeSymbolSize'));
var colorQuery = 'lineStyle.normal.color'.split('.');
var opacityQuery = 'lineStyle.normal.opacity'.split('.');
var colorQuery = 'lineStyle.color'.split('.');
var opacityQuery = 'lineStyle.opacity'.split('.');
edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);
edgeData.setVisual('toSymbol', symbolType && symbolType[1]);
......
......@@ -68,7 +68,7 @@ export default function (ecModel) {
n1: nodes[edge.node1.dataIndex],
n2: nodes[edge.node2.dataIndex],
d: d,
curveness: edge.getModel().get('lineStyle.normal.curveness') || 0
curveness: edge.getModel().get('lineStyle.curveness') || 0
};
});
......
......@@ -17,7 +17,7 @@ export function simpleLayout(seriesModel) {
export function simpleLayoutEdge(graph) {
graph.eachEdge(function (edge) {
var curveness = edge.getModel().get('lineStyle.normal.curveness') || 0;
var curveness = edge.getModel().get('lineStyle.curveness') || 0;
var p1 = vec2.clone(edge.node1.getLayout());
var p2 = vec2.clone(edge.node2.getLayout());
var points = [p1, p2];
......
......@@ -126,14 +126,14 @@ export default echarts.extendChartView({
var group = this.group;
var data = seriesModel.getData();
var itemStyleQuery = 'itemStyle.normal';
var hoverItemStyleQuery = 'itemStyle.emphasis';
var labelQuery = 'label.normal';
var hoverLabelQuery = 'label.emphasis';
var itemStyleQuery = 'itemStyle';
var hoverItemStyleQuery = 'emphasis.itemStyle';
var labelQuery = 'label';
var hoverLabelQuery = 'emphasis.label';
var style = seriesModel.getModel(itemStyleQuery).getItemStyle(['color']);
var hoverStl = seriesModel.getModel(hoverItemStyleQuery).getItemStyle();
var labelModel = seriesModel.getModel('label.normal');
var hoverLabelModel = seriesModel.getModel('label.emphasis');
var labelModel = seriesModel.getModel(labelQuery);
var hoverLabelModel = seriesModel.getModel(hoverLabelQuery);
var coordSysType = coordSys.type;
var dataDims = coordSysType === 'cartesian2d'
......
......@@ -160,11 +160,11 @@ largeLineProto._setCommon = function (data, isIncremental) {
lineEl.setShape({
polyline: hostModel.get('polyline'),
curveness: hostModel.get('lineStyle.normal.curveness')
curveness: hostModel.get('lineStyle.curveness')
});
lineEl.useStyle(
hostModel.getModel('lineStyle.normal').getLineStyle()
hostModel.getModel('lineStyle').getLineStyle()
);
var visualColor = data.getVisual('color');
......
......@@ -153,7 +153,7 @@ largeSymbolProto._setCommon = function (data, isIncremental) {
symbolEl.setColor = symbolEl.symbolProxy.setColor;
symbolEl.useStyle(
hostModel.getModel('itemStyle.normal').getItemStyle(['color'])
hostModel.getModel('itemStyle').getItemStyle(['color'])
);
var visualColor = data.getVisual('color');
......
......@@ -255,11 +255,11 @@ lineProto._updateCommonStl = function (lineData, idx, seriesScope) {
if (!seriesScope || lineData.hasItemOption) {
var itemModel = lineData.getItemModel(idx);
lineStyle = itemModel.getModel('lineStyle.normal').getLineStyle();
hoverLineStyle = itemModel.getModel('lineStyle.emphasis').getLineStyle();
lineStyle = itemModel.getModel('lineStyle').getLineStyle();
hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();
labelModel = itemModel.getModel('label.normal');
hoverLabelModel = itemModel.getModel('label.emphasis');
labelModel = itemModel.getModel('label');
hoverLabelModel = itemModel.getModel('emphasis.label');
}
var visualColor = lineData.getItemVisual(idx, 'color');
......
......@@ -110,10 +110,10 @@ lineDrawProto.updateLayout = function () {
function makeSeriesScope(lineData) {
var hostModel = lineData.hostModel;
return {
lineStyle: hostModel.getModel('lineStyle.normal').getLineStyle(),
hoverLineStyle: hostModel.getModel('lineStyle.emphasis').getLineStyle(),
labelModel: hostModel.getModel('label.normal'),
hoverLabelModel: hostModel.getModel('label.emphasis')
lineStyle: hostModel.getModel('lineStyle').getLineStyle(),
hoverLineStyle: hostModel.getModel('emphasis.lineStyle').getLineStyle(),
labelModel: hostModel.getModel('label'),
hoverLabelModel: hostModel.getModel('emphasis.label')
};
}
......
......@@ -57,8 +57,8 @@ polylineProto._updateCommonStl = function (lineData, idx, seriesScope) {
var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
if (!seriesScope || lineData.hasItemOption) {
lineStyle = itemModel.getModel('lineStyle.normal').getLineStyle();
hoverLineStyle = itemModel.getModel('lineStyle.emphasis').getLineStyle();
lineStyle = itemModel.getModel('lineStyle').getLineStyle();
hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();
}
line.useStyle(zrUtil.defaults(
{
......
......@@ -143,13 +143,13 @@ symbolDrawProto._clearIncremental = function () {
function makeSeriesScope(data) {
var seriesModel = data.hostModel;
return {
itemStyle: seriesModel.getModel('itemStyle.normal').getItemStyle(['color']),
hoverItemStyle: seriesModel.getModel('itemStyle.emphasis').getItemStyle(),
itemStyle: seriesModel.getModel('itemStyle').getItemStyle(['color']),
hoverItemStyle: seriesModel.getModel('emphasis.itemStyle').getItemStyle(),
symbolRotate: seriesModel.get('symbolRotate'),
symbolOffset: seriesModel.get('symbolOffset'),
hoverAnimation: seriesModel.get('hoverAnimation'),
labelModel: seriesModel.getModel('label.normal'),
hoverLabelModel: seriesModel.getModel('label.emphasis'),
labelModel: seriesModel.getModel('label'),
hoverLabelModel: seriesModel.getModel('emphasis.label'),
cursorStyle: seriesModel.get('cursor')
};
}
......
......@@ -36,19 +36,14 @@ export default SeriesModel.extend({
// cursor: null,
label: {
normal: {
position: 'top'
}
position: 'top'
},
// itemStyle: {
// normal: {},
// emphasis: {}
// },
lineStyle: {
normal: {
width: 2,
type: 'solid'
}
width: 2,
type: 'solid'
},
// areaStyle: {},
// false, 'start', 'end', 'middle'
......
......@@ -100,7 +100,7 @@ function createGridClipShape(cartesian, hasAnimation, seriesModel) {
var y = Math.min(yExtent[0], yExtent[1]);
var width = Math.max(xExtent[0], xExtent[1]) - x;
var height = Math.max(yExtent[0], yExtent[1]) - y;
var lineWidth = seriesModel.get('lineStyle.normal.width') || 2;
var lineWidth = seriesModel.get('lineStyle.width') || 2;
// Expand clip shape to avoid clipping when line value exceeds axis
var expandSize = seriesModel.get('clipOverflow') ? lineWidth / 2 : Math.max(width, height);
if (isHorizontal) {
......@@ -312,7 +312,7 @@ export default ChartView.extend({
var coordSys = seriesModel.coordinateSystem;
var group = this.group;
var data = seriesModel.getData();
var lineStyleModel = seriesModel.getModel('lineStyle.normal');
var lineStyleModel = seriesModel.getModel('lineStyle');
var areaStyleModel = seriesModel.getModel('areaStyle.normal');
var points = data.mapArray(data.getItemLayout, true);
......
......@@ -43,7 +43,7 @@ var LinesSeries = SeriesModel.extend({
dependencies: ['grid', 'polar'],
visualColorAccessPath: 'lineStyle.normal.color',
visualColorAccessPath: 'lineStyle.color',
init: function (option) {
// Not using preprocessor because mergeOption may not have series.type
......@@ -225,7 +225,7 @@ var LinesSeries = SeriesModel.extend({
loop: true,
// Length of trail, 0 - 1
trailLength: 0.2
// Same with lineStyle.normal.color
// Same with lineStyle.color
// color
},
......@@ -241,18 +241,14 @@ var LinesSeries = SeriesModel.extend({
polyline: false,
label: {
normal: {
show: false,
position: 'end'
// distance: 5,
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
}
show: false,
position: 'end'
// distance: 5,
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
},
lineStyle: {
normal: {
opacity: 0.5
}
opacity: 0.5
}
}
});
......
......@@ -57,7 +57,7 @@ export default {
pts[0] = coordSys.dataToPoint(lineCoords[0]);
pts[1] = coordSys.dataToPoint(lineCoords[1]);
var curveness = itemModel.get('lineStyle.normal.curveness');
var curveness = itemModel.get('lineStyle.curveness');
if (+curveness) {
pts[2] = [
(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness,
......
......@@ -6,7 +6,7 @@ function normalize(a) {
return a;
}
var opacityQuery = 'lineStyle.normal.opacity'.split('.');
var opacityQuery = 'lineStyle.opacity'.split('.');
export default {
seriesType: 'lines',
......
......@@ -205,25 +205,22 @@ var MapSeries = SeriesModel.extend({
scaleLimit: null,
label: {
normal: {
show: false,
color: '#000'
},
emphasis: {
show: true,
color: 'rgb(100,0,0)'
}
show: false,
color: '#000'
},
// scaleLimit: null,
itemStyle: {
normal: {
// color: 各异,
borderWidth: 0.5,
borderColor: '#444',
areaColor: '#eee'
borderWidth: 0.5,
borderColor: '#444',
areaColor: '#eee'
},
emphasis: {
label: {
show: true,
color: 'rgb(100,0,0)'
},
// 也是选中样式
emphasis: {
itemStyle: {
areaColor: 'rgba(255,215,0,0.8)'
}
}
......
......@@ -108,8 +108,8 @@ export default echarts.extendChartView({
var fullIndex = fullData.indexOfName(name);
var itemModel = originalData.getItemModel(idx);
var labelModel = itemModel.getModel('label.normal');
var hoverLabelModel = itemModel.getModel('label.emphasis');
var labelModel = itemModel.getModel('label');
var hoverLabelModel = itemModel.getModel('emphasis.label');
var polygonGroups = fullData.getItemGraphicEl(fullIndex);
......
......@@ -2,7 +2,7 @@
export default function (ecModel) {
ecModel.eachSeriesByType('map', function (seriesModel) {
var colorList = seriesModel.get('color');
var itemStyleModel = seriesModel.getModel('itemStyle.normal');
var itemStyleModel = seriesModel.getModel('itemStyle');
var areaColor = itemStyleModel.get('areaColor');
var color = itemStyleModel.get('color')
......
......@@ -9,7 +9,7 @@ export default SeriesModel.extend({
dependencies: ['parallel'],
visualColorAccessPath: 'lineStyle.normal.color',
visualColorAccessPath: 'lineStyle.color',
getInitialData: function (option, ecModel) {
var parallelModel = ecModel.getComponent(
......@@ -83,24 +83,23 @@ export default SeriesModel.extend({
parallelIndex: 0,
label: {
normal: {
show: false
},
emphasis: {
show: false
}
show: false
},
inactiveOpacity: 0.05,
activeOpacity: 1,
lineStyle: {
normal: {
width: 1,
opacity: 0.45,
type: 'solid'
width: 1,
opacity: 0.45,
type: 'solid'
},
emphasis: {
label: {
show: false
}
},
progressive: false, // 100
smooth: false,
......
......@@ -184,12 +184,12 @@ function addEl(data, dataGroup, dataIndex, dimensions, coordSys) {
}
function updateElCommon(data, smooth) {
var seriesStyleModel = data.hostModel.getModel('lineStyle.normal');
var seriesStyleModel = data.hostModel.getModel('lineStyle');
var lineStyle = seriesStyleModel.getLineStyle();
data.eachItemGraphicEl(function (line, dataIndex) {
if (data.hasItemOption) {
var itemModel = data.getItemModel(dataIndex);
var lineStyleModel = itemModel.getModel('lineStyle.normal', seriesStyleModel);
var lineStyleModel = itemModel.getModel('lineStyle', seriesStyleModel);
lineStyle = lineStyleModel.getLineStyle(['color', 'stroke']);
}
......
......@@ -5,8 +5,8 @@ export default function (ecModel) {
ecModel.eachSeriesByType('parallel', function (seriesModel) {
var itemStyleModel = seriesModel.getModel('itemStyle.normal');
var lineStyleModel = seriesModel.getModel('lineStyle.normal');
var itemStyleModel = seriesModel.getModel('itemStyle');
var lineStyleModel = seriesModel.getModel('lineStyle');
var globalColors = ecModel.get('color');
var color = lineStyleModel.get('color')
......@@ -14,7 +14,7 @@ export default function (ecModel) {
|| globalColors[seriesModel.seriesIndex % globalColors.length];
var inactiveOpacity = seriesModel.get('inactiveOpacity');
var activeOpacity = seriesModel.get('activeOpacity');
var lineStyle = seriesModel.getModel('lineStyle.normal').getLineStyle();
var lineStyle = seriesModel.getModel('lineStyle').getLineStyle();
var coordSys = seriesModel.coordinateSystem;
var data = seriesModel.getData();
......
......@@ -61,15 +61,15 @@ var PieSeries = echarts.extendSeriesModel({
_defaultLabelLine: function (option) {
// Extend labelLine emphasis
modelUtil.defaultEmphasis(option.labelLine, ['show']);
modelUtil.defaultEmphasis(option, 'labelLine', ['show']);
var labelLineNormalOpt = option.labelLine.normal;
var labelLineEmphasisOpt = option.labelLine.emphasis;
var labelLineNormalOpt = option.labelLine;
var labelLineEmphasisOpt = option.emphasis.labelLine;
// Not show label line if `label.normal.show = false`
labelLineNormalOpt.show = labelLineNormalOpt.show
&& option.label.normal.show;
&& option.label.show;
labelLineEmphasisOpt.show = labelLineEmphasisOpt.show
&& option.label.emphasis.show;
&& option.emphasis.label.show;
},
defaultOption: {
......@@ -106,39 +106,31 @@ var PieSeries = echarts.extendSeriesModel({
// cursor: null,
label: {
normal: {
// If rotate around circle
rotate: false,
show: true,
// 'outer', 'inside', 'center'
position: 'outer'
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
// 默认使用全局文本样式,详见TEXTSTYLE
// distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数
},
emphasis: {}
// If rotate around circle
rotate: false,
show: true,
// 'outer', 'inside', 'center'
position: 'outer'
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
// 默认使用全局文本样式,详见TEXTSTYLE
// distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数
},
// Enabled when label.normal.position is 'outer'
labelLine: {
normal: {
show: true,
// 引导线两段中的第一段长度
length: 15,
// 引导线两段中的第二段长度
length2: 15,
smooth: false,
lineStyle: {
// color: 各异,
width: 1,
type: 'solid'
}
show: true,
// 引导线两段中的第一段长度
length: 15,
// 引导线两段中的第二段长度
length2: 15,
smooth: false,
lineStyle: {
// color: 各异,
width: 1,
type: 'solid'
}
},
itemStyle: {
normal: {
borderWidth: 1
},
emphasis: {}
borderWidth: 1
},
// Animation type canbe expansion, scale
......
......@@ -224,10 +224,10 @@ piePieceProto._updateLabel = function (data, idx) {
z2: 10
});
var labelModel = itemModel.getModel('label.normal');
var labelHoverModel = itemModel.getModel('label.emphasis');
var labelLineModel = itemModel.getModel('labelLine.normal');
var labelLineHoverModel = itemModel.getModel('labelLine.emphasis');
var labelModel = itemModel.getModel('label');
var labelHoverModel = itemModel.getModel('emphasis.label');
var labelLineModel = itemModel.getModel('labelLine');
var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');
var visualColor = data.getItemVisual(idx, 'color');
graphic.setLabelStyle(
......
......@@ -141,11 +141,11 @@ export default function (seriesModel, r, viewWidth, viewHeight) {
var layout = data.getItemLayout(idx);
var itemModel = data.getItemModel(idx);
var labelModel = itemModel.getModel('label.normal');
var labelModel = itemModel.getModel('label');
// Use position in normal or emphasis
var labelPosition = labelModel.get('position') || itemModel.get('label.emphasis.position');
var labelLineModel = itemModel.getModel('labelLine.normal');
var labelLineModel = itemModel.getModel('labelLine');
var labelLineLen = labelLineModel.get('length');
var labelLineLen2 = labelLineModel.get('length2');
......
......@@ -50,15 +50,11 @@ var RadarSeries = SeriesModel.extend({
legendHoverLink: true,
radarIndex: 0,
lineStyle: {
normal: {
width: 2,
type: 'solid'
}
width: 2,
type: 'solid'
},
label: {
normal: {
position: 'top'
}
position: 'top'
},
// areaStyle: {
// },
......
......@@ -139,14 +139,14 @@ export default echarts.extendChartView({
polyline.useStyle(
zrUtil.defaults(
itemModel.getModel('lineStyle.normal').getLineStyle(),
itemModel.getModel('lineStyle').getLineStyle(),
{
fill: 'none',
stroke: color
}
)
);
polyline.hoverStyle = itemModel.getModel('lineStyle.emphasis').getLineStyle();
polyline.hoverStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();
var areaStyleModel = itemModel.getModel('areaStyle.normal');
var hoverAreaStyleModel = itemModel.getModel('areaStyle.emphasis');
......@@ -167,10 +167,10 @@ export default echarts.extendChartView({
);
polygon.hoverStyle = hoverAreaStyleModel.getAreaStyle();
var itemStyle = itemModel.getModel('itemStyle.normal').getItemStyle(['color']);
var itemHoverStyle = itemModel.getModel('itemStyle.emphasis').getItemStyle();
var labelModel = itemModel.getModel('label.normal');
var labelHoverModel = itemModel.getModel('label.emphasis');
var itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
var itemHoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();
var labelModel = itemModel.getModel('label');
var labelHoverModel = itemModel.getModel('emphasis.label');
symbolGroup.eachChild(function (symbolPath) {
symbolPath.setStyle(itemStyle);
symbolPath.hoverStyle = zrUtil.clone(itemHoverStyle);
......
......@@ -88,31 +88,28 @@ var SankeySeries = SeriesModel.extend({
layoutIterations: 32,
label: {
normal: {
show: true,
position: 'right',
color: '#000',
fontSize: 12
},
emphasis: {
show: true
}
show: true,
position: 'right',
color: '#000',
fontSize: 12
},
itemStyle: {
normal: {
borderWidth: 1,
borderColor: '#333'
}
borderWidth: 1,
borderColor: '#333'
},
lineStyle: {
normal: {
color: '#314656',
opacity: 0.2,
curveness: 0.5
color: '#314656',
opacity: 0.2,
curveness: 0.5
},
emphasis: {
label: {
show: true
},
emphasis: {
lineStyle: {
opacity: 0.6
}
},
......
......@@ -65,7 +65,7 @@ export default echarts.extendChartView({
curve.seriesIndex = seriesModel.seriesIndex;
curve.dataType = 'edge';
var lineStyleModel = edge.getModel('lineStyle.normal');
var lineStyleModel = edge.getModel('lineStyle');
var curvature = lineStyleModel.get('curveness');
var n1Layout = edge.node1.getLayout();
var n2Layout = edge.node2.getLayout();
......@@ -104,7 +104,7 @@ export default echarts.extendChartView({
break;
}
graphic.setHoverStyle(curve, edge.getModel('lineStyle.emphasis').getItemStyle());
graphic.setHoverStyle(curve, edge.getModel('emphasis.lineStyle').getItemStyle());
group.add(curve);
......@@ -115,8 +115,8 @@ export default echarts.extendChartView({
graph.eachNode(function (node) {
var layout = node.getLayout();
var itemModel = node.getModel();
var labelModel = itemModel.getModel('label.normal');
var labelHoverModel = itemModel.getModel('label.emphasis');
var labelModel = itemModel.getModel('label');
var labelHoverModel = itemModel.getModel('emphasis.label');
var rect = new graphic.Rect({
shape: {
......@@ -125,10 +125,10 @@ export default echarts.extendChartView({
width: node.getLayout().dx,
height: node.getLayout().dy
},
style: itemModel.getModel('itemStyle.normal').getItemStyle()
style: itemModel.getModel('itemStyle').getItemStyle()
});
var hoverStyle = node.getModel('itemStyle.emphasis').getItemStyle();
var hoverStyle = node.getModel('emphasis.itemStyle').getItemStyle();
graphic.setLabelStyle(
rect.style, hoverStyle, labelModel, labelHoverModel,
......
......@@ -30,7 +30,7 @@ export default function (ecModel, payload) {
node.setVisual('color', mapValueToColor);
// If set itemStyle.normal.color
var itemModel = node.getModel();
var customColor = itemModel.get('itemStyle.normal.color');
var customColor = itemModel.get('itemStyle.color');
if (customColor != null) {
node.setVisual('color', customColor);
}
......
......@@ -40,20 +40,16 @@ export default SeriesModel.extend({
// cursor: null,
// label: {
// normal: {
// show: false
// distance: 5,
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
// position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
// 'inside'|'left'|'right'|'top'|'bottom'
// 默认使用全局文本样式,详见TEXTSTYLE
// }
// show: false
// distance: 5,
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
// position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
// 'inside'|'left'|'right'|'top'|'bottom'
// 默认使用全局文本样式,详见TEXTSTYLE
// },
itemStyle: {
normal: {
opacity: 0.8
// color: 各异
}
opacity: 0.8
// color: 各异
},
progressive: null
......
......@@ -285,15 +285,16 @@ var ThemeRiverSeries = SeriesModel.extend({
animationEasing: 'linear',
label: {
normal: {
margin: 4,
textAlign: 'right',
show: true,
position: 'left',
color: '#000',
fontSize: 11
},
emphasis: {
margin: 4,
textAlign: 'right',
show: true,
position: 'left',
color: '#000',
fontSize: 11
},
emphasis: {
label: {
show: true
}
}
......
......@@ -72,7 +72,7 @@ export default echarts.extendChartView({
var text;
var textLayout = data.getItemLayout(indices[0]);
var itemModel = data.getItemModel(indices[j - 1]);
var labelModel = itemModel.getModel('label.normal');
var labelModel = itemModel.getModel('label');
var margin = labelModel.get('margin');
if (status === 'add') {
var layerGroup = newLayersGroups[idx] = new graphic.Group();
......@@ -123,8 +123,8 @@ export default echarts.extendChartView({
}, seriesModel);
}
var hoverItemStyleModel = itemModel.getModel('itemStyle.emphasis');
var itemStyleModel = itemModel.getModel('itemStyle.normal');
var hoverItemStyleModel = itemModel.getModel('emphasis.itemStyle');
var itemStyleModel = itemModel.getModel('itemStyle');
graphic.setTextStyle(text.style, labelModel, {
text: labelModel.get('show')
......
......@@ -100,33 +100,25 @@ export default SeriesModel.extend({
initialTreeDepth: 2,
lineStyle: {
normal: {
color: '#ccc',
width: 1.5,
curveness: 0.5
}
color: '#ccc',
width: 1.5,
curveness: 0.5
},
itemStyle: {
normal: {
color: 'lightsteelblue',
borderColor: '#c23531',
borderWidth: 1.5
}
color: 'lightsteelblue',
borderColor: '#c23531',
borderWidth: 1.5
},
label: {
normal: {
show: true,
color: '#555'
}
show: true,
color: '#555'
},
leaves: {
label: {
normal: {
show: true
}
show: true
}
},
......
......@@ -58,7 +58,7 @@ export default echarts.extendChartView({
expandAndCollapse: seriesModel.get('expandAndCollapse'),
layout: layout,
orient: seriesModel.get('orient'),
curvature: seriesModel.get('lineStyle.normal.curveness'),
curvature: seriesModel.get('lineStyle.curveness'),
symbolRotate: seriesModel.get('symbolRotate'),
symbolOffset: seriesModel.get('symbolOffset'),
hoverAnimation: seriesModel.get('hoverAnimation'),
......@@ -122,11 +122,11 @@ function symbolNeedsDraw(data, dataIndex) {
function getTreeNodeStyle(node, itemModel, seriesScope) {
seriesScope.itemModel = itemModel;
seriesScope.itemStyle = itemModel.getModel('itemStyle.normal').getItemStyle();
seriesScope.hoverItemStyle = itemModel.getModel('itemStyle.emphasis').getItemStyle();
seriesScope.lineStyle = itemModel.getModel('lineStyle.normal').getLineStyle();
seriesScope.labelModel = itemModel.getModel('label.normal');
seriesScope.hoverLabelModel = itemModel.getModel('label.emphasis');
seriesScope.itemStyle = itemModel.getModel('itemStyle').getItemStyle();
seriesScope.hoverItemStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();
seriesScope.lineStyle = itemModel.getModel('lineStyle').getLineStyle();
seriesScope.labelModel = itemModel.getModel('label');
seriesScope.hoverLabelModel = itemModel.getModel('emphasis.label');
if (node.isExpand === false && node.children.length !== 0) {
seriesScope.symbolInnerColor = seriesScope.itemStyle.fill;
......
......@@ -31,8 +31,8 @@ Breadcrumb.prototype = {
return;
}
var normalStyleModel = model.getModel('itemStyle.normal');
// var emphasisStyleModel = model.getModel('itemStyle.emphasis');
var normalStyleModel = model.getModel('itemStyle');
// var emphasisStyleModel = model.getModel('emphasis.itemStyle');
var textStyleModel = normalStyleModel.getModel('textStyle');
var layoutParam = {
......
......@@ -58,49 +58,56 @@ export default SeriesModel.extend({
// bottom
emptyItemWidth: 25, // Width of empty node.
itemStyle: {
normal: {
color: 'rgba(0,0,0,0.7)', //'#5793f3',
borderColor: 'rgba(255,255,255,0.7)',
borderWidth: 1,
shadowColor: 'rgba(150,150,150,1)',
shadowBlur: 3,
shadowOffsetX: 0,
shadowOffsetY: 0,
textStyle: {
color: '#fff'
}
},
emphasis: {
textStyle: {}
color: 'rgba(0,0,0,0.7)', //'#5793f3',
borderColor: 'rgba(255,255,255,0.7)',
borderWidth: 1,
shadowColor: 'rgba(150,150,150,1)',
shadowBlur: 3,
shadowOffsetX: 0,
shadowOffsetY: 0,
textStyle: {
color: '#fff'
}
},
emphasis: {
textStyle: {}
}
},
label: {
normal: {
show: true,
// Do not use textDistance, for ellipsis rect just the same as treemap node rect.
distance: 0,
padding: 5,
position: 'inside', // Can be [5, '5%'] or position stirng like 'insideTopLeft', ...
// formatter: null,
color: '#fff',
ellipsis: true
// align
// verticalAlign
}
show: true,
// Do not use textDistance, for ellipsis rect just the same as treemap node rect.
distance: 0,
padding: 5,
position: 'inside', // Can be [5, '5%'] or position stirng like 'insideTopLeft', ...
// formatter: null,
color: '#fff',
ellipsis: true
// align
// verticalAlign
},
upperLabel: { // Label when node is parent.
normal: {
show: false,
position: [0, '50%'],
height: 20,
// formatter: null,
color: '#fff',
ellipsis: true,
// align: null,
verticalAlign: 'middle'
},
emphasis: {
show: false,
position: [0, '50%'],
height: 20,
// formatter: null,
color: '#fff',
ellipsis: true,
// align: null,
verticalAlign: 'middle'
},
itemStyle: {
color: null, // Can be 'none' if not necessary.
colorAlpha: null, // Can be 'none' if not necessary.
colorSaturation: null, // Can be 'none' if not necessary.
borderWidth: 0,
gapWidth: 0,
borderColor: '#fff',
borderColorSaturation: null // If specified, borderColor will be ineffective, and the
// border color is evaluated by color of current node and
// borderColorSaturation.
},
emphasis: {
upperLabel: {
show: true,
position: [0, '50%'],
color: '#fff',
......@@ -108,22 +115,6 @@ export default SeriesModel.extend({
verticalAlign: 'middle'
}
},
itemStyle: {
normal: {
color: null, // Can be 'none' if not necessary.
colorAlpha: null, // Can be 'none' if not necessary.
colorSaturation: null, // Can be 'none' if not necessary.
borderWidth: 0,
gapWidth: 0,
borderColor: '#fff',
borderColorSaturation: null // If specified, borderColor will be ineffective, and the
// border color is evaluated by color of current node and
// borderColorSaturation.
},
emphasis: {
}
},
visualDimension: 0, // Can be 0, 1, 2, 3.
visualMin: null,
......@@ -347,7 +338,7 @@ function setDefault(levels, ecModel) {
var model = new Model(levelDefine);
var modelColor = model.get('color');
if (model.get('itemStyle.normal.color')
if (model.get('itemStyle.color')
|| (modelColor && modelColor !== 'none')
) {
hasColorDefine = true;
......
......@@ -677,8 +677,8 @@ function renderNode(
var thisViewChildren = thisNode.viewChildren;
var upperHeight = thisLayout.upperHeight;
var isParent = thisViewChildren && thisViewChildren.length;
var itemStyleNormalModel = thisNode.getModel('itemStyle.normal');
var itemStyleEmphasisModel = thisNode.getModel('itemStyle.emphasis');
var itemStyleNormalModel = thisNode.getModel('itemStyle');
var itemStyleEmphasisModel = thisNode.getModel('emphasis.itemStyle');
// End of closure ariables available in "Procedures in renderNode".
// -----------------------------------------------------------------
......
......@@ -4,7 +4,7 @@ import * as zrUtil from 'zrender/src/core/util';
var isArray = zrUtil.isArray;
var ITEM_STYLE_NORMAL = 'itemStyle.normal';
var ITEM_STYLE_NORMAL = 'itemStyle';
export default function (ecModel, api, payload) {
......
......@@ -79,7 +79,7 @@ export default echarts.extendComponentView({
// render day rect
_renderDayRect: function (calendarModel, rangeData, group) {
var coordSys = calendarModel.coordinateSystem;
var itemRectStyleModel = calendarModel.getModel('itemStyle.normal').getItemStyle();
var itemRectStyleModel = calendarModel.getModel('itemStyle').getItemStyle();
var sw = coordSys.getCellWidth();
var sh = coordSys.getCellHeight();
......
......@@ -14,21 +14,20 @@ export default MarkerModel.extend({
// markArea should fixed on the coordinate system
animation: false,
label: {
normal: {
show: true,
position: 'top'
},
emphasis: {
show: true,
position: 'top'
}
show: true,
position: 'top'
},
itemStyle: {
normal: {
// color and borderColor default to use color from series
// color: 'auto'
// borderColor: 'auto'
borderWidth: 0
// color and borderColor default to use color from series
// color: 'auto'
// borderColor: 'auto'
borderWidth: 0
},
emphasis: {
label: {
show: true,
position: 'top'
}
}
}
......
......@@ -208,12 +208,12 @@ MarkerView.extend({
areaData.eachItemGraphicEl(function (polygon, idx) {
var itemModel = areaData.getItemModel(idx);
var labelModel = itemModel.getModel('label.normal');
var labelHoverModel = itemModel.getModel('label.emphasis');
var labelModel = itemModel.getModel('label');
var labelHoverModel = itemModel.getModel('emphasis.label');
var color = areaData.getItemVisual(idx, 'color');
polygon.useStyle(
zrUtil.defaults(
itemModel.getModel('itemStyle.normal').getItemStyle(),
itemModel.getModel('itemStyle').getItemStyle(),
{
fill: colorUtil.modifyAlpha(color, 0.4),
stroke: color
......@@ -221,7 +221,7 @@ MarkerView.extend({
)
);
polygon.hoverStyle = itemModel.getModel('itemStyle.emphasis').getItemStyle();
polygon.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();
graphic.setLabelStyle(
polygon.style, polygon.hoverStyle, labelModel, labelHoverModel,
......
......@@ -18,19 +18,17 @@ export default MarkerModel.extend({
trigger: 'item'
},
label: {
normal: {
show: true,
position: 'end'
},
emphasis: {
show: true
}
show: true,
position: 'end'
},
lineStyle: {
normal: {
type: 'dashed'
type: 'dashed'
},
emphasis: {
label: {
show: true
},
emphasis: {
lineStyle: {
width: 3
}
},
......
......@@ -241,7 +241,7 @@ export default MarkerView.extend({
// Update visual and layout of line
lineData.each(function (idx) {
var lineColor = lineData.getItemModel(idx).get('lineStyle.normal.color');
var lineColor = lineData.getItemModel(idx).get('lineStyle.color');
lineData.setItemVisual(idx, {
color: lineColor || fromData.getItemVisual(idx, 'color')
});
......
......@@ -15,17 +15,15 @@ export default MarkerModel.extend({
trigger: 'item'
},
label: {
normal: {
show: true,
position: 'inside'
},
emphasis: {
show: true
}
show: true,
position: 'inside'
},
itemStyle: {
normal: {
borderWidth: 2
borderWidth: 2
},
emphasis: {
label: {
show: true
}
}
}
......
......@@ -9,7 +9,7 @@ var addCommas = formatUtil.addCommas;
var encodeHTML = formatUtil.encodeHTML;
function fillLabel(opt) {
modelUtil.defaultEmphasis(opt.label, ['show']);
modelUtil.defaultEmphasis(opt, 'label', ['show']);
}
var MarkerModel = echarts.extendComponentModel({
......
......@@ -35,28 +35,16 @@ var SliderTimelineModel = TimelineModel.extend({
// When using number, label position is not
// restricted by viewRect.
// positive: right/bottom, negative: left/top
normal: {
show: true,
interval: 'auto',
rotate: 0,
// formatter: null,
// 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: '#304654'
},
emphasis: {
show: true,
// 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: '#c23531'
}
show: true,
interval: 'auto',
rotate: 0,
// formatter: null,
// 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: '#304654'
},
itemStyle: {
normal: {
color: '#304654',
borderWidth: 1
},
emphasis: {
color: '#c23531'
}
color: '#304654',
borderWidth: 1
},
checkpointStyle: {
......@@ -82,12 +70,24 @@ var SliderTimelineModel = TimelineModel.extend({
stopIcon: 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z', // jshint ignore:line
nextIcon: 'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z', // jshint ignore:line
prevIcon: 'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z', // jshint ignore:line
normal: {
color: '#304654',
borderColor: '#304654',
borderWidth: 1
color: '#304654',
borderColor: '#304654',
borderWidth: 1
},
emphasis: {
label: {
show: true,
// 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: '#c23531'
},
emphasis: {
itemStyle: {
color: '#c23531'
},
controlStyle: {
color: '#c23531',
borderColor: '#c23531',
borderWidth: 2
......
......@@ -350,8 +350,8 @@ export default TimelineView.extend({
var tickCoord = axis.dataToCoord(value);
var itemModel = data.getItemModel(dataIndex);
var itemStyleModel = itemModel.getModel('itemStyle.normal');
var hoverStyleModel = itemModel.getModel('itemStyle.emphasis');
var itemStyleModel = itemModel.getModel('itemStyle');
var hoverStyleModel = itemModel.getModel('emphasis.itemStyle');
var symbolOpt = {
position: [tickCoord, 0],
onclick: bind(this._changeTimeline, this, dataIndex)
......@@ -374,7 +374,7 @@ export default TimelineView.extend({
* @private
*/
_renderAxisLabel: function (layoutInfo, group, axis, timelineModel) {
var labelModel = timelineModel.getModel('label.normal');
var labelModel = timelineModel.getModel('label');
if (!labelModel.get('show')) {
return;
......@@ -393,8 +393,8 @@ export default TimelineView.extend({
}
var itemModel = data.getItemModel(dataIndex);
var normalLabelModel = itemModel.getModel('label.normal');
var hoverLabelModel = itemModel.getModel('label.emphasis');
var normalLabelModel = itemModel.getModel('label');
var hoverLabelModel = itemModel.getModel('emphasis.label');
var tickCoord = axis.dataToCoord(tick);
var textEl = new graphic.Text({
position: [tickCoord, 0],
......@@ -423,8 +423,8 @@ export default TimelineView.extend({
var controlSize = layoutInfo.controlSize;
var rotation = layoutInfo.rotation;
var itemStyle = timelineModel.getModel('controlStyle.normal').getItemStyle();
var hoverStyle = timelineModel.getModel('controlStyle.emphasis').getItemStyle();
var itemStyle = timelineModel.getModel('controlStyle').getItemStyle();
var hoverStyle = timelineModel.getModel('emphasis.controlStyle').getItemStyle();
var rect = [0, -controlSize / 2, controlSize, controlSize];
var playState = timelineModel.getPlayState();
var inverse = timelineModel.get('inverse', true);
......
......@@ -49,7 +49,7 @@ TimelineAxis.prototype = {
*/
getLabelInterval: function () {
var timelineModel = this.model;
var labelModel = timelineModel.getModel('label.normal');
var labelModel = timelineModel.getModel('label');
var labelInterval = labelModel.get('interval');
if (labelInterval != null && labelInterval != 'auto') {
......
......@@ -38,15 +38,9 @@ var TimelineModel = ComponentModel.extend({
currentIndex: 0,
itemStyle: {
normal: {},
emphasis: {}
},
itemStyle: {},
label: {
normal: {
color: '#000'
},
emphasis: {}
color: '#000'
},
data: []
......
......@@ -54,11 +54,11 @@ var ToolboxModel = echarts.extendComponentModel({
showTitle: true,
iconStyle: {
normal: {
borderColor: '#666',
color: 'none'
},
emphasis: {
borderColor: '#666',
color: 'none'
},
emphasis: {
iconStyle: {
borderColor: '#3E98C5'
}
}
......
......@@ -100,6 +100,7 @@ export default echarts.extendComponentView({
function createIconPaths(featureModel, feature, featureName) {
var iconStyleModel = featureModel.getModel('iconStyle');
var iconStyleEmphasisModel = featureModel.getModel('emphasis.iconStyle');
// If one feature has mutiple icon. they are orginaized as
// {
......@@ -134,8 +135,8 @@ export default echarts.extendComponentView({
height: itemSize
}
);
path.setStyle(iconStyleModel.getModel('normal').getItemStyle());
path.hoverStyle = iconStyleModel.getModel('emphasis').getItemStyle();
path.setStyle(iconStyleModel.getItemStyle());
path.hoverStyle = iconStyleEmphasisModel.getItemStyle();
graphic.setHoverStyle(path);
......@@ -143,7 +144,7 @@ export default echarts.extendComponentView({
path.__title = titles[iconName];
path.on('mouseover', function () {
// Should not reuse above hoverStyle, which might be modified.
var hoverStyle = iconStyleModel.getModel('emphasis').getItemStyle();
var hoverStyle = iconStyleEmphasisModel.getItemStyle();
path.setStyle({
text: titles[iconName],
textPosition: hoverStyle.textPosition || 'bottom',
......
......@@ -127,7 +127,7 @@ Calendar.prototype = {
this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');
this._orient = this._model.get('orient');
this._lineWidth = this._model.getModel('itemStyle.normal').getItemStyle().lineWidth || 0;
this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;
this._rangeInfo = this._getRangeInfo(this._initRangeOption());
......
......@@ -38,11 +38,9 @@ var CalendarModel = ComponentModel.extend({
// rect style temporarily unused emphasis
itemStyle: {
normal: {
color: '#fff',
borderWidth: 1,
borderColor: '#ccc'
}
color: '#fff',
borderWidth: 1,
borderColor: '#ccc'
},
// week text style
......
......@@ -20,7 +20,7 @@ var GeoModel = ComponentModel.extend({
ComponentModel.prototype.init.apply(this, arguments);
// Default label emphasis `show`
modelUtil.defaultEmphasis(option.label, ['show']);
modelUtil.defaultEmphasis(option, 'label', ['show']);
},
optionUpdated: function () {
......@@ -87,24 +87,23 @@ var GeoModel = ComponentModel.extend({
// selectedMode: false
label: {
normal: {
show: false,
color: '#000'
},
emphasis: {
show: true,
color: 'rgb(100,0,0)'
}
show: false,
color: '#000'
},
itemStyle: {
normal: {
// color: 各异,
borderWidth: 0.5,
borderColor: '#444',
color: '#eee'
// color: 各异,
borderWidth: 0.5,
borderColor: '#444',
color: '#eee'
},
emphasis: {
label: {
show: true,
color: 'rgb(100,0,0)'
},
emphasis: { // 也是选中样式
itemStyle: {
color: 'rgba(255,215,0,0.8)'
}
},
......
......@@ -46,7 +46,7 @@ var SeriesModel = ComponentModel.extend({
/**
* Access path of color for visual
*/
visualColorAccessPath: 'itemStyle.normal.color',
visualColorAccessPath: 'itemStyle.color',
/**
* Support merge layout params.
......@@ -120,7 +120,7 @@ var SeriesModel = ComponentModel.extend({
zrUtil.merge(option, this.getDefaultOption());
// Default label emphasis `show`
modelUtil.defaultEmphasis(option.label, ['show']);
modelUtil.defaultEmphasis(option, 'label', ['show']);
this.fillDataTextStyle(option.data);
......@@ -155,7 +155,7 @@ var SeriesModel = ComponentModel.extend({
var props = ['show'];
for (var i = 0; i < data.length; i++) {
if (data[i] && data[i].label) {
modelUtil.defaultEmphasis(data[i].label, props);
modelUtil.defaultEmphasis(data[i], 'label', props);
}
}
}
......
......@@ -48,12 +48,6 @@ var COMPATITABLE_COMPONENTS = [
'grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline'
];
var COMPATITABLE_SERIES = [
'bar', 'boxplot', 'candlestick', 'chord', 'effectScatter',
'funnel', 'gauge', 'lines', 'graph', 'heatmap', 'line', 'map', 'parallel',
'pie', 'radar', 'sankey', 'scatter', 'treemap'
];
export default function (option, isTheme) {
compatStyle(option, isTheme);
......@@ -78,12 +72,7 @@ export default function (option, isTheme) {
&& set(seriesOpt, 'itemStyle.normal.color', pointerColor);
}
for (var i = 0; i < COMPATITABLE_SERIES.length; i++) {
if (COMPATITABLE_SERIES[i] === seriesOpt.type) {
compatLayoutProperties(seriesOpt);
break;
}
}
compatLayoutProperties(seriesOpt);
});
// dataRange has changed to visualMap
......
......@@ -9,7 +9,7 @@ var POSSIBLE_STYLES = [
'chordStyle', 'label', 'labelLine'
];
function compatItemStyle(opt) {
function compatEC2ItemStyle(opt) {
var itemStyleOpt = opt && opt.itemStyle;
if (!itemStyleOpt) {
return;
......@@ -41,23 +41,49 @@ function compatItemStyle(opt) {
}
}
function compatTextStyle(opt, propName) {
var labelOptSingle = isObject(opt) && opt[propName];
var textStyle = isObject(labelOptSingle) && labelOptSingle.textStyle;
function convertNormalEmphasis(opt, optType) {
if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {
var normalOpt = opt[optType].normal;
var emphasisOpt = opt[optType].emphasis;
if (normalOpt) {
opt[optType] = normalOpt;
}
if (emphasisOpt) {
opt.emphasis = opt.emphasis || {};
opt.emphasis[optType] = emphasisOpt;
}
}
}
function removeEC3NormalStatus(opt) {
convertNormalEmphasis(opt, 'itemStyle');
convertNormalEmphasis(opt, 'lineStyle');
convertNormalEmphasis(opt, 'areaStyle');
convertNormalEmphasis(opt, 'label');
convertNormalEmphasis(opt, 'labelLine');
// treemap
convertNormalEmphasis(opt, 'upperLabel');
// graph
convertNormalEmphasis(opt, 'edgeLabel');
}
function compatTextStyle(labelOpt) {
var textStyle = isObject(labelOpt) && labelOpt.textStyle;
if (textStyle) {
for (var i = 0, len = modelUtil.TEXT_STYLE_OPTIONS.length; i < len; i++) {
var propName = modelUtil.TEXT_STYLE_OPTIONS[i];
if (textStyle.hasOwnProperty(propName)) {
labelOptSingle[propName] = textStyle[propName];
labelOpt[propName] = textStyle[propName];
}
}
}
}
function compatLabelTextStyle(labelOpt) {
if (isObject(labelOpt)) {
compatTextStyle(labelOpt, 'normal');
compatTextStyle(labelOpt, 'emphasis');
function compatEC3CommonStyles(opt) {
if (opt) {
removeEC3NormalStatus(opt);
compatTextStyle(opt.label);
opt.emphasis && compatTextStyle(opt.emphasis.label);
}
}
......@@ -66,34 +92,52 @@ function processSeries(seriesOpt) {
return;
}
compatItemStyle(seriesOpt);
compatLabelTextStyle(seriesOpt.label);
compatEC2ItemStyle(seriesOpt);
removeEC3NormalStatus(seriesOpt);
compatTextStyle(seriesOpt.label);
// treemap
compatLabelTextStyle(seriesOpt.upperLabel);
compatTextStyle(seriesOpt.upperLabel);
// graph
compatLabelTextStyle(seriesOpt.edgeLabel);
compatTextStyle(seriesOpt.edgeLabel);
if (seriesOpt.emphasis) {
compatTextStyle(seriesOpt.emphasis.label);
// treemap
compatTextStyle(seriesOpt.emphasis.upperLabel);
// graph
compatTextStyle(seriesOpt.emphasis.edgeLabel);
}
var markPoint = seriesOpt.markPoint;
compatItemStyle(markPoint);
compatLabelTextStyle(markPoint && markPoint.label);
if (markPoint) {
compatEC2ItemStyle(markPoint);
compatEC3CommonStyles(markPoint);
}
var markLine = seriesOpt.markLine;
compatItemStyle(seriesOpt.markLine);
compatLabelTextStyle(markLine && markLine.label);
if (markLine) {
compatEC2ItemStyle(markLine);
compatEC3CommonStyles(markLine);
}
var markArea = seriesOpt.markArea;
compatLabelTextStyle(markArea && markArea.label);
// For gauge
compatTextStyle(seriesOpt, 'axisLabel');
compatTextStyle(seriesOpt, 'title');
compatTextStyle(seriesOpt, 'detail');
if (markArea) {
compatEC3CommonStyles(markArea);
}
var data = seriesOpt.data;
if (seriesOpt.type === 'graph') {
data = data || seriesOpt.nodes;
var edgeData = seriesOpt.links || seriesOpt.edges;
if (edgeData && !zrUtil.isTypedArray(edgeData)) {
for (var i = 0; i < edgeData.length; i++) {
compatEC3CommonStyles(edgeData[i]);
}
}
}
if (data && !zrUtil.isTypedArray(data)) {
for (var i = 0; i < data.length; i++) {
compatItemStyle(data[i]);
compatLabelTextStyle(data[i] && data[i].label);
compatEC3CommonStyles(data[i]);
}
}
......@@ -102,8 +146,7 @@ function processSeries(seriesOpt) {
if (markPoint && markPoint.data) {
var mpData = markPoint.data;
for (var i = 0; i < mpData.length; i++) {
compatItemStyle(mpData[i]);
compatLabelTextStyle(mpData[i] && mpData[i].label);
compatEC3CommonStyles(mpData[i]);
}
}
// mark line data
......@@ -112,17 +155,30 @@ function processSeries(seriesOpt) {
var mlData = markLine.data;
for (var i = 0; i < mlData.length; i++) {
if (zrUtil.isArray(mlData[i])) {
compatItemStyle(mlData[i][0]);
compatLabelTextStyle(mlData[i][0] && mlData[i][0].label);
compatItemStyle(mlData[i][1]);
compatLabelTextStyle(mlData[i][1] && mlData[i][1].label);
compatEC3CommonStyles(mpData[i][0]);
compatEC3CommonStyles(mpData[i][1]);
}
else {
compatItemStyle(mlData[i]);
compatLabelTextStyle(mlData[i] && mlData[i].label);
compatEC3CommonStyles(mlData[i]);
}
}
}
// Series
if (seriesOpt.type === 'gauge') {
compatTextStyle(seriesOpt, 'axisLabel');
compatTextStyle(seriesOpt, 'title');
compatTextStyle(seriesOpt, 'detail');
}
else if (seriesOpt.type === 'treemap') {
convertNormalEmphasis(seriesOpt.breadcrumb, 'itemStyle');
}
else if (seriesOpt.levels || seriesOpt.categories) {
zrUtil.each(seriesOpt.levels || seriesOpt.categories, function (opt) {
removeEC3NormalStatus(opt);
});
}
}
function toArr(o) {
......@@ -172,14 +228,27 @@ export default function (option, isTheme) {
each(toArr(option.geo), function (geoOpt) {
if (isObject(geoOpt)) {
compatLabelTextStyle(geoOpt.label);
compatEC3CommonStyles(geoOpt);
each(toArr(geoOpt.regions), function (regionObj) {
compatLabelTextStyle(regionObj.label);
compatEC3CommonStyles(regionObj);
});
}
});
compatLabelTextStyle(toObj(option.timeline).label);
each(toArr(option.timeline), function (timelineOpt) {
compatEC3CommonStyles(timelineOpt);
convertNormalEmphasis(timelineOpt, 'controlStyle');
convertNormalEmphasis(timelineOpt, 'checkpointStyle');
});
each(toArr(option.toolbox), function (toolboxOpt) {
convertNormalEmphasis(toolboxOpt, 'iconStyle');
each(toolboxOpt.feature, function (featureOpt) {
convertNormalEmphasis(featureOpt, 'iconStyle');
});
});
compatTextStyle(toObj(option.axisPointer), 'label');
compatTextStyle(toObj(option.tooltip).axisPointer, 'label');
}
\ No newline at end of file
......@@ -279,16 +279,16 @@ function doSingleEnterHover(el) {
// styles can be:
// {
// label: {
// normal: {
// show: false,
// position: 'outside',
// fontSize: 18
// },
// emphasis: {
// show: true
// }
// }
// label: {
// show: false,
// position: 'outside',
// fontSize: 18
// },
// emphasis: {
// label: {
// show: true
// }
// }
// },
// where properties of `emphasis` may not appear in `normal`. We previously use
// module:echarts/util/model#defaultEmphasis to merge `normal` to `emphasis`.
......@@ -606,10 +606,8 @@ function setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis) {
// data: [{
// value: 12,
// label: {
// normal: {
// rich: {
// // no 'a' here but using parent 'a'.
// }
// rich: {
// // no 'a' here but using parent 'a'.
// }
// }
// }],
......@@ -646,10 +644,8 @@ function setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis) {
// data: [{
// value: 12,
// label: {
// normal: {
// rich: {
// // no 'a' here but using parent 'a'.
// }
// rich: {
// // no 'a' here but using parent 'a'.
// }
// }
// }],
......
......@@ -22,30 +22,30 @@ export function normalizeToArray(value) {
* Sync default option between normal and emphasis like `position` and `show`
* In case some one will write code like
* label: {
* normal: {
* show: false,
* position: 'outside',
* fontSize: 18
* },
* emphasis: {
* show: true
* }
* show: false,
* position: 'outside',
* fontSize: 18
* },
* emphasis: {
* label: { show: true }
* }
* @param {Object} opt
* @param {string} key
* @param {Array.<string>} subOpts
*/
export function defaultEmphasis(opt, subOpts) {
export function defaultEmphasis(opt, key, subOpts) {
if (opt) {
var emphasisOpt = opt.emphasis = opt.emphasis || {};
var normalOpt = opt.normal = opt.normal || {};
opt[key] = opt[key] || {};
opt.emphasis = opt.emphasis || {};
opt.emphasis[key] = opt.emphasis[key] || {};
// Default emphasis option from normal
for (var i = 0, len = subOpts.length; i < len; i++) {
var subOptName = subOpts[i];
if (!emphasisOpt.hasOwnProperty(subOptName)
&& normalOpt.hasOwnProperty(subOptName)
if (!opt.emphasis[key].hasOwnProperty(subOptName)
&& opt[key].hasOwnProperty(subOptName)
) {
emphasisOpt[subOptName] = normalOpt[subOptName];
opt.emphasis[key][subOptName] = opt[key][subOptName];
}
}
}
......@@ -196,7 +196,10 @@ export var dataFormatMixin = {
params.value = params.value[dimIndex];
}
var formatter = itemModel.get([labelProp || 'label', status, 'formatter']);
var formatter = itemModel.get(status === 'normal' ?
[labelProp || 'label', 'formatter'] : [labelProp || 'label', status, 'formatter']
);
if (typeof formatter === 'function') {
params.status = status;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册