componentDidUpdate()

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 });
  }