summaryrefslogtreecommitdiff
path: root/src/components/TrafficChartSample.js
blob: f59afe79dd2417ea9448b8099fdfbbdac7c94e01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import React, { useMemo } from 'react';
import useLineChart from '../hooks/useLineChart';
import {
  chartJSResource,
  commonDataSetProps,
  chartStyles
} from '../misc/chart';

const extraChartOptions = {
  legend: {
    display: false
  },
  scales: {
    xAxes: [{ display: false }],
    yAxes: [{ display: false }]
  }
};

const data1 = [23e3, 35e3, 46e3, 33e3, 90e3, 68e3, 23e3, 45e3];
const data2 = [184e3, 183e3, 196e3, 182e3, 190e3, 186e3, 182e3, 189e3];
const labels = data1;

export default function TrafficChart({ id }) {
  const Chart = chartJSResource.read();

  const data = useMemo(
    () => ({
      labels,
      datasets: [
        {
          ...commonDataSetProps,
          ...chartStyles[id].up,
          data: data1
        },
        {
          ...commonDataSetProps,
          ...chartStyles[id].down,
          data: data2
        }
      ]
    }),
    [id]
  );

  const eleId = 'chart-' + id;
  useLineChart(Chart, eleId, data, null, extraChartOptions);

  return (
    <div
      style={{
        width: 130,
        padding: 5
      }}
    >
      <canvas id={eleId} />
    </div>
  );
}