UNPKG

react-sleek

Version:

React Sleek Component Library

80 lines (79 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ChartUtils = /** @class */ (function () { function ChartUtils() { } ChartUtils.getMinX = function (data) { var onlyX = ChartUtils.getOnlyX(data); return Math.min.apply(null, onlyX); }; ChartUtils.getMinY = function (data) { var onlyY = ChartUtils.getOnlyY(data); return Math.min.apply(null, onlyY); }; ChartUtils.getMaxX = function (data) { var onlyX = ChartUtils.getOnlyX(data); return Math.max.apply(null, onlyX); }; ChartUtils.getMaxY = function (data) { var onlyY = ChartUtils.getOnlyY(data); return Math.max.apply(null, onlyY); }; ChartUtils.getYAxisData = function (data) { var minY = ChartUtils.getMinY(data); var maxY = ChartUtils.getMaxY(data); var range = maxY - minY; var rangePart = range / 5; var roundTo = 10; if (rangePart > 10000) { roundTo = 1000; } else if (rangePart > 1000) { roundTo = 100; } else { roundTo = 50; } var minYRound = ChartUtils.roundMin(minY, roundTo); var maxYRound = ChartUtils.roundMax(maxY, roundTo); var rangeRound = maxYRound - minYRound; var rangePartRound = rangeRound / 5; var lines = []; for (var i = 0; i <= 5; i++) { lines.push(minYRound + i * rangePartRound); } return lines.reverse(); }; ChartUtils.roundMax = function (y, roundTo) { return Math.ceil(y / roundTo) * roundTo; }; ChartUtils.roundMin = function (y, roundTo) { return Math.floor(y / roundTo) * roundTo; }; ChartUtils.getOnlyX = function (data) { var onlyX = []; var onlyPoints = data.map(function (obj) { return obj.points; }); for (var _i = 0, onlyPoints_1 = onlyPoints; _i < onlyPoints_1.length; _i++) { var points = onlyPoints_1[_i]; for (var _a = 0, points_1 = points; _a < points_1.length; _a++) { var point = points_1[_a]; onlyX.push(point.x); } } return onlyX; }; ChartUtils.getOnlyY = function (data) { var onlyY = []; var onlyPoints = data.map(function (obj) { return obj.points; }); for (var _i = 0, onlyPoints_2 = onlyPoints; _i < onlyPoints_2.length; _i++) { var points = onlyPoints_2[_i]; for (var _a = 0, points_2 = points; _a < points_2.length; _a++) { var point = points_2[_a]; onlyY.push(point.y); } } return onlyY; }; return ChartUtils; }()); exports.default = ChartUtils;