diff --git a/src/site/fetchUptimeAndGenerateBarGraph.js b/src/site/fetchUptimeAndGenerateBarGraph.js index ef1adbc..7f72d7a 100644 --- a/src/site/fetchUptimeAndGenerateBarGraph.js +++ b/src/site/fetchUptimeAndGenerateBarGraph.js @@ -1,28 +1,39 @@ -const createEvent = () => { - const event = document.createElement('div') - event.className = 'event'; +const clickEventPopupIncident = (event) => { + const element = event.toElement; + const indicentId = element.getAttribute('incident-id'); + popover(indicentId); +} + +const createEvent = (event) => { + const element = document.createElement('div') + element.className = 'event'; const tooltip = document.createElement('span'); tooltip.className = 'tooltip'; - const tooltipContent = new Date().toLocaleString() + const tooltipContent = new Date(event.date).toLocaleString() tooltip.innerText = tooltipContent; - event.appendChild(tooltip); - return event; + element.setAttribute('incident-id', event._id) + element.onclick = clickEventPopupIncident; + + element.appendChild(tooltip); + return element; } -function fetchUptimeAndGenerateBarGraph(instances=10) { +function fetchUptimeAndGenerateBarGraph() { const graph = document.getElementById('bar-graph'); - const event = createEvent() + fetch('/uptime') + .then(resp => resp.json()) + .then(uptimeEvents => { + uptimeEvents.map(event => { + const eventElement = createEvent(event); + if (event.isOk == false) + eventElement.className += ' error' - for (var i = instances; i >= 0; i--) { - const clone = event.cloneNode(true) - Math.random() > 0.95 ? clone.className += ' error' : null; - graph.appendChild(clone) - } + graph.appendChild(eventElement) + }) + }) } - -// fetchUptimeAndGenerateBarGraph(20) -fetchUptimeAndGenerateBarGraph(60) \ No newline at end of file +fetchUptimeAndGenerateBarGraph() \ No newline at end of file