mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 12:37:14 +01:00
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
/**
|
|
* Das Plugin formatiert die Tooltip-Werte
|
|
*
|
|
* * Komma als Dezimaltrenner
|
|
* * Zwei Stellen nach dem Komma
|
|
*
|
|
* Plugin muss nach chart.js eingebunden werden.
|
|
* Plugin wird automatisch für alle Charts angewendet.
|
|
*/
|
|
Chart.plugins.register({
|
|
id: 'tooltip-money-format',
|
|
beforeInit: function (chart) {
|
|
chart.options.tooltips.callbacks.label = function (tooltipItem, data) {
|
|
var label = data.datasets[tooltipItem.datasetIndex].label || '';
|
|
var value = tooltipItem.yLabel;
|
|
|
|
// yLabel ist nicht gefüllt bei Pie-/Doughnut-Charts
|
|
if (tooltipItem.yLabel === '') {
|
|
var dataIndex = tooltipItem.index;
|
|
var datasetIndex = tooltipItem.datasetIndex;
|
|
value = data.datasets[datasetIndex].data[dataIndex];
|
|
|
|
// Falls Daten Labels haben > Label mit anhängen
|
|
var dataLabel = data.labels[dataIndex];
|
|
if (dataLabel) {
|
|
label += ' ' + dataLabel;
|
|
}
|
|
}
|
|
|
|
// Wert auf zwei Stellen runden
|
|
value = Math.round(value * 100) / 100;
|
|
// Wert immer mit zwei Nachkommastellen und Tausendertrenner ausgeben
|
|
value = value.toLocaleString('de-DE', {minimumFractionDigits: 2, maximumFractionDigits: 2});
|
|
|
|
if (label) {
|
|
label += ': ';
|
|
}
|
|
|
|
return label + value;
|
|
};
|
|
}
|
|
});
|
|
|
|
Chart.plugins.register({
|
|
id: 'logartimic-scale',
|
|
beforeLayout: function (chart) {
|
|
for (var i = 0; i < chart.options.scales.yAxes.length; i++) {
|
|
if (chart.options.scales.yAxes[i].type === 'logarithmic') {
|
|
chart.options.scales.yAxes[i].ticks.callback = function (val) {
|
|
return val;
|
|
};
|
|
}
|
|
}
|
|
}
|
|
});
|