UNPKG

nuke-biz-qn-chart

Version:

weex 版本千牛业务图表库,基于weex + rax,包含线图、柱状图、饼图、雷达图等,其他类型的图表正在按业务需求陆续接入。其中 native 端由客户端插件实现,h5 端使用 g2-mobile

95 lines (81 loc) 2.67 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDataForWeex = undefined; var _lodash = require('lodash.groupby'); var _lodash2 = _interopRequireDefault(_lodash); var _lodash3 = require('lodash.foreach'); var _lodash4 = _interopRequireDefault(_lodash3); var _nukeBizChart = require('nuke-biz-chart'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * 把 antv 的数据遍历、格式化为千牛 native 可识别的数据格式。 * */ function parseData(options) { var data = options.data, colors = options.colors, cols = options.cols, lineSeperator = options.lineSeperator, value = options.value, xAxis = options.xAxis, yAxis = options.yAxis, color = options.color, fontSize = options.fontSize, lineWidth = options.lineWidth, label = options.label, opacity = options.opacity; var drawFilled = false; if (opacity) { drawFilled = true; } var colorSeries = colors || _nukeBizChart.defaultSettings.colors; var dataObj = {}; // antv 的图标数据是混杂的,必须要先分成若干个数据块 if (lineSeperator) { dataObj = (0, _lodash2.default)(data, lineSeperator); } else { dataObj[yAxis.name] = Object.assign([], data); } var labels = []; var dataResult = { dataSets: [], "drawValues": false, "valueTextColor": color, "valueTextSize": fontSize }; var colorIndex = 0; (0, _lodash4.default)(dataObj, function (item, key) { var entries = item; labels = []; var dataSetItem = { "label": key, "color": colorSeries[colorIndex], drawFilled: drawFilled, "fillColor": colorSeries[colorIndex], "fillAlpha": opacity, "lineWidth": lineWidth }; for (var i = 0; i < entries.length; i++) { var x = entries[i][xAxis.name]; // entries[i] = {"x": entries[i][xAxis],"y": entries[i][yAxis]}; entries[i] = { "value": entries[i][yAxis.name] }; labels.push(x.toString()); } dataSetItem['entries'] = entries; dataResult['dataSets'].push(dataSetItem); colorIndex++; }); var result = { dataResult: dataResult, labels: labels }; return result; } function parseDataForWeex(options) { // const {data,cols,lineSeperator,xAxis,yAxis} = options; var dataArr = parseData(options); return dataArr; } exports.parseDataForWeex = parseDataForWeex;