|
|
@ -15,9 +15,9 @@ |
|
|
|
const startTime = 1590590148; |
|
|
|
const startTime = 1590590148; |
|
|
|
const arrayLength = 100; |
|
|
|
const arrayLength = 100; |
|
|
|
this.isZoomed = false; // TODO: temporary hack to have zoomin|zoomout with `appendData`. It will be moved to Pod. |
|
|
|
this.isZoomed = false; // TODO: temporary hack to have zoomin|zoomout with `appendData`. It will be moved to Pod. |
|
|
|
const data1 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 40)]); |
|
|
|
var 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)]); |
|
|
|
var 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]); |
|
|
|
var data3 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 20) + 90]); |
|
|
|
const zoomIn = (ranges) => { const xRange = ranges[0]; options.axis.x.range = xRange; pod.updateData(undefined, options); this.isZoomed = true } |
|
|
|
const zoomIn = (ranges) => { const xRange = ranges[0]; options.axis.x.range = xRange; pod.updateData(undefined, options); this.isZoomed = true } |
|
|
|
const zoomOut = (ranges) => { options.axis.x.range = undefined; pod.updateData(undefined, options); this.isZoomed = false } |
|
|
|
const zoomOut = (ranges) => { options.axis.x.range = undefined; pod.updateData(undefined, options); this.isZoomed = false } |
|
|
|
let options = { renderLegend: false, axis: { y: { invert: false, range: [0, 350] }, x: { format: 'time' } }, eventsCallbacks: { zoomIn: zoomIn, zoomOut } }; |
|
|
|
let options = { renderLegend: false, axis: { y: { invert: false, range: [0, 350] }, x: { format: 'time' } }, eventsCallbacks: { zoomIn: zoomIn, zoomOut } }; |
|
|
@ -37,9 +37,17 @@ |
|
|
|
const d1 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90]; |
|
|
|
const d1 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90]; |
|
|
|
const d2 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 100)]; |
|
|
|
const d2 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 100)]; |
|
|
|
const d3 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90]; |
|
|
|
const d3 = [startTime + rerenderIdx * 10000, Math.floor(Math.random() * 20) + 90]; |
|
|
|
|
|
|
|
console.log('d1', data1) |
|
|
|
const shouldRerender = !this.isZoomed; |
|
|
|
const shouldRerender = !this.isZoomed; |
|
|
|
console.time('rerender'); |
|
|
|
console.time('rerender'); |
|
|
|
pod.appendData([d1, d2, d3], shouldRerender); |
|
|
|
data1.push(d1); |
|
|
|
|
|
|
|
data2.push(d2); |
|
|
|
|
|
|
|
data3.push(d3); |
|
|
|
|
|
|
|
pod.updateData([ |
|
|
|
|
|
|
|
{ target: 'test1', datapoints: data1, color: 'green', maxLength: arrayLength + 30, renderDots: false }, |
|
|
|
|
|
|
|
{ target: 'test2', datapoints: data2, color: 'blue', maxLength: arrayLength + 30, renderDots: false }, |
|
|
|
|
|
|
|
{ target: 'test3', datapoints: data3, color: 'orange', maxLength: arrayLength + 30, renderDots: false }, |
|
|
|
|
|
|
|
]); |
|
|
|
console.timeEnd('rerender'); |
|
|
|
console.timeEnd('rerender'); |
|
|
|
if(rerenderIdx > arrayLength + 100) { |
|
|
|
if(rerenderIdx > arrayLength + 100) { |
|
|
|
clearInterval(test); |
|
|
|
clearInterval(test); |
|
|
|