in src/GitHubActionsDisplay.js [30:66]
componentDidUpdate() {
if (!this.state.actions_statuses) {
return;
}
const series = {
dates: [],
};
let keys = ["in_progress", "queued", "pending"];
for (const key of keys) {
series[key] = [];
}
this.state.actions_statuses.sort((a, b) => {
return a.last_updated - b.last_updated;
});
for (const item of this.state.actions_statuses) {
series.dates.push(new Date(item.last_updated * 1000).toLocaleString());
for (const key of keys) {
series[key].push(item[key] || 0);
}
}
const data_series = [];
for (const key of keys) {
data_series.push({
name: key,
data: series[key],
});
}
const data = {
categories: series.dates,
series: data_series,
};
const el = document.getElementById("chart");
el.innerHTML = "";
const options = {};
Chart.lineChart({ el, data, options });
}