ming-demo3
Version:
mdf metaui web
247 lines (222 loc) • 9.81 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setOption = setOption;
var _set2 = _interopRequireDefault(require("lodash/set"));
var _filter2 = _interopRequireDefault(require("lodash/filter"));
var _get2 = _interopRequireDefault(require("lodash/get"));
var _react = _interopRequireWildcard(require("react"));
var eChartDemoData = _interopRequireWildcard(require("../eChartDemoData"));
var eChartCommon = _interopRequireWildcard(require("../eChartCommon"));
function setOption(chartDisplayType, option, yySetting, data, skinConfig, panelType) {
var dimensionCodeFileld = eChartCommon.eChartLabel.unionedXCode;
var dimensionNameFileld = eChartCommon.eChartLabel.unionedXName;
var legendData = [];
var series = [];
var xAxisData = [];
var dimensionX = (0, _get2["default"])(yySetting, 'dataField.dimensionX');
var dimensionSub = (0, _get2["default"])(yySetting, 'dataField.dimensionSub');
var measure = (0, _get2["default"])(yySetting, 'dataField.measure');
var barWidth = (0, _get2["default"])(yySetting, 'series.barWidth') ? (0, _get2["default"])(yySetting, 'series.barWidth') : 10;
var barMaxWidth = (0, _get2["default"])(yySetting, 'series.barMaxWidth') ? (0, _get2["default"])(yySetting, 'series.barMaxWidth') : 10;
var barGap = (0, _get2["default"])(yySetting, 'series.barGap') ? (0, _get2["default"])(yySetting, 'series.barGap') : '100%';
var barCategoryGap = (0, _get2["default"])(yySetting, 'series.barCategoryGap') ? (0, _get2["default"])(yySetting, 'series.barCategoryGap') : '20%';
var maxNameLength = 0;
var colorList = eChartCommon.getChartColorArr(100);
var min0 = 99999999;
var max0 = -99999999;
var min1 = 99999999;
var max1 = -99999999;
{
measure.forEach(function (itemMeasure, index) {
legendData.push({
name: itemMeasure.caption,
textStyle: {
width: '10px',
height: '10px'
}
});
var seriesData = [];
data.forEach(function (itemData) {
if (!!itemData[dimensionNameFileld] == true) {
var tmpValue = (0, _get2["default"])(itemData, itemMeasure.valueField, 0);
seriesData.push(tmpValue);
if (itemMeasure.yAxisIndex == 0 && tmpValue < min0) min0 = tmpValue;
if (itemMeasure.yAxisIndex == 0 && tmpValue > max0) max0 = tmpValue;
if (itemMeasure.yAxisIndex == 1 && tmpValue < min1) min1 = tmpValue;
if (itemMeasure.yAxisIndex == 1 && tmpValue > max1) max1 = tmpValue;
if (xAxisData.indexOf(itemData[dimensionNameFileld]) < 0) {
if (maxNameLength < itemData[dimensionNameFileld].length) maxNameLength = itemData[dimensionNameFileld].length;
xAxisData.push(itemData[dimensionNameFileld]);
}
}
});
var yAxisIndex = itemMeasure.yAxisIndex;
var yAxisIndexType = yAxisIndex == 0 ? yySetting.yAxis.yAxisIndexType0 : yySetting.yAxis.yAxisIndexType1;
if (yAxisIndexType == "bar") {
series.push({
name: itemMeasure.caption,
type: "bar",
stack: itemMeasure.hasOwnProperty("stack") ? itemMeasure.stack : yySetting.stack,
silent: true,
barMaxWidth: barMaxWidth,
data: seriesData,
itemStyle: {
normal: {
color: colorList[index],
barBorderRadius: yySetting.bVertical == true ? [5, 5, 0, 0] : [0, 5, 5, 0],
opacity: 1
}
},
yAxisIndex: yAxisIndex
});
} else {
series.push({
name: itemMeasure.caption,
type: 'line',
stack: itemMeasure.hasOwnProperty("stack") ? itemMeasure.stack : yySetting.stack,
smooth: itemMeasure.hasOwnProperty("smooth") ? itemMeasure.smooth : yySetting.smooth,
silent: true,
data: seriesData,
itemStyle: {
normal: {
color: colorList[index],
lineStyle: {
color: colorList[index],
width: 1.5
}
}
},
yAxisIndex: yAxisIndex
});
}
});
}
var measure0 = (0, _filter2["default"])(measure, function (o) {
return o.yAxisIndex == 0;
});
var measure1 = (0, _filter2["default"])(measure, function (o) {
return o.yAxisIndex == 1;
});
if (measure0.length == 1 && option.yAxis[0].name == "") option.yAxis[0].name = measure0[0].caption;
if (measure1.length == 1 && option.yAxis[1].name == "") option.yAxis[1].name = measure1[0].caption;
option.legend.data = legendData;
option.series = series;
var needWrap = (0, _get2["default"])(yySetting, 'xAxis.axisLabel.needWrap');
var wrapRowLen = (0, _get2["default"])(yySetting, 'xAxis.axisLabel.wrapRowLen');
if (needWrap && wrapRowLen) {
option.xAxis.axisLabel.formatter = function (value) {
return eChartCommon.wrapString(value, wrapRowLen);
};
}
option.xAxis.data = xAxisData;
option.tooltip.formatter = function (params) {
var result = '';
params.forEach(function (item) {
if (result == '') result = item.name;
result = result + "</br>" + '<span style="display:inline-block;margin-right:5px;border-radius:9px;width:8px;height:8px;background-color:' + item.color + '"></span>' + " " + item.seriesName + " : " + item.value;
});
return result;
};
if (min0 >= 0 && min1 >= 0) {
min0 = 0;
min1 = 0;
} else if (min0 >= 0 && min1 < 0) {
min0 = min1 * max0 / max1;
} else if (min1 >= 0 && min0 < 0) {
min1 = min0 * max1 / max0;
} else {
if (Math.abs(max0 / min0) < Math.abs(max1 / min1)) {
min1 = min0 * max1 / max0;
} else {
min0 = min1 * max0 / max1;
}
}
if (legendData.length * xAxisData.length > 100) {
option.dataZoom = [{
type: 'inside',
zoomOnMouseWheel: 'shift'
}];
}
if (chartDisplayType == "panel") {
option.grid.left = '5%';
option.grid.right = '5%';
option.grid.bottom = '5%';
option.grid.containLabel = true;
option.yAxis[0].nameLocation = "start";
option.yAxis[1].nameLocation = "start";
if (panelType == 3) {
option.title.left = 10;
option.legend.left = 10;
} else if (panelType == 2) {
option.tooltip.position = function (point, params, dom, rect, size) {
var x = point[0];
var y = point[1];
var viewWidth = size.viewSize[0];
var viewHeight = size.viewSize[1];
var boxWidth = size.contentSize[0];
var boxHeight = size.contentSize[1];
var posX = 0;
var posY = 0;
if (x < boxWidth) {
posX = 5;
} else {
posX = x - boxWidth;
}
if (y < boxHeight) {
posY = 5;
} else {
posY = y - boxHeight;
}
return [posX, posY];
};
}
} else if (chartDisplayType == "mobile") {
option.title.top = 20;
option.legend.top = 55;
option.grid.top = 115;
option.grid.left = '2%';
option.grid.right = '2%';
option.grid.bottom = '5%';
option.grid.containLabel = true;
option.xAxis.nameLocation = "start";
option.yAxis.nameLocation = "start";
} else if (chartDisplayType == "rpt") {
option.grid.containLabel = true;
option.grid.left = '2%';
option.grid.right = '2%';
}
if (!!skinConfig && skinConfig.displaySkin) {
(0, _set2["default"])(option, "title.textStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "legend.textStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "xAxis.nameTextStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "yAxis[0].nameTextStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "yAxis[1].nameTextStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "xAxis.axisLine.lineStyle.color", skinConfig.displaySkin.axisLineColor);
(0, _set2["default"])(option, "yAxis[0].axisLine.lineStyle.color", skinConfig.displaySkin.axisLineColor);
(0, _set2["default"])(option, "yAxis[1].axisLine.lineStyle.color", skinConfig.displaySkin.axisLineColor);
(0, _set2["default"])(option, "xAxis.splitLine.lineStyle.color", skinConfig.displaySkin.splitLineColor);
(0, _set2["default"])(option, "yAxis[0].splitLine.lineStyle.color", skinConfig.displaySkin.splitLineColor);
(0, _set2["default"])(option, "yAxis[1].splitLine.lineStyle.color", skinConfig.displaySkin.splitLineColor);
(0, _set2["default"])(option, "xAxis.axisLabel.textStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "yAxis[0].axisLabel.textStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "yAxis[1].axisLabel.textStyle.color", skinConfig.displaySkin.textColor);
}
option.legend.pageIconColor = "#949CA6";
option.legend.pageIconInactiveColor = "#C9CDD3";
option.legend.pageIconSize = 10;
setAddLengthInfoByRotate(option, yySetting, chartDisplayType, panelType, maxNameLength, (0, _get2["default"])(option, 'xAxis.axisLabel.rotate'));
return option;
}
var setAddLengthInfoByRotate = function setAddLengthInfoByRotate(option, yySetting, chartDisplayType, panelType, charLength, rotate) {
if (!!charLength && charLength > 1 && !!rotate && (chartDisplayType == "mobile" || chartDisplayType == "panel" && panelType == 3)) {
option.addLengthInfo = {
charLength: charLength,
rotate: rotate
};
}
};
//# sourceMappingURL=barlineChart.js.map