o.moresis
2 years ago
5 changed files with 99 additions and 16 deletions
@ -0,0 +1,79 @@ |
|||||||
|
function populateStatisticsGrid() { |
||||||
|
const statsGrid = new gridjs.Grid({ |
||||||
|
columns: ['stations', 'cruises', 'parameters', 'descriptors', 'criteria'], |
||||||
|
server: { |
||||||
|
url: BASE_URL + '/interface/stats/general', |
||||||
|
then: data => data.map(stats => { |
||||||
|
return [stats.total_stations, stats.total_cruises, stats.total_parameters, stats.total_criterias, stats.total_descriptors] |
||||||
|
}) |
||||||
|
} |
||||||
|
}).render(grid); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
async function populateTimeseries(category) { |
||||||
|
let url = BASE_URL; |
||||||
|
let label = category.charAt(0).toUpperCase() + category.slice(1) + ' per Sampling Date'; |
||||||
|
switch (category) { |
||||||
|
case 'descriptors': |
||||||
|
url += '/interface/stats/descriptor-ts'; |
||||||
|
break; |
||||||
|
case 'stations': |
||||||
|
url += '/interface/stats/stations-ts'; |
||||||
|
break; |
||||||
|
case 'cruises': |
||||||
|
url += '/interface/stats/stations-ts'; |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
try { |
||||||
|
const response = await fetch(url); |
||||||
|
response.json().then(response => { |
||||||
|
const data = response.map(row => ({ |
||||||
|
x: row.sampling_date, |
||||||
|
y: parseInt(row.counts) |
||||||
|
})); |
||||||
|
console.debug(data); |
||||||
|
|
||||||
|
const chartOptions = { |
||||||
|
type: 'bar', |
||||||
|
data: { |
||||||
|
datasets: [{ |
||||||
|
label: label, |
||||||
|
data: data, |
||||||
|
backgroundColor: 'rgba(54, 162, 235, 0.5)', |
||||||
|
borderColor: 'rgba(54, 162, 235, 1)', |
||||||
|
borderWidth: 1, |
||||||
|
barPercentage: 0.8, // Adjust the bar percentage as desired
|
||||||
|
categoryPercentage: 0.9 |
||||||
|
}] |
||||||
|
}, |
||||||
|
options: { |
||||||
|
scales: { |
||||||
|
y: { |
||||||
|
beginAtZero: true, |
||||||
|
ticks: { |
||||||
|
precision: 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
x: { |
||||||
|
displayFormats: { |
||||||
|
month: 'MMM' |
||||||
|
}, |
||||||
|
ticks: { |
||||||
|
length: 4 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} }; |
||||||
|
|
||||||
|
const ctx = document.getElementById(category + '-timeseries').getContext('2d'); |
||||||
|
new Chart(ctx, chartOptions); |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
console.error(error); |
||||||
|
} |
||||||
|
} |
||||||
|
|
Loading…
Reference in new issue