UNPKG

ming-demo3

Version:
247 lines (222 loc) 9.81 kB
"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