62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
|
|
import * as echarts from 'echarts/lib/echarts';
|
||
|
|
var GL_SERIES = ['bar3D', 'line3D', 'map3D', 'scatter3D', 'surface', 'lines3D', 'scatterGL', 'scatter3D'];
|
||
|
|
|
||
|
|
function convertNormalEmphasis(option, optType) {
|
||
|
|
if (option && option[optType] && (option[optType].normal || option[optType].emphasis)) {
|
||
|
|
var normalOpt = option[optType].normal;
|
||
|
|
var emphasisOpt = option[optType].emphasis;
|
||
|
|
|
||
|
|
if (normalOpt) {
|
||
|
|
option[optType] = normalOpt;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (emphasisOpt) {
|
||
|
|
option.emphasis = option.emphasis || {};
|
||
|
|
option.emphasis[optType] = emphasisOpt;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function convertNormalEmphasisForEach(option) {
|
||
|
|
convertNormalEmphasis(option, 'itemStyle');
|
||
|
|
convertNormalEmphasis(option, 'lineStyle');
|
||
|
|
convertNormalEmphasis(option, 'areaStyle');
|
||
|
|
convertNormalEmphasis(option, 'label');
|
||
|
|
}
|
||
|
|
|
||
|
|
function removeTextStyleInAxis(axesOpt) {
|
||
|
|
if (!axesOpt) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!(axesOpt instanceof Array)) {
|
||
|
|
axesOpt = [axesOpt];
|
||
|
|
}
|
||
|
|
|
||
|
|
echarts.util.each(axesOpt, function (axisOpt) {
|
||
|
|
if (axisOpt.axisLabel) {
|
||
|
|
var labelOpt = axisOpt.axisLabel;
|
||
|
|
Object.assign(labelOpt, labelOpt.textStyle);
|
||
|
|
labelOpt.textStyle = null;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export default function (option) {
|
||
|
|
echarts.util.each(option.series, function (series) {
|
||
|
|
if (echarts.util.indexOf(GL_SERIES, series.type) >= 0) {
|
||
|
|
convertNormalEmphasisForEach(series); // Compatitable with original mapbox
|
||
|
|
|
||
|
|
if (series.coordinateSystem === 'mapbox') {
|
||
|
|
series.coordinateSystem = 'mapbox3D';
|
||
|
|
option.mapbox3D = option.mapbox;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
removeTextStyleInAxis(option.xAxis3D);
|
||
|
|
removeTextStyleInAxis(option.yAxis3D);
|
||
|
|
removeTextStyleInAxis(option.zAxis3D);
|
||
|
|
removeTextStyleInAxis(option.grid3D);
|
||
|
|
convertNormalEmphasis(option.geo3D);
|
||
|
|
}
|
||
|
|
;
|