diff options
Diffstat (limited to 'static')
-rw-r--r-- | static/main.js | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/static/main.js b/static/main.js index 8687dc1..ad50976 100644 --- a/static/main.js +++ b/static/main.js @@ -1,13 +1,37 @@ -async function btn_send_packet() { +async function btn_add_destination() { + const template = document.getElementById('destination_template'); + + let clon = template.content.cloneNode(true); + document.getElementById('destinations').appendChild(clon); +} + +async function btn_remove_destination(element_clicked) { + element_clicked.parentElement.remove() +} +async function btn_send_packet() { let data = { 'comment': null, + 'destinations': [], }; if (document.getElementById('with_comment').checked) { data.comment = document.getElementById('whisker_comment').value; } + const destinations = document.getElementById('destinations'); + const destList = destinations.querySelectorAll("p.destination"); + for (let i = 0; i < destList.length; i++) { + const dest_callsign = destList[i].querySelector("input.dest_callsign").value; + const dest_ssid_str = destList[i].querySelector("input.dest_ssid").value; + const dest_ssid = parseInt(dest_ssid_str, 10); + if (dest_ssid < 0 || dest_ssid > 255) { + alert("SSID must be between 0 and 255"); + return; + } + data.destinations.push({'callsign': dest_callsign, 'ssid': dest_ssid}); + } + await post('/api/send_packet', data); } |