freifunkmanager/webroot/js/gui.js

59 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-05-08 19:13:29 +02:00
var gui = {};
2017-05-09 20:40:18 +02:00
var router = new Navigo(null, true, '#');
2017-05-08 19:13:29 +02:00
(function(){
2017-05-09 20:40:18 +02:00
function clean(){
domlib.removeChildren(document.querySelector('main'));
}
router.on({
'/list': function () {
clean();
console.log("list view");
guiList.bind(document.querySelector('main'));
guiList.render();
},
'/map':function(){
clean();
console.log("map view");
domlib.newAt(main,"div").innerHTML = "Map";
},
'/statistics':function(){
clean();
console.log("stats view");
domlib.newAt(document.querySelector('main'),"div").innerHTML = "Stats";
},
'/n/:nodeID': {
as: 'node',
uses: function (params) {
clean();
console.log("node view");
var nodeid = params['nodeID'].toLowerCase();
domlib.newAt(document.querySelector('main'),"div").innerHTML = "Nodeid: "+nodeid;
}
},
});
router.on(function () {
router.navigate('/list');
});
2017-05-09 02:12:10 +02:00
gui.render = function render(){
2017-05-09 20:40:18 +02:00
main = document.querySelector('main');
var status = document.getElementsByClassName('status')[0];
2017-05-09 02:12:10 +02:00
if (status === undefined){
console.log("unable to render");
2017-05-09 02:12:10 +02:00
return;
}
status.classList.remove('connecting','offline');
2017-05-09 02:12:10 +02:00
if(socket.readyState !== 1){
status.classList.add(((socket.readyState===0 || socket.readyState===2)?'connecting':(socket.readyState===1)?'':'offline'));
2017-05-09 02:12:10 +02:00
}
2017-05-08 19:13:29 +02:00
2017-05-09 20:40:18 +02:00
notify.bind(document.getElementsByClassName('notifications')[0]);
guiList.render();
router.resolve();
2017-05-08 19:13:29 +02:00
};
gui.render();
2017-05-08 19:13:29 +02:00
})();