UNPKG

light-chart

Version:

Charts for mobile visualization.

55 lines (49 loc) 1.12 kB
/** * @fileOverview shape util * @author dxq613@gmail.com */ const Util = require('../../util/common'); const ShapeUtil = { splitPoints(obj) { const points = []; const x = obj.x; let y = obj.y; y = Util.isArray(y) ? y : [ y ]; y.forEach(function(yItem, index) { const point = { x: Util.isArray(x) ? x[index] : x, y: yItem }; points.push(point); }); return points; }, splitArray(data, yField, connectNulls) { if (!data.length) return []; const arr = []; let tmp = []; let yValue; Util.each(data, function(obj) { yValue = obj._origin ? obj._origin[yField] : obj[yField]; if (connectNulls) { if (!Util.isNil(yValue)) { tmp.push(obj); } } else { if ((Util.isArray(yValue) && Util.isNil(yValue[0])) || Util.isNil(yValue)) { if (tmp.length) { arr.push(tmp); tmp = []; } } else { tmp.push(obj); } } }); if (tmp.length) { arr.push(tmp); } return arr; } }; module.exports = ShapeUtil;