// Adapted from https://www.chartjs.org/samples/latest/tooltips/custom-pie.html
export let tooltip: () => (tooltip: any) => void =
function (): (tooltip: any) => void {
return function (tooltip: any): void {
// Tooltip Element
const tooltipEl = document.getElementById('chartjs-tooltip');
// Hide if no tooltip
if (tooltip.opacity === 0) {
tooltipEl.style.opacity = '0';
return;
}
// Set caret Position
tooltipEl.classList.remove('above', 'below', 'no-transform');
if (tooltip.yAlign) {
tooltipEl.classList.add(tooltip.yAlign);
} else {
tooltipEl.classList.add('no-transform');
}
function getBody(bodyItem) {
return bodyItem.lines;
}
// Set Text
if (tooltip.body) {
let titleLines = tooltip.title || [];
const bodyLines = tooltip.body.map(getBody);
let innerHtml = '';
titleLines.forEach(function (title) {
innerHtml += ' ';
});
innerHtml += '' + title + '