UNPKG

ming-demo3

Version:
296 lines (261 loc) 10.8 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 _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