2020-03-10 09:36:21 +01:00
|
|
|
var forEach = function (array, callback, scope) {
|
|
|
|
for (var i = 0; i < array.length; i++) {
|
|
|
|
callback.call(scope, i, array[i]);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
var ChartLoader = function() {
|
|
|
|
var charts = document.querySelectorAll('.chart-container');
|
|
|
|
|
|
|
|
forEach(charts, function(i, chart) {
|
|
|
|
var api = chart.getAttribute('data-api');
|
|
|
|
var canvas = chart.querySelector('.chart-canvas');
|
|
|
|
var height = chart.getAttribute('data-height');
|
|
|
|
var data = {};
|
|
|
|
var config = {
|
|
|
|
type: chart.getAttribute('data-type'),
|
|
|
|
data: data,
|
|
|
|
options: {}
|
|
|
|
};
|
|
|
|
var instance = new Chart(canvas, config);
|
|
|
|
|
|
|
|
chart.addEventListener('refresh', function() {
|
|
|
|
fetch(api)
|
|
|
|
.then(function(response) {
|
|
|
|
if(response.ok) {
|
|
|
|
response.json().then(function(json) {
|
|
|
|
if (json.hasOwnProperty('data')) {
|
|
|
|
instance.data = json.data;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (json.hasOwnProperty('options')) {
|
|
|
|
instance.options = json.options;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (json.hasOwnProperty('type')) {
|
|
|
|
instance.type = json.type;
|
|
|
|
}
|
|
|
|
|
|
|
|
instance.update();
|
|
|
|
instance.resize();
|
|
|
|
});
|
|
|
|
}
|
2020-04-01 21:01:25 +02:00
|
|
|
|
|
|
|
if (chart.hasAttribute('data-reload')) {
|
|
|
|
window.setTimeout(function() {
|
|
|
|
chart.dispatchEvent(new Event('refresh'));
|
|
|
|
}, chart.getAttribute('data-reload'))
|
|
|
|
}
|
2020-03-10 09:36:21 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
chart.dispatchEvent(new Event('refresh'));
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-03-10 10:42:04 +01:00
|
|
|
var CameraEvent = function() {
|
|
|
|
var cameras = document.querySelectorAll('.camera');
|
|
|
|
|
|
|
|
forEach(cameras, function(i, camera) {
|
|
|
|
camera.addEventListener('click', function() {
|
|
|
|
var isFullscreen = parseInt(camera.getAttribute('data-fullscreen'));
|
|
|
|
|
|
|
|
if (isFullscreen) {
|
|
|
|
camera.setAttribute('data-fullscreen', '0');
|
|
|
|
camera.classList.add('box');
|
|
|
|
|
|
|
|
if (document.exitFullscreen) {
|
|
|
|
document.exitFullscreen();
|
|
|
|
} else if (document.webkitExitFullscreen) {
|
|
|
|
document.webkitExitFullscreen();
|
|
|
|
} else if (document.mozCancelFullScreen) {
|
|
|
|
document.mozCancelFullScreen();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
camera.setAttribute('data-fullscreen', '1');
|
|
|
|
camera.classList.remove('box');
|
|
|
|
|
|
|
|
if (camera.requestFullscreen) {
|
|
|
|
camera.requestFullscreen();
|
|
|
|
} else if (camera.webkitRequestFullscreen) {
|
|
|
|
camera.webkitRequestFullscreen();
|
|
|
|
} else if (camera.mozRequestFullScreen) {
|
|
|
|
camera.mozRequestFullScreen();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, false);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-03-10 12:02:21 +01:00
|
|
|
var SnapshotEvent = function() {
|
|
|
|
var links = document.querySelectorAll('.snapshot-link');
|
|
|
|
var view = document.querySelector('#snapshot-view');
|
|
|
|
var template = document.querySelector('#snapshot-template');
|
|
|
|
|
|
|
|
|
|
|
|
forEach(links, function(i, link) {
|
|
|
|
link.addEventListener('click', function(e) {
|
|
|
|
e.preventDefault();
|
2020-03-22 20:34:33 +01:00
|
|
|
view.innerHTML = template.innerHTML.replace(/{src}/g, link.getAttribute('href'));
|
2020-03-22 20:10:01 +01:00
|
|
|
|
2020-03-10 12:02:21 +01:00
|
|
|
view.querySelector('.modal-close').addEventListener('click', function() {
|
|
|
|
view.innerHTML = '';
|
|
|
|
}, false);
|
2020-03-22 20:10:01 +01:00
|
|
|
|
|
|
|
view.querySelector('.modal-background').addEventListener('click', function() {
|
|
|
|
view.innerHTML = '';
|
|
|
|
}, false);
|
2020-03-10 12:02:21 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-03-20 14:03:30 +01:00
|
|
|
var NavbarEvent = function() {
|
|
|
|
var burger = document.querySelector('.navbar-burger');
|
|
|
|
var menu = document.querySelector('.navbar-menu');
|
|
|
|
|
|
|
|
if (burger && menu) {
|
|
|
|
burger.addEventListener('click', function(e) {
|
|
|
|
menu.classList.toggle('is-active');
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-03-10 09:36:21 +01:00
|
|
|
window.addEventListener('load', function() {
|
|
|
|
ChartLoader();
|
2020-03-10 10:42:04 +01:00
|
|
|
CameraEvent();
|
2020-03-10 12:02:21 +01:00
|
|
|
SnapshotEvent();
|
2020-03-20 14:03:30 +01:00
|
|
|
NavbarEvent();
|
2020-03-10 09:36:21 +01:00
|
|
|
}, false)
|