UNPKG

victory-chart

Version:
54 lines (46 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _values = require("lodash/values"); var _values2 = _interopRequireDefault(_values); var _victoryCore = require("victory-core"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } exports.default = { getSymbol: function getSymbol(data, props) { if (props.bubbleProperty) { return "circle"; } return data.symbol || props.symbol; }, getBubbleSize: function getBubbleSize(datum, props, calculatedProps) { var data = calculatedProps.data; var z = calculatedProps.z; var getMaxRadius = function getMaxRadius() { var minPadding = Math.min.apply(Math, _toConsumableArray((0, _values2.default)(_victoryCore.Helpers.getPadding(props)))); return Math.max(minPadding, 5); }; var zData = data.map(function (point) { return point.z; }); var zMin = Math.min.apply(Math, _toConsumableArray(zData)); var zMax = Math.max.apply(Math, _toConsumableArray(zData)); var maxRadius = props.maxBubbleSize || getMaxRadius(); var maxArea = Math.PI * Math.pow(maxRadius, 2); var area = (datum[z] - zMin) / (zMax - zMin) * maxArea; var radius = Math.sqrt(area / Math.PI); return Math.max(radius, 1); }, getSize: function getSize(data, props, calculatedProps) { if (data.size) { return typeof data.size === "function" ? data.size : Math.max(data.size, 1); } else if (typeof props.size === "function") { return props.size; } else if (data[calculatedProps.z]) { return this.getBubbleSize(data, props, calculatedProps); } else { return Math.max(props.size, 1); } } };