diff --git a/src/public/index.html b/src/public/index.html index 6c5e019..3920521 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -1021,6 +1021,13 @@ function goToNode(id){ + // find node + var node = findNodeById(id); + if(!node){ + alert("Could not find node: " + id); + return; + } + // find node marker by id var nodeMarker = findNodeMarkerById(id); if(!nodeMarker){ @@ -1040,8 +1047,8 @@ animate: true, }); - // open tooltip - nodeMarker.openTooltip(); + // open tooltip for node + map.openTooltip(getTooltipContentForNode(node), nodeMarker.getLatLng()); } @@ -1146,37 +1153,6 @@ var icon = iconOnline; // todo status - var tooltip = `` + - `${node.long_name}` + - `
Short Name: ${node.short_name}` + - `

Role: ${node.role_name}` + - `
Hardware: ${node.hardware_model_name}`; - - if(node.battery_level){ - if(node.battery_level > 100){ - tooltip += `
Battery: ${node.battery_level > 100 ? 'Plugged In' : node.battery_level}`; - } else { - tooltip += `
Battery: ${node.battery_level}%`; - } - } - - if(node.voltage){ - tooltip += `
Voltage: ${Number(node.voltage).toFixed(2)}V`; - } - - if(node.channel_utilization){ - tooltip += `
Ch Util: ${Number(node.channel_utilization).toFixed(2)}%`; - } - - if(node.air_util_tx){ - tooltip += `
Air Util: ${Number(node.air_util_tx).toFixed(2)}%`; - } - - // bottom info - tooltip += `

ID: ${node.node_id}`; - tooltip += `
Hex ID: ${node.node_id_hex}`; - tooltip += `
Updated: ${moment(new Date(node.updated_at)).fromNow()}`; - // create node marker var marker = L.marker([node.latitude, node.longitude], { icon: icon, @@ -1192,7 +1168,7 @@ // show tooltip on desktop only if(!isMobile()){ - marker.bindTooltip(tooltip, { + marker.bindTooltip(getTooltipContentForNode(node), { interactive: true, }); } @@ -1323,6 +1299,43 @@ } + function getTooltipContentForNode(node) { + + var tooltip = `` + + `${node.long_name}` + + `
Short Name: ${node.short_name}` + + `

Role: ${node.role_name}` + + `
Hardware: ${node.hardware_model_name}`; + + if(node.battery_level){ + if(node.battery_level > 100){ + tooltip += `
Battery: ${node.battery_level > 100 ? 'Plugged In' : node.battery_level}`; + } else { + tooltip += `
Battery: ${node.battery_level}%`; + } + } + + if(node.voltage){ + tooltip += `
Voltage: ${Number(node.voltage).toFixed(2)}V`; + } + + if(node.channel_utilization){ + tooltip += `
Ch Util: ${Number(node.channel_utilization).toFixed(2)}%`; + } + + if(node.air_util_tx){ + tooltip += `
Air Util: ${Number(node.air_util_tx).toFixed(2)}%`; + } + + // bottom info + tooltip += `

ID: ${node.node_id}`; + tooltip += `
Hex ID: ${node.node_id_hex}`; + tooltip += `
Updated: ${moment(new Date(node.updated_at)).fromNow()}`; + + return tooltip; + + } + // parse url params var queryParams = new URLSearchParams(location.search); var queryNodeId = queryParams.get('node_id');