@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
30 lines • 1.64 kB
JavaScript
;
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