Indicate item share is less than 0.1%

Signed-off-by: Christian König <ckoenig@posteo.de>
This commit is contained in:
Christian König
2022-10-14 10:59:12 +02:00
parent 8762248454
commit 8abfde2e5c

View File

@@ -726,20 +726,24 @@ function updateSummaryData(runOnce) {
function doughnutTooltip(tooltipLabel) {
var percentageTotalShown = tooltipLabel.chart._metasets[0].total.toFixed(1);
// tooltipLabel.chart._metasets[0].total returns the total percentage of the shown slices
// to compensate rounding errors we round to two one decimal
// to compensate rounding errors we round to one decimal
var label = " " + tooltipLabel.label;
// in case the item share is really small it could be rounded to 0.0
// we compensate for this
var itemPercentage =
tooltipLabel.parsed.toFixed(1) === 0 ? "< 0.1" : tooltipLabel.parsed.toFixed(1);
// even if no doughnut slice is hidden, sometimes percentageTotalShown is slightly less then 100
// we therefore use 99.9 to decide if slices are hidden (we only show with 0.1 precision)
if (percentageTotalShown > 99.9) {
// All items shown
return label + ": " + tooltipLabel.parsed.toFixed(1) + "%";
return label + ": " + itemPercentage + "%";
} else {
return (
label +
":<br>&bull; " +
tooltipLabel.parsed.toFixed(1) +
itemPercentage +
"% of all queries<br>&bull; " +
((tooltipLabel.parsed * 100) / percentageTotalShown).toFixed(1) +
"% of shown items"