ming-demo3
Version:
mdf metaui web
296 lines (261 loc) • 10.8 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 _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 eChartSubType = yySetting.subType;
var maxNameLength = 0;
var colorList = eChartCommon.getChartColorArr(100);
if (dimensionSub.length > 0) {
var dimensionSubCodeFileld = eChartCommon.eChartLabel.unionedSubCode;
var dimensionSubNameFileld = eChartCommon.eChartLabel.unionedSubName;
var dimensionSubStack = yySetting.stack;
var measureValueField = measure[0].valueField;
var xAxisItems = [];
var seriesItems = [];
data.forEach(function (itemData) {
if (xAxisItems.indexOf(itemData[dimensionNameFileld]) < 0) {
xAxisItems.push(itemData[dimensionNameFileld]);
if (maxNameLength < itemData[dimensionNameFileld].length) maxNameLength = itemData[dimensionNameFileld].length;
}
itemData[dimensionSubNameFileld] = eChartCommon.trimCaptionForLegend(itemData[dimensionSubNameFileld], "barChart");
if (seriesItems.indexOf(itemData[dimensionSubNameFileld]) < 0) {
seriesItems.push(itemData[dimensionSubNameFileld]);
}
});
seriesItems.forEach(function (eleS) {
legendData.push({
name: eleS,
textStyle: {
width: '10px',
height: '10px'
}
});
var seriesData = [];
xAxisItems.forEach(function (eleX) {
if (xAxisData.indexOf(eleX) < 0) xAxisData.push(eleX);
var itemDataValue = "0";
data.forEach(function (itemData) {
if (itemData[dimensionNameFileld] == eleX && itemData[dimensionSubNameFileld] == eleS) itemDataValue = itemData[measureValueField];
});
seriesData.push(itemDataValue);
});
series.push({
name: eleS,
type: 'bar',
stack: dimensionSubStack,
silent: true,
barMaxWidth: barMaxWidth,
data: seriesData,
itemStyle: {
normal: {
color: function color(params) {
return colorList[params.seriesIndex];
},
barBorderRadius: yySetting.bVertical == true ? [5, 5, 0, 0] : [0, 5, 5, 0],
opacity: 1
}
}
});
});
} else {
if (measure.length == 1 && eChartSubType == "3") {
var orderInfo = yySetting.orderInfo;
var orderField = orderInfo.orderField;
if (orderInfo.orderBy == "asc") {
data.sort(function (a, b) {
return b[orderField] - a[orderField];
});
} else if (orderInfo.orderBy == "desc") {
data.sort(function (a, b) {
return a[orderField] - b[orderField];
});
}
}
measure.forEach(function (itemMeasure) {
legendData.push({
name: itemMeasure.caption,
textStyle: {
width: '10px',
height: '10px'
}
});
var seriesData = [];
data.forEach(function (itemData) {
if (!!itemData[dimensionNameFileld] == true) {
seriesData.push((0, _get2["default"])(itemData, itemMeasure.valueField, 0));
if (xAxisData.indexOf(itemData[dimensionNameFileld]) < 0) {
if (maxNameLength < itemData[dimensionNameFileld].length) maxNameLength = itemData[dimensionNameFileld].length;
xAxisData.push(itemData[dimensionNameFileld]);
}
}
});
series.push({
name: itemMeasure.caption,
type: 'bar',
stack: yySetting.stack,
silent: true,
barMaxWidth: barMaxWidth,
data: seriesData,
itemStyle: {
normal: {
color: function color(params) {
return colorList[params.seriesIndex];
},
barBorderRadius: yySetting.bVertical == true ? [5, 5, 0, 0] : [0, 5, 5, 0],
opacity: 1
}
}
});
});
}
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;
if (yySetting.bVertical == false) {
option.xAxis.axisLabel.formatter = null;
var tmp = option.xAxis;
option.xAxis = option.yAxis;
option.yAxis = tmp;
}
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 (dimensionX.length == 1) {
if (yySetting.bVertical) option.xAxis.name = option.xAxis.name || dimensionX[0].caption;else option.yAxis.name = option.yAxis.name || dimensionX[0].caption;
}
if (measure.length == 1) {
if (yySetting.bVertical) option.yAxis.name = option.yAxis.name || measure[0].caption;else option.xAxis.name = option.xAxis.name || measure[0].caption;
}
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.xAxis.nameLocation = "start";
option.yAxis.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.grid.left = '2%';
option.grid.right = '2%';
option.grid.bottom = '5%';
option.grid.containLabel = true;
option.xAxis.nameLocation = "start";
option.yAxis.nameLocation = "start";
option.legend.top = 35;
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 == "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.nameTextStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "xAxis.axisLine.lineStyle.color", skinConfig.displaySkin.axisLineColor);
(0, _set2["default"])(option, "yAxis.axisLine.lineStyle.color", skinConfig.displaySkin.axisLineColor);
(0, _set2["default"])(option, "xAxis.splitLine.lineStyle.color", skinConfig.displaySkin.splitLineColor);
(0, _set2["default"])(option, "yAxis.splitLine.lineStyle.color", skinConfig.displaySkin.splitLineColor);
(0, _set2["default"])(option, "xAxis.axisLabel.textStyle.color", skinConfig.displaySkin.textColor);
(0, _set2["default"])(option, "yAxis.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 && yySetting.bVertical && (chartDisplayType == "mobile" || chartDisplayType == "panel" && panelType == 3)) {
option.addLengthInfo = {
charLength: charLength,
rotate: rotate
};
}
};
//# sourceMappingURL=barChart.js.map