UNPKG

victory-chart

Version:
57 lines (49 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _values2 = require("lodash/values"); var _values3 = _interopRequireDefault(_values2); 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"; } var symbol = data.symbol || props.symbol; return _victoryCore.Helpers.evaluateProp(symbol, data); }, 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, _values3.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) { var size = void 0; if (data.size) { size = typeof data.size === "function" ? data.size : Math.max(data.size, 1); } else if (typeof props.size === "function") { size = props.size; } else if (data[calculatedProps.z]) { size = this.getBubbleSize(data, props, calculatedProps); } else { size = Math.max(props.size, 1); } return _victoryCore.Helpers.evaluateProp(size, data); } };