<!DOCTYPE html>
<html>

<head>
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
  <meta content="utf-8" http-equiv="encoding">

  <script src="../dist/index.js" type="text/javascript"></script>
</head>

<body>
  <div id="chart" style="width: 500px; height: 500px;"></div>

  <script type="text/javascript">
    const startTime = 1590590148;
    const arrayLength = 100;
    const data1 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 40)]);
    const data2 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 100)]);
    const data3 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 20) + 90]);
    let options = { renderLegend: false, usePanning: false, axis: { y: { invert: false, range: [0, 350] }, x: { format: 'time' } } };
    var pod = new LinePod(
      document.getElementById('chart'),
      [
        { target: 'test1', datapoints: data1, color: 'green', maxLength: arrayLength + 30, renderDots: true },
        { target: 'test2', datapoints: data2, color: 'blue', maxLength: arrayLength + 30, renderDots: true },
        { target: 'test3', datapoints: data3, color: 'orange', maxLength: arrayLength + 30, renderDots: true },
      ],
      options
    );
    pod.render();
    let rerenderIdx = arrayLength;
    var test = setInterval(() => {
      rerenderIdx += 1;
      const d1 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90];
      const d2 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 100)];
      const d3 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90];

      console.time('rerender');
      pod.appendData([d1, d2, d3]);
      console.timeEnd('rerender');
      if(rerenderIdx > arrayLength + 100) {
        clearInterval(test);
      }
    }, 1000);
  </script>
</body>

</html>