2025-05-29 22:40:58 +02:00

44 lines
1.8 KiB
JavaScript

document.addEventListener("DOMContentLoaded", function () {
console.log("Cargando: charts.js");
const languageLabels = JSON.parse(document.getElementById("language-data").textContent);
const textCounts = JSON.parse(document.getElementById("text-counts").textContent);
const fileCounts = JSON.parse(document.getElementById("file-counts").textContent);
const mediaCounts = JSON.parse(document.getElementById("media-counts").textContent);
const ctx = document.getElementById('languageTypeChart').getContext('2d');
// Crear gráfico y asignarlo a window para acceso global
window.languageTypeChart = new Chart(ctx, {
type: 'bar',
data: {
labels: languageLabels,
datasets: [
{ label: 'Text Pastes', data: textCounts, backgroundColor: '#4E79A7' },
{ label: 'File Pastes', data: fileCounts, backgroundColor: '#F28E2C' },
{ label: 'Media Pastes', data: mediaCounts, backgroundColor: '#E15759' }
]
},
options: {
responsive: true,
plugins: {
legend: { position: 'top', labels: { font: { size: 10 } } }
},
scales: {
x: { stacked: true, ticks: { font: { size: 10 } } },
y: { stacked: true, beginAtZero: true, ticks: { font: { size: 10 } } }
}
}
});
// Definir función para actualizar dinámicamente el gráfico
window.updateCharts = function(stats) {
const chart = window.languageTypeChart;
chart.data.labels = stats.languageLabels;
chart.data.datasets[0].data = stats.textCounts;
chart.data.datasets[1].data = stats.fileCounts;
chart.data.datasets[2].data = stats.mediaCounts;
chart.update();
};
});