diff --git a/public/index.html b/public/index.html index 9dbc5f71..5bb120e3 100644 --- a/public/index.html +++ b/public/index.html @@ -84,7 +84,7 @@ - + diff --git a/public/packets.js b/public/packets.js index 695d516f..89155387 100644 --- a/public/packets.js +++ b/public/packets.js @@ -581,6 +581,16 @@ if (hash) selectPacket(null, hash); else selectPacket(Number(value)); } + else if (action === 'select-observation') { + const parentHash = row.dataset.parentHash; + const group = packets.find(p => p.hash === parentHash); + const child = group?._children?.find(c => String(c.id) === String(value)); + if (child) { + const parentData = group._fetchedData; + const obsPacket = parentData ? {...parentData.packet, observer_id: child.observer_id, observer_name: child.observer_name, snr: child.snr, rssi: child.rssi, path_json: child.path_json, timestamp: child.timestamp, first_seen: child.timestamp} : child; + selectPacket(child.id, parentHash, {packet: obsPacket, breakdown: parentData?.breakdown, observations: parentData?.observations}); + } + } else if (action === 'select-hash') pktSelectHash(value); else if (action === 'toggle-select') { pktToggleGroup(value); pktSelectHash(value); } }; @@ -671,7 +681,7 @@ let childPath = []; try { childPath = JSON.parse(c.path_json || '[]'); } catch {} const childPathStr = renderPath(childPath); - html += `