UNPKG

nuke-biz-qn-chart

Version:

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

88 lines (75 loc) 2.59 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, cols = options.cols, colors = options.colors, lineSeperator = options.lineSeperator, xAxis = options.xAxis, yAxis = options.yAxis, _options$smooth = options.smooth, smooth = _options$smooth === undefined ? false : _options$smooth; var dataObj = {}; var colorSeries = colors || _nukeBizChart.defaultSettings.colors; // antv 的图标数据是混杂的,必须要先分成若干个数据块 if (lineSeperator) { dataObj = (0, _lodash2.default)(data, lineSeperator); } else { dataObj[yAxis.name] = Object.assign([], data); } var labels = []; var dataResult = { dataSets: [], "barWidth": _nukeBizChart.defaultSettings.widthRatio.column, "drawValues": false, "valueTextColor": "#000000", "valueTextSize": 15 }; var colorIndex = 0; (0, _lodash4.default)(dataObj, function (item, key) { var entries = item; labels = []; var dataSetItem = { "label": key, "color": colorSeries[colorIndex], "barBorderWidth": 0, "barBorderColor": "black", "highlightEnabled": false, "highLightColor": "red", "highLightAlpha": 0.7 }; 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] = { "x": i, "y": entries[i][yAxis.name] }; labels.push(x); } 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;