faircoinmap-webapp/statics/localnodes.js
statics/localnodes.jsRaw
1var urlln = "https://fairplayground.info/datasources/FCLN/FCLN.json";
2
3var lns = [];
4var lnMarkers = L.markerClusterGroup();
5
6
7function getLocalNode(id) {
8 for(var i=0; i<lns.length; i++) {
9 if(lns[i].id==id) {
10 return(lns[i]);
11 }
12 }
13 return("not found");
14}
15
16function showLocalNodeRightCard(ln) {
17 console.log(ln);
18 document.getElementById("rightCard-title").innerHTML = ln.name;
19 if(ln.description!=null) {
20 document.getElementById("rightCard-text").innerHTML = ln.description;
21 }else{
22 document.getElementById("rightCard-text").innerHTML = "";
23 }
24 var html = `<img style='width:30px;height:30px;'
25 src='`+ ln.icon + `'
26 title="LocalNode"/>`;
27 document.getElementById("rightCard-categories").innerHTML = html;
28 // if(ln.img!=null) {
29 document.getElementById("rightCard-img").src="";
30 document.getElementById("rightCard-img").className = "card-img-top hidden";
31 // } else {
32 // document.getElementById("rightCard-img").src=ln.icon;
33 // document.getElementById("rightCard-img").className = "card-img-top";
34 // }
35 document.getElementById("rightCard-web").href= "#";
36 document.getElementById("rightCard-web").innerHTML = "";
37 document.getElementById("rightCard-mastodon").href="#";
38 document.getElementById("rightCard-mastodon").innerHTML="";
39 document.getElementById("rightCard-twitter").href="#";
40 document.getElementById("rightCard-twitter").innerHTML="";
41 document.getElementById("rightCard-facebook").href="#";
42 document.getElementById("rightCard-facebook").innerHTML="";
43 document.getElementById("rightCard-telegram").href="#";
44 document.getElementById("rightCard-telegram").innerHTML="";
45 document.getElementById("rightCard-email").href="#";
46 document.getElementById("rightCard-email").innerHTML="";
47 document.getElementById("rightCard").className+=" rightCard-show";
48}
49function updateLocalNodesMarkers() {
50 lnMarkers.clearLayers();
51 for(var i=0; i<lns.length; i++) {
52 var lat = lns[i].latitude;
53 var lon = lns[i].longitude;
54 var icon = L.divIcon({
55 className: 'markerInvisible',
56 popupAnchor: [10, 0], // point from which the popup should open relative to the iconAnchor
57 html: "<img style='width:30px;height:30px;' class='marker lnMarker' src='statics/img/categories/faircoop_black.svg' />"
58 });
59 var marker = L.marker([lat, lon], {icon: icon});
60 marker.id = lns[i].id;
61 if(lns[i].description!=null) {
62 marker.bindPopup("<b>"+lns[i].name+"</b><br><i>"+lns[i].description+"</i>");
63 } else {
64 marker.bindPopup("<b>"+lns[i].name+"</b>");
65 }
66 marker.on('mouseover', function(e) {
67 this.openPopup();
68 });
69 marker.on('mouseout', function(e) {
70 this.closePopup();
71 });
72 marker.on('click', function(e) {
73 var ln = getLocalNode(this.id);
74 showLocalNodeRightCard(ln);
75 });
76 lnMarkers.addLayer(marker);
77 }
78 map.addLayer(lnMarkers);
79}
80function showLocalNodes() {
81 $.get(urlln, function(data){
82 console.log(data);
83 lns = data;
84 console.log(routes);
85 updateLocalNodesMarkers();
86 });
87}