UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

30 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2007-2020 GoodData Corporation var numberjs_1 = require("@gooddata/numberjs"); var isNil = require("lodash/isNil"); var chartOptionsBuilder_1 = require("./chartOptionsBuilder"); var utils_1 = require("../../../helpers/utils"); // in viewport <= 480, tooltip width is equal to chart container width var TOOLTIP_FULLSCREEN_THRESHOLD = 480; exports.TOOLTIP_MAX_WIDTH = 320; function formatValueForTooltip(val, format, separators) { var formattedObject = numberjs_1.colors2Object(numberjs_1.numberFormat(val, format, undefined, separators)); return chartOptionsBuilder_1.customEscape(formattedObject.label); } exports.formatValueForTooltip = formatValueForTooltip; function getFormattedValueForTooltip(isDualChartWithRightAxis, stackMeasuresToPercent, point, separators, percentageValue) { var target = point.target, y = point.y, format = point.format; var isNotStackToPercent = stackMeasuresToPercent === false || isNil(percentageValue) || isDualChartWithRightAxis; return isNotStackToPercent ? formatValueForTooltip(target ? target : y, format, separators) : utils_1.percentFormatter(percentageValue); } exports.getFormattedValueForTooltip = getFormattedValueForTooltip; exports.isTooltipShownInFullScreen = function () { return document.documentElement.clientWidth <= TOOLTIP_FULLSCREEN_THRESHOLD; }; exports.getTooltipContentWidth = function (isFullScreenTooltip, chartWidth, tooltipMaxWidth) { return isFullScreenTooltip ? chartWidth : Math.min(chartWidth, tooltipMaxWidth); }; //# sourceMappingURL=tooltip.js.map