Я работаю в Laravel 5.8 и пытаюсь построить диаграмму с настраиваемыми всплывающими подсказками, используя Laravel Chart (ConsoleTVs / Charts) https://charts.erik.cat/, мне нужно использовать функции внутри параметров, но я не могу найти правильный, почемутак:
если я буду использовать обычные чарты, мой код будет выглядеть так:
var ctx = document.getElementById("barChart").getContext('2d');
var Total = eval(Amount.join('+')).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels:Labels,
datasets: [{
label: "Disbursements Total $" + Total,
backgroundColor: ["rgba(249, 57, 86, 1)", "rgba(146, 221, 161, 1)", "rgba(146, 186, 221, 1)", "rgba(200, 146, 221, 1)", "rgba(194, 221, 146, 1)", "rgba(221, 146, 146, 1)"],
data: Amount,
borderWidth: 1
}]
},
options: {
responsive: true,
legend: {
display: true,
},
tooltips: {
callbacks: {
label: function(value, context) {
var values = Number(value.yLabel)
return ' $' + values.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,') + " Disbursed of $" + Total + " in " + context.labels[value.index];;
}
}
},
plugins: {
datalabels: {
anchor: 'end',
align: 'top',
formatter: function(value, context) {
return '$' + value.replace(/\d(?=(\d{3})+\.)/g, '$&,');
},
display: function (context) {
return context.chart.isDatasetVisible(context.datasetIndex);
},
font: {
weight: 'bold'
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero:true,
callback: function(value) {
return '$' + value.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
}
}]
}
}
});
Но при использовании диаграмм Laravel
$chart = new TestChart;
$chart->labels(['place1', 'place2', 'place3']);
$chart->dataset('Disbursements Total $', 'bar', [1, 2, 3])
->backgroundcolor(collect(["rgba(249, 57, 86, 1)", "rgba(146, 221, 161, 1)", "rgba(146, 186, 221, 1)", "rgba(200, 146, 221, 1)", "rgba(194, 221, 146, 1)", "rgba(221, 146, 146, 1)"]))
->options([
'tooltip' => [
'show' => true,
'callbacks' => [
'label' => function(value, context) {
?
}
]
// or false, depending on what you want.
]
]);
Как я могу добавить свою функциюв массиве php или лучше, если в диаграмме Laravel есть функция, которая может принимать json, чтобы я мог скопировать мои параметры как есть?
Пожалуйста, кто-нибудь может мне помочь:)