From 81a61c28619ef9f32e79e5698bc4162ca1ceb82d Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Tue, 16 Jan 2024 22:18:32 +0100 Subject: Add Destination to Send page --- static/main.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'static') 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); } -- cgit v1.2.3