Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
refresh: function (param) {
this._clearEffect();
param = param || {};
var magicOption = param.option;
// 外部调用的refresh且有option带入
if (!this._refreshInside && magicOption) {
// 做简单的差异合并去同步内部持有的数据克隆,不建议带入数据
// 开启数据区域缩放、拖拽重计算、数据视图可编辑模式情况下,当用户产生了数据变化后无法同步
// 如有带入option存在数据变化,请重新setOption
magicOption = this.getOption();
zrUtil.merge(magicOption, param.option, true);
zrUtil.merge(this._optionRestore, param.option, true);
this._toolbox.reset(magicOption);
}
this._island.refresh(magicOption);
this._toolbox.refresh(magicOption);
// 停止动画
this._zr.clearAnimation();
// 先来后到,安顺序刷新各种图表,图表内部refresh优化检查magicOption,无需更新则不更新~
for (var i = 0, l = this._chartList.length; i < l; i++) {
this._chartList[i].refresh && this._chartList[i].refresh(magicOption);
}
this.component.grid && this.component.grid.refixAxisShape(this.component);
this._zr.refresh();
},
function refresh(newOption) {
if (newOption) {
option = self.reformOption(newOption);
// 通用字体设置
option.axisLabel.textStyle = zrUtil.merge(
option.axisLabel.textStyle || {},
ecConfig.textStyle,
{
'overwrite' : false,
'recursive' : true
}
);
option.axisLabel.textStyle = zrUtil.merge(
option.axisLabel.textStyle || {},
ecConfig.textStyle,
{
'overwrite' : false,
'recursive' : true
}
);
}
self.clear();
_buildShape();
}
// false 1票否决
this._hoverLinkMap[mapType] = series[i].dataRangeHoverLink;
}
this._nameMap[mapType] = this._nameMap[mapType] || {};
series[i].nameMap
&& zrUtil.merge(this._nameMap[mapType], series[i].nameMap, true);
this._activeMapType[mapType] = true;
if (series[i].textFixed) {
zrUtil.merge(
_textFixed, series[i].textFixed, true
);
}
if (series[i].geoCoord) {
zrUtil.merge(
_geoCoord, series[i].geoCoord, true
);
}
this._selectedMode[mapType] = this._selectedMode[mapType]
|| series[i].selectedMode;
if (this._hoverable[mapType] == null || this._hoverable[mapType]) {
// false 1票否决
this._hoverable[mapType] = series[i].hoverable;
}
if (this._clickable[mapType] == null || this._clickable[mapType]) {
// false 1票否决
this._clickable[mapType] = series[i].clickable;
}
if (this._showLegendSymbol[mapType] == null
|| this._showLegendSymbol[mapType]
zrUtil.merge(
linkShape.style,
this.query(serie, 'itemStyle.normal.linkStyle'),
true
);
zrUtil.merge(
linkShape.highlightStyle,
this.query(serie, 'itemStyle.emphasis.linkStyle'),
true
);
if (typeof(link.itemStyle) !== 'undefined') {
if(link.itemStyle.normal){
zrUtil.merge(linkShape.style, link.itemStyle.normal, true);
}
if(link.itemStyle.emphasis){
zrUtil.merge(
linkShape.highlightStyle,
link.itemStyle.emphasis,
true
);
}
}
// 兼容原有写法
linkShape.style.lineWidth
= linkShape.style.lineWidth || linkShape.style.width;
linkShape.style.strokeColor
= linkShape.style.strokeColor || linkShape.style.color;
linkShape.highlightStyle.lineWidth
= linkShape.highlightStyle.lineWidth || linkShape.highlightStyle.width;
linkShape.highlightStyle.strokeColor
= linkShape.highlightStyle.strokeColor || linkShape.highlightStyle.color;
&& _optionBackup.toolbox.feature.magicType.length > 0
) {
magicOption = _getMagicOption();
}
else {
magicOption = _getMagicOption(_island.getOption());
}
zrUtil.merge(
magicOption, param.option,
{ 'overwrite': true, 'recursive': true }
);
zrUtil.merge(
_optionBackup, param.option,
{ 'overwrite': true, 'recursive': true }
);
zrUtil.merge(
_optionRestore, param.option,
{ 'overwrite': true, 'recursive': true }
);
_island.refresh(magicOption);
_toolbox.refresh(magicOption);
}
// 先来后到,安顺序刷新各种图表,图表内部refresh优化检查magicOption,无需更新则不更新~
for (var i = 0, l = _chartList.length; i < l; i++) {
_chartList[i].refresh && _chartList[i].refresh(magicOption);
}
_zr.refresh();
}
if (axisLabel.show) {
style = {};
style.textFont = this.getFont();
//Todo: bug fix
style = zrUtil.merge(style, axisLabel);
style.lineWidth = style.width;
vector = __ecIndicator[i].vector;
value = __ecIndicator[i].value;
theta = i / indicator.length * 2 * Math.PI;
offset = axisLabel.offset || 10;
interval = axisLabel.interval || 0;
for (var j = 1 ; j <= splitNumber; j += interval + 1) {
newStyle = zrUtil.merge({}, style);
text =
j * (value.max - value.min) / splitNumber
+ value.min;
if (precision) {
text = text.toFixed(precision);
}
newStyle.text = this.numAddCommas(text);
newStyle.x = j * vector[0] / splitNumber
+ Math.cos(theta) * offset + center[0];
newStyle.y = j * vector[1] / splitNumber
+ Math.sin(theta) * offset + center[1];
this.shapeList.push(new TextShape({
zlevel : this._zlevelBase,
style : newStyle,
draggable : false,
xStart: 0,
yStart: 0,
xEnd: 0,
yEnd: 0
},
clickable: this.query(serie, 'clickable'),
highlightStyle: {},
zlevel: this.getZlevelBase(),
z: this.getZBase()
});
if (otherEdge && otherEdge.shape) {
linkShape.style.offset = 4;
otherEdge.shape.style.offset = 4;
}
zrUtil.merge(linkShape.style, this.query(serie, 'itemStyle.normal.linkStyle'), true);
zrUtil.merge(linkShape.highlightStyle, this.query(serie, 'itemStyle.emphasis.linkStyle'), true);
if (typeof link.itemStyle !== 'undefined') {
if (link.itemStyle.normal) {
zrUtil.merge(linkShape.style, link.itemStyle.normal, true);
}
if (link.itemStyle.emphasis) {
zrUtil.merge(linkShape.highlightStyle, link.itemStyle.emphasis, true);
}
}
linkShape.style.lineWidth = linkShape.style.lineWidth || linkShape.style.width;
linkShape.style.strokeColor = linkShape.style.strokeColor || linkShape.style.color;
linkShape.highlightStyle.lineWidth = linkShape.highlightStyle.lineWidth || linkShape.highlightStyle.width;
linkShape.highlightStyle.strokeColor = linkShape.highlightStyle.strokeColor || linkShape.highlightStyle.color;
ecData.pack(linkShape, serie, serieIdx, gEdge.data, gEdge.rawIndex == null ? i : gEdge.rawIndex, gEdge.data.name || source.id + ' - ' + target.id, source.id, target.id);
this.shapeList.push(linkShape);
this.zr.addShape(linkShape);
gEdge.shape = linkShape;
style: {
xStart: 0,
yStart: 0,
xEnd: 0,
yEnd: 0
},
clickable: this.query(serie, 'clickable'),
highlightStyle: {},
zlevel: this.getZlevelBase(),
z: this.getZBase()
});
zrUtil.merge(linkShape.style, this.query(serie, 'itemStyle.normal.linkStyle'), true);
zrUtil.merge(linkShape.highlightStyle, this.query(serie, 'itemStyle.emphasis.linkStyle'), true);
if (typeof link.itemStyle !== 'undefined') {
if (link.itemStyle.normal) {
zrUtil.merge(linkShape.style, link.itemStyle.normal, true);
}
if (link.itemStyle.emphasis) {
zrUtil.merge(linkShape.highlightStyle, link.itemStyle.emphasis, true);
}
}
linkShape.style.lineWidth = linkShape.style.lineWidth || linkShape.style.width;
linkShape.style.strokeColor = linkShape.style.strokeColor || linkShape.style.color;
linkShape.highlightStyle.lineWidth = linkShape.highlightStyle.lineWidth || linkShape.highlightStyle.width;
linkShape.highlightStyle.strokeColor = linkShape.highlightStyle.strokeColor || linkShape.highlightStyle.color;
ecData.pack(linkShape, serie, serieIdx, gEdge.data, gEdge.rawIndex == null ? i : gEdge.rawIndex, gEdge.data.name || source.id + ' - ' + target.id, source.id, target.id);
this.shapeList.push(linkShape);
this.zr.addShape(linkShape);
gEdge.shape = linkShape;
if (serie.linkSymbol && serie.linkSymbol !== 'none') {
var symbolShape = new IconShape({
style: {
markLine.data[i][1].y = mlData[1].y != null ? mlData[1].y : pos[1][1];
}
var shapeList = this._markLine(seriesIndex, markLine);
var isLarge = markLine.large;
if (isLarge) {
var shapeBundle = new ShapeBundle({
style: {
shapeList: shapeList
}
});
var firstShape = shapeList[0];
if (firstShape) {
zrUtil.merge(shapeBundle.style, firstShape.style);
zrUtil.merge(shapeBundle.highlightStyle = {}, firstShape.highlightStyle);
shapeBundle.style.brushType = 'stroke';
shapeBundle.zlevel = serie.zlevel;
shapeBundle.z = serie.z + 1;
shapeBundle.hoverable = false;
for (var key in attachStyle) {
shapeBundle[key] = zrUtil.clone(attachStyle[key]);
}
}
this.shapeList.push(shapeBundle);
this.zr.addShape(shapeBundle);
shapeBundle._mark = 'largeLine';
var effect = markLine.effect;
if (effect.show) {
shapeBundle.effect = effect;
serie.markPoint, this.ecTheme.markPoint || {}
),
ecConfig.markPoint
);
if (serie.markPoint.large) {
this._buildSingleTypeMarker(
'largePoint', seriesIndex, parentNode
);
} else {
this._buildSingleTypeMarker(
'point', seriesIndex, parentNode
);
}
}
if (serie.markLine) {
zrUtil.merge(
zrUtil.merge(
serie.markLine, this.ecTheme.markLine || {}
),
ecConfig.markLine
);
this._buildSingleTypeMarker(
'line', seriesIndex, parentNode
);
}
if (serie.markBar) {
zrUtil.merge(
zrUtil.merge(
serie.markBar, this.ecTheme.markBar || {}
),
ecConfig.markBar
);