add popup and aliases
This commit is contained in:
parent
603fff71e3
commit
3499828ed7
2
build
2
build
|
@ -1 +1 @@
|
||||||
Subproject commit b35d8667a611269a4152a322e635b479bc54df6c
|
Subproject commit e43e6917c3f958ba7b360146110af268705979a7
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"api":"http://localhost:8080/api",
|
"api":"http://ffhb.h.sum7.de/api",
|
||||||
"reload":60000,
|
"reload":60000,
|
||||||
"meshviewer":"http://localhost:8080/meshviewer",
|
"meshviewer":"http://ffhb.h.sum7.de/meshviewer",
|
||||||
"map":{
|
"map":{
|
||||||
"icon":{
|
"icon":{
|
||||||
"warn":{"wifi24":20,"wifi5":20},
|
"warn":{"wifi24":20,"wifi5":20},
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
},
|
},
|
||||||
"view":[53.0702,8.815],
|
"view":[53.0702,8.815],
|
||||||
"zoom":16,
|
"zoom":16,
|
||||||
"geojson":"http://localhost:8080/data/meshviewer.geojson",
|
"geojson":"http://ffhb.h.sum7.de/data/meshviewer.geojson",
|
||||||
"tiles":{
|
"tiles":{
|
||||||
"url":"https://otile{s}-s.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg",
|
"url":"https://otile{s}-s.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg",
|
||||||
"option":{
|
"option":{
|
||||||
|
|
|
@ -6,13 +6,20 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: orange;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
body{
|
body{
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
border: 0px;
|
border: 0px;
|
||||||
outline: 0px;
|
outline: 0px;
|
||||||
background: rgba(0, 0, 0, 0.12);
|
background-color: #f2f2f2;
|
||||||
|
font-family: Verdana,sans-serif;
|
||||||
}
|
}
|
||||||
button,input{
|
button,input{
|
||||||
color:black;
|
color:black;
|
||||||
|
@ -40,12 +47,23 @@ table.table{
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
.table tr:nth-child(even){
|
.table tr:nth-child(even){
|
||||||
background-color: #f2f2f2;
|
background-color: rgba(242, 242, 242, 0.4);;
|
||||||
}
|
}
|
||||||
.table th{
|
.table th{
|
||||||
background-color: #dc0067;
|
background-color: #dc0067;
|
||||||
|
background:-webkit-gradient(linear, left top, left bottom, from(#dc0067), to(#dc0050));
|
||||||
|
background:-moz-linear-gradient(top, #dc0067, #dc0050);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
.table small{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.table i.icon{
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
.table td.split span{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
.content, .content > .map{
|
.content, .content > .map{
|
||||||
width:100%;
|
width:100%;
|
||||||
height:100%;
|
height:100%;
|
||||||
|
@ -62,6 +80,24 @@ header.menu{
|
||||||
height: 99%;
|
height: 99%;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
.popup {
|
||||||
|
position: fixed;
|
||||||
|
border-radius: 5px 5px 0px 0px;
|
||||||
|
background-color: grey;
|
||||||
|
color: white;
|
||||||
|
bottom: 0px;
|
||||||
|
width: 70%;
|
||||||
|
left:15%;
|
||||||
|
height: 32px;
|
||||||
|
padding: 10px;
|
||||||
|
z-index: 3500;
|
||||||
|
}
|
||||||
|
.popup.hidden{
|
||||||
|
bottom: -50px;
|
||||||
|
}
|
||||||
|
.popup a {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
i.icon{
|
i.icon{
|
||||||
font: normal normal normal 12px/1 FontAwesome;
|
font: normal normal normal 12px/1 FontAwesome;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
define(function(){
|
||||||
|
var data;
|
||||||
|
return function(el,map){
|
||||||
|
var title = document.createElement("h1"),
|
||||||
|
table = document.createElement("table"),
|
||||||
|
thead = document.createElement("thead"),
|
||||||
|
tbody = document.createElement("tbody");
|
||||||
|
title.textContent = "Undone Changes";
|
||||||
|
table.appendChild(thead);
|
||||||
|
table.appendChild(tbody);
|
||||||
|
table.classList.add("table");
|
||||||
|
|
||||||
|
thead.innerHTML = "<tr><th>Node</th><th>Freq</th><th>Channel</th><th>Power</th><th>Location</th></tr>";
|
||||||
|
|
||||||
|
var row = function(nodeid,alias,node){
|
||||||
|
var icon,td,
|
||||||
|
tr = document.createElement("tr");
|
||||||
|
|
||||||
|
//Node
|
||||||
|
td = document.createElement("td");
|
||||||
|
td.classList.add("text");
|
||||||
|
if(alias.hostname && alias.hostname != node.nodeinfo.hostname){
|
||||||
|
icon = document.createElement("i");
|
||||||
|
icon.classList.add("icon");
|
||||||
|
icon.textContent = "\uf096";
|
||||||
|
td.appendChild(icon);
|
||||||
|
}
|
||||||
|
td.appendChild(document.createTextNode((alias.hostname)?alias.hostname:node.nodeinfo.hostname));
|
||||||
|
var textNodeID = document.createElement("small");
|
||||||
|
textNodeID.textContent = nodeid;
|
||||||
|
td.appendChild(textNodeID);
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
|
td = document.createElement("td");
|
||||||
|
td.classList.add("split");
|
||||||
|
var freq24 = document.createTextNode("2.4 Ghz");
|
||||||
|
var freq5 = document.createTextNode("5 Ghz");
|
||||||
|
td.appendChild(freq24);
|
||||||
|
td.appendChild(freq5);
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
|
td = document.createElement("td");
|
||||||
|
td.classList.add("split");
|
||||||
|
var ch24 = document.createTextNode((alias && alias.wireless !== undefined && alias.wireless.channel24)?alias.wireless.channel24:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel24)?node.nodeinfo.wireless.channel24:'-'));
|
||||||
|
var ch5 = document.createTextNode((alias && alias.wireless !== undefined && alias.wireless.channel5)?alias.wireless.channel5:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel5)?node.nodeinfo.wireless.channel5:'-'));
|
||||||
|
td.appendChild(ch24);
|
||||||
|
td.appendChild(ch5);
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
|
td = document.createElement("td");
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
|
//Location
|
||||||
|
td = document.createElement("td");
|
||||||
|
if(alias.location !== undefined &&
|
||||||
|
node.nodeinfo.location !== undefined &&
|
||||||
|
node.nodeinfo.location.latitude != alias.location.latitude &&
|
||||||
|
node.nodeinfo.location.longitude != alias.location.longitude
|
||||||
|
){
|
||||||
|
td.classList.add("text");
|
||||||
|
icon = document.createElement("i");
|
||||||
|
icon.classList.add("icon");
|
||||||
|
icon.textContent = "\uf096";
|
||||||
|
td.appendChild(icon);
|
||||||
|
}
|
||||||
|
td.classList.add("text");
|
||||||
|
icon = document.createElement("i");
|
||||||
|
icon.classList.add("icon");
|
||||||
|
icon.textContent = "\uf124";
|
||||||
|
icon.onclick = function () {
|
||||||
|
window.location.href = "#map/"+nodeid;
|
||||||
|
map.render(nodeid);
|
||||||
|
};
|
||||||
|
td.appendChild(icon);
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
|
|
||||||
|
tbody.appendChild(tr);
|
||||||
|
};
|
||||||
|
|
||||||
|
var render = function() {
|
||||||
|
tbody.textContent = "";
|
||||||
|
if(data !== undefined)
|
||||||
|
Object.keys(data.aliases).map(function(key){
|
||||||
|
row(key,data.aliases[key],data.nodes[key]);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
storageNotify: function(d){
|
||||||
|
data = d;
|
||||||
|
render();
|
||||||
|
},
|
||||||
|
controller: function(){
|
||||||
|
el.textContent = "";
|
||||||
|
el.appendChild(title);
|
||||||
|
el.appendChild(table);
|
||||||
|
render();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
|
@ -3,7 +3,7 @@ define(function(){
|
||||||
var frame = document.createElement("iframe");
|
var frame = document.createElement("iframe");
|
||||||
frame.src = url;
|
frame.src = url;
|
||||||
return function(){
|
return function(){
|
||||||
el.innerHTML = "";
|
el.textContent = "";
|
||||||
el.appendChild(frame);
|
el.appendChild(frame);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -128,14 +128,18 @@ define(['leaflet','controller/sidebar','leaflet.label'],function(L,Sidebar){
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
render: function(nodeid){
|
||||||
|
currentNode = nodeid;
|
||||||
|
render();
|
||||||
|
},
|
||||||
storageNotify: function(d){
|
storageNotify: function(d){
|
||||||
data = d;
|
data = d;
|
||||||
bar.storageNotify(d);
|
bar.storageNotify(d);
|
||||||
render();
|
render();
|
||||||
},
|
},
|
||||||
controller: function(){
|
controller: function(){
|
||||||
currentNode = arguments[0];
|
currentNode = (arguments[0])?arguments[0].toLowerCase():null;
|
||||||
el.innerHTML = "";
|
el.textContent = "";
|
||||||
el.appendChild(sideBarEl);
|
el.appendChild(sideBarEl);
|
||||||
el.appendChild(mapEl);
|
el.appendChild(mapEl);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
define(function(){
|
define(function(){
|
||||||
var data;
|
var data;
|
||||||
return function(el,config){
|
return function(el){
|
||||||
return {
|
return {
|
||||||
storageNotify: function(d){
|
storageNotify: function(d){
|
||||||
data = d;
|
data = d;
|
||||||
},
|
},
|
||||||
controller: function(){
|
controller: function(){
|
||||||
el.innerHTML = "Not implemented";
|
el.textContent = "Not implemented";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,9 +20,9 @@ define(["helper/lib"],function(){
|
||||||
sidebar.appendChild(controll);
|
sidebar.appendChild(controll);
|
||||||
|
|
||||||
var iconClose = document.createElement('i');
|
var iconClose = document.createElement('i');
|
||||||
iconClose.innerHTML = "\uf00d";
|
iconClose.textContent = "\uf00d";
|
||||||
controll.appendChild(iconClose);
|
controll.appendChild(iconClose);
|
||||||
iconClose.addEventListener("click",close);
|
iconClose.onclick = close;
|
||||||
|
|
||||||
var content = document.createElement("div");
|
var content = document.createElement("div");
|
||||||
content.classList.add("content");
|
content.classList.add("content");
|
||||||
|
@ -64,16 +64,16 @@ define(["helper/lib"],function(){
|
||||||
var btnSave = document.createElement("button");
|
var btnSave = document.createElement("button");
|
||||||
var saveIcon = document.createElement('i');
|
var saveIcon = document.createElement('i');
|
||||||
saveIcon.classList.add("icon");
|
saveIcon.classList.add("icon");
|
||||||
saveIcon.innerHTML = "\uf0c7";
|
saveIcon.textContent = "\uf0c7";
|
||||||
btnSave.appendChild(saveIcon);
|
btnSave.appendChild(saveIcon);
|
||||||
btnSave.innerHTML += " Save";
|
btnSave.appendChild(document.createTextNode(" Save"));
|
||||||
content.appendChild(btnSave);
|
content.appendChild(btnSave);
|
||||||
|
|
||||||
if (navigator.geolocation) {
|
if (navigator.geolocation) {
|
||||||
var btnGps = document.createElement("button");
|
var btnGps = document.createElement("button");
|
||||||
var gpsIcon = document.createElement('i');
|
var gpsIcon = document.createElement('i');
|
||||||
gpsIcon.classList.add("icon");
|
gpsIcon.classList.add("icon");
|
||||||
gpsIcon.innerHTML = "\uf124";
|
gpsIcon.textContent = "\uf124";
|
||||||
btnGps.appendChild(gpsIcon);
|
btnGps.appendChild(gpsIcon);
|
||||||
content.appendChild(btnGps);
|
content.appendChild(btnGps);
|
||||||
|
|
||||||
|
@ -81,13 +81,26 @@ define(["helper/lib"],function(){
|
||||||
var pos = [position.coords.latitude,position.coords.longitude];
|
var pos = [position.coords.latitude,position.coords.longitude];
|
||||||
marker.setLatLng(pos);
|
marker.setLatLng(pos);
|
||||||
marker._map.setView(pos);
|
marker._map.setView(pos);
|
||||||
|
|
||||||
|
if(data.aliases[nodeid] === undefined)
|
||||||
|
data.aliases[nodeid] = {};
|
||||||
|
alias = data.aliases[nodeid];
|
||||||
|
if(alias.location === undefined){
|
||||||
|
alias.location = {};
|
||||||
|
}
|
||||||
|
pos = marker.getLatLng();
|
||||||
|
alias.location.latitude = pos.lat;
|
||||||
|
alias.location.longitude = pos.lng;
|
||||||
|
send('POST',config.api+'/aliases/alias/'+nodeid,alias).then(function(){
|
||||||
|
close();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
btnGps.addEventListener("click",function() {
|
btnGps.onclick = function() {
|
||||||
navigator.geolocation.getCurrentPosition(setToGps);
|
navigator.geolocation.getCurrentPosition(setToGps);
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
btnSave.addEventListener("click",function() {
|
btnSave.onclick = function() {
|
||||||
if(data.aliases[nodeid] === undefined)
|
if(data.aliases[nodeid] === undefined)
|
||||||
data.aliases[nodeid] = {};
|
data.aliases[nodeid] = {};
|
||||||
alias = data.aliases[nodeid];
|
alias = data.aliases[nodeid];
|
||||||
|
@ -101,22 +114,22 @@ define(["helper/lib"],function(){
|
||||||
send('POST',config.api+'/aliases/alias/'+nodeid,alias).then(function(){
|
send('POST',config.api+'/aliases/alias/'+nodeid,alias).then(function(){
|
||||||
close();
|
close();
|
||||||
});
|
});
|
||||||
});
|
};
|
||||||
|
|
||||||
var render = function(){
|
var render = function(){
|
||||||
if(nodeid !== undefined){
|
if(nodeid !== undefined){
|
||||||
var node = data.nodes[nodeid];
|
var node = data.nodes[nodeid];
|
||||||
var alias = data.aliases[nodeid];
|
var alias = data.aliases[nodeid];
|
||||||
sidebar.classList.remove("hidden");
|
sidebar.classList.remove("hidden");
|
||||||
lblNodeid.innerHTML = "Nodeid:"+nodeid;
|
lblNodeid.textContent = "Nodeid:"+nodeid;
|
||||||
inHostname.value = ((alias && alias.hostname)?alias.hostname:node.nodeinfo.hostname);
|
inHostname.value = ((alias && alias.hostname)?alias.hostname:node.nodeinfo.hostname);
|
||||||
|
|
||||||
cellClient24.innerHTML = (node.statistics !== undefined && node.statistics.clients !== undefined)?node.statistics.clients.wifi24:'-';
|
cellClient24.textContent = (node.statistics !== undefined && node.statistics.clients !== undefined)?node.statistics.clients.wifi24:'-';
|
||||||
cellClient5.innerHTML = (node.statistics !== undefined && node.statistics.clients !== undefined)?node.statistics.clients.wifi5:'-';
|
cellClient5.textContent = (node.statistics !== undefined && node.statistics.clients !== undefined)?node.statistics.clients.wifi5:'-';
|
||||||
cellCh24.innerHTML = (alias && alias.wireless && alias.wireless.channel24)?alias.wireless.channel24:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel24)?node.nodeinfo.wireless.channel24:'-');
|
cellCh24.textContent = (alias && alias.wireless && alias.wireless.channel24)?alias.wireless.channel24:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel24)?node.nodeinfo.wireless.channel24:'-');
|
||||||
cellCh5.innerHTML = (alias && alias.wireless && alias.wireless.channel5)?alias.wireless.channel5:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel5)?node.nodeinfo.wireless.channel5:'-');
|
cellCh5.textContent = (alias && alias.wireless && alias.wireless.channel5)?alias.wireless.channel5:((node.nodeinfo.wireless && node.nodeinfo.wireless.channel5)?node.nodeinfo.wireless.channel5:'-');
|
||||||
cellTx24.innerHTML = (alias && alias.wireless && alias.wireless.txpower24)?alias.wireless.txpower24:((node.nodeinfo.wireless && node.nodeinfo.wireless.txpower24)?node.nodeinfo.wireless.txpower24:'-');
|
cellTx24.textContent = (alias && alias.wireless && alias.wireless.txpower24)?alias.wireless.txpower24:((node.nodeinfo.wireless && node.nodeinfo.wireless.txpower24)?node.nodeinfo.wireless.txpower24:'-');
|
||||||
cellTx5.innerHTML = (alias && alias.wireless && alias.wireless.txpower5)?alias.wireless.txpower5:((node.nodeinfo.wireless && node.nodeinfo.wireless.txpower5)?node.nodeinfo.wireless.txpower5:'-');
|
cellTx5.textContent = (alias && alias.wireless && alias.wireless.txpower5)?alias.wireless.txpower5:((node.nodeinfo.wireless && node.nodeinfo.wireless.txpower5)?node.nodeinfo.wireless.txpower5:'-');
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
sidebar.classList.add("hidden");
|
sidebar.classList.add("hidden");
|
||||||
|
|
|
@ -5,7 +5,11 @@ define(["helper/lib","moment"],function(lib,moment){
|
||||||
|
|
||||||
if(localStorageTest()){
|
if(localStorageTest()){
|
||||||
data.nodes = JSON.parse(localStorage.getItem("nodes"));
|
data.nodes = JSON.parse(localStorage.getItem("nodes"));
|
||||||
|
if(!data.nodes)
|
||||||
|
data.nodes = {};
|
||||||
data.aliases = JSON.parse(localStorage.getItem("aliases"));
|
data.aliases = JSON.parse(localStorage.getItem("aliases"));
|
||||||
|
if(!data.aliases)
|
||||||
|
data.aliases = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
var notify = function(){
|
var notify = function(){
|
||||||
|
@ -30,8 +34,8 @@ define(["helper/lib","moment"],function(lib,moment){
|
||||||
});
|
});
|
||||||
send('GET',config.api+"/nodes").then(function(d){
|
send('GET',config.api+"/nodes").then(function(d){
|
||||||
Object.keys(d).map(function(key){
|
Object.keys(d).map(function(key){
|
||||||
if(data.nodes === undefined && data.nodes[key] === undefined){
|
if(data.nodes === undefined || data.nodes[key] === undefined){
|
||||||
notifyNew(key,data[key]);
|
notifyNew(key,d[key]);
|
||||||
}
|
}
|
||||||
data.nodes[key] = d[key];
|
data.nodes[key] = d[key];
|
||||||
});
|
});
|
||||||
|
|
15
js/main.js
15
js/main.js
|
@ -1,5 +1,5 @@
|
||||||
define(["helper/router","helper/storage","menu","controller/nodes","controller/map","controller/frame"],
|
define(["helper/router","helper/storage","menu","popup","controller/nodes","controller/aliases","controller/map","controller/frame"],
|
||||||
function (Router, storage, menu, controllerNodes, controllerMap, controllerFrame) {
|
function (Router, storage, menu, popup, controllerNodes, controllerAliases, controllerMap, controllerFrame) {
|
||||||
return function(config){
|
return function(config){
|
||||||
var store = storage(config);
|
var store = storage(config);
|
||||||
store.refresh();
|
store.refresh();
|
||||||
|
@ -17,7 +17,13 @@ function (Router, storage, menu, controllerNodes, controllerMap, controllerFrame
|
||||||
var map = controllerMap(el,config);
|
var map = controllerMap(el,config);
|
||||||
store.addNotify(map);
|
store.addNotify(map);
|
||||||
|
|
||||||
var nodes = controllerNodes(el,config);
|
var aliases = controllerAliases(el,map);
|
||||||
|
store.addNotify(aliases);
|
||||||
|
|
||||||
|
var popupInstance = popup(document.body,map);
|
||||||
|
store.addNotifyNew(popupInstance);
|
||||||
|
|
||||||
|
var nodes = controllerNodes(el);
|
||||||
store.addNotify(nodes);
|
store.addNotify(nodes);
|
||||||
|
|
||||||
Router.config({
|
Router.config({
|
||||||
|
@ -25,7 +31,8 @@ function (Router, storage, menu, controllerNodes, controllerMap, controllerFrame
|
||||||
})
|
})
|
||||||
.add(/grafana/, controllerFrame(el,config.grafana.all))
|
.add(/grafana/, controllerFrame(el,config.grafana.all))
|
||||||
.add(/meshviewer/, controllerFrame(el,config.meshviewer))
|
.add(/meshviewer/, controllerFrame(el,config.meshviewer))
|
||||||
.add(/list/, nodes.controller)
|
.add(/aliases/, aliases.controller)
|
||||||
|
.add(/nodes/, nodes.controller)
|
||||||
.add(/map\/(.*)/, map.controller)
|
.add(/map\/(.*)/, map.controller)
|
||||||
.add(/map/, map.controller)
|
.add(/map/, map.controller)
|
||||||
.add(nodes.controller)
|
.add(nodes.controller)
|
||||||
|
|
25
js/menu.js
25
js/menu.js
|
@ -7,23 +7,30 @@ define(function(){
|
||||||
menu.appendChild(right);
|
menu.appendChild(right);
|
||||||
el.appendChild(menu);
|
el.appendChild(menu);
|
||||||
|
|
||||||
var buttonList = document.createElement("i");
|
var buttonNodes = document.createElement("i");
|
||||||
buttonList.innerHTML = "";
|
buttonNodes.textContent = "";
|
||||||
buttonList.onclick = function () {
|
buttonNodes.onclick = function () {
|
||||||
window.location.href = "#list";
|
window.location.href = "#nodes";
|
||||||
};
|
};
|
||||||
right.appendChild(buttonList);
|
right.appendChild(buttonNodes);
|
||||||
|
|
||||||
var buttonMap = document.createElement("i");
|
var buttonMap = document.createElement("i");
|
||||||
buttonMap.innerHTML = '\uf278';
|
buttonMap.textContent = '\uf278';
|
||||||
buttonMap.onclick = function () {
|
buttonMap.onclick = function () {
|
||||||
window.location.href = "#map";
|
window.location.href = "#map";
|
||||||
};
|
};
|
||||||
right.appendChild(buttonMap);
|
right.appendChild(buttonMap);
|
||||||
|
|
||||||
|
var buttonAliases = document.createElement("i");
|
||||||
|
buttonAliases.textContent = "\uf0ec";
|
||||||
|
buttonAliases.onclick = function () {
|
||||||
|
window.location.href = "#aliases";
|
||||||
|
};
|
||||||
|
right.appendChild(buttonAliases);
|
||||||
|
|
||||||
var buttonStatistic = document.createElement("i");
|
var buttonStatistic = document.createElement("i");
|
||||||
buttonStatistic.classList.add("mini");
|
buttonStatistic.classList.add("mini");
|
||||||
buttonStatistic.innerHTML = "";
|
buttonStatistic.textContent = "";
|
||||||
buttonStatistic.onclick = function () {
|
buttonStatistic.onclick = function () {
|
||||||
window.location.href = "#grafana";
|
window.location.href = "#grafana";
|
||||||
};
|
};
|
||||||
|
@ -31,7 +38,7 @@ define(function(){
|
||||||
|
|
||||||
var buttonMeshviewer = document.createElement("i");
|
var buttonMeshviewer = document.createElement("i");
|
||||||
buttonMeshviewer.classList.add("mini");
|
buttonMeshviewer.classList.add("mini");
|
||||||
buttonMeshviewer.innerHTML = '\uf279';
|
buttonMeshviewer.textContent = '\uf279';
|
||||||
buttonMeshviewer.onclick = function () {
|
buttonMeshviewer.onclick = function () {
|
||||||
window.location.href = "#meshviewer";
|
window.location.href = "#meshviewer";
|
||||||
};
|
};
|
||||||
|
@ -39,7 +46,7 @@ define(function(){
|
||||||
|
|
||||||
|
|
||||||
var buttonRefresh = document.createElement("i");
|
var buttonRefresh = document.createElement("i");
|
||||||
buttonRefresh.innerHTML = "";
|
buttonRefresh.textContent = "";
|
||||||
var refreshtime = document.createElement("span");
|
var refreshtime = document.createElement("span");
|
||||||
store.setTimeSinceUpdate(refreshtime);
|
store.setTimeSinceUpdate(refreshtime);
|
||||||
buttonRefresh.appendChild(refreshtime);
|
buttonRefresh.appendChild(refreshtime);
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
define(function(){
|
||||||
|
return function(el,controller){
|
||||||
|
var main = document.createElement("div"),
|
||||||
|
text = document.createElement("span"),
|
||||||
|
link = document.createElement("a");
|
||||||
|
main.classList.add("popup");
|
||||||
|
main.classList.add("hidden");
|
||||||
|
|
||||||
|
main.appendChild(text);
|
||||||
|
|
||||||
|
link.textContent = "Edit";
|
||||||
|
main.appendChild(link);
|
||||||
|
|
||||||
|
el.appendChild(main);
|
||||||
|
|
||||||
|
var timer;
|
||||||
|
|
||||||
|
return {
|
||||||
|
storageNotifyNew: function(key,data){
|
||||||
|
main.classList.remove("hidden");
|
||||||
|
text.textContent = "New Node '"+key+"'!";
|
||||||
|
window.clearTimeout(timer);
|
||||||
|
timer = window.setTimeout(function(){
|
||||||
|
main.classList.add("hidden");
|
||||||
|
}, 5000);
|
||||||
|
link.onclick = function(){
|
||||||
|
window.location.href = "#map/"+key;
|
||||||
|
controller.render(key);
|
||||||
|
main.classList.add("hidden");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
Loading…
Reference in New Issue