Testing dynamically populating graph.

This commit is contained in:
2020-06-10 09:47:43 +02:00
committed by KevinMidboe
parent 1c22661c32
commit 03f42d464e
2 changed files with 38 additions and 9 deletions

0
db/.gitkeep Normal file
View File

View File

@@ -1,4 +1,6 @@
const eventWidth = 16
const clickEventPopupIncident = (event) => { const clickEventPopupIncident = (event) => {
const element = event.toElement; const element = event.toElement;
const indicentId = element.getAttribute('incident-id'); const indicentId = element.getAttribute('incident-id');
@@ -20,20 +22,47 @@ const createEvent = (event) => {
return element; return element;
} }
const appendEventToParent = (event, parent) => {
const eventElement = createEvent(event);
if (event.isOk == false)
eventElement.className += ' error'
parent.appendChild(eventElement)
}
const getGraphWidth = () => {
const graph = document.getElementById('bar-graph');
return graph.offsetWidth;
}
let lastResizePoint = 0;
console.log('lastResizePoint', lastResizePoint)
function fetchUptimeAndGenerateBarGraph() { function fetchUptimeAndGenerateBarGraph() {
const graph = document.getElementById('bar-graph'); const graph = document.getElementById('bar-graph');
const graphWidth = graph.offsetWidth;
if (graphWidth < lastResizePoint + 100 && graphWidth > lastResizePoint - 100) {
return
}
lastResizePoint = graphWidth;
console.log('lastResizePoint', lastResizePoint)
graph.innerHTML = '';
const numberOfEventsToFillGraph = Math.floor(graphWidth / eventWidth);
Array(numberOfEventsToFillGraph).fill().map(() => appendEventToParent({
isOk: Math.random() > 0.2 ? true : false,
date: new Date(),
_id: Math.random()
}, graph))
return
fetch('/uptime') fetch('/uptime')
.then(resp => resp.json()) .then(resp => resp.json())
.then(uptimeEvents => { .then(uptimeEvents => uptimeEvents.map(event => appendEventToParent(event, graph)))
uptimeEvents.map(event => {
const eventElement = createEvent(event);
if (event.isOk == false)
eventElement.className += ' error'
graph.appendChild(eventElement)
})
})
} }
window.onresize = fetchUptimeAndGenerateBarGraph
fetchUptimeAndGenerateBarGraph() fetchUptimeAndGenerateBarGraph()