UNPKG

ming-demo3

Version:
237 lines (210 loc) 8.66 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 _get2 = _interopRequireDefault(require("lodash/get")); 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 dimensionX = (0, _get2["default"])(yySetting, 'dataField.dimensionX'); var dimensionSub = (0, _get2["default"])(yySetting, 'dataField.dimensionSub'); var measure = (0, _get2["default"])(yySetting, 'dataField.measure'); var legendData = []; var series = []; var xAxisData = []; var colorList = eChartCommon.getChartColorArr(100); var maxNameLength = 0; if (dimensionSub.length > 0) { var dimensionSubCodeFileld = eChartCommon.eChartLabel.unionedSubCode; var dimensionSubNameFileld = eChartCommon.eChartLabel.unionedSubName; var dimensionSubSmooth = yySetting.smooth; 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], "lineChart"); if (seriesItems.indexOf(itemData[dimensionSubNameFileld]) < 0) { seriesItems.push(itemData[dimensionSubNameFileld]); } }); seriesItems.forEach(function (eleS, index) { 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: 'line', stack: dimensionSubStack, smooth: dimensionSubSmooth, silent: true, data: seriesData, itemStyle: { normal: { color: colorList[index], lineStyle: { color: colorList[index] } } } }); }); } else { 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) { 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: 'line', stack: yySetting.stack, smooth: yySetting.smooth, silent: true, data: seriesData, itemStyle: { normal: { color: colorList[index], lineStyle: { color: colorList[index] } } } }); }); } 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 (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 (chartDisplayType == "mobile") { option.legend.top = 35; } 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"; } 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 && (chartDisplayType == "mobile" || chartDisplayType == "panel" && panelType == 3)) { option.addLengthInfo = { charLength: charLength, rotate: rotate }; } }; //# sourceMappingURL=lineChart.js.map