diff options
Diffstat (limited to 'static/send.js')
-rw-r--r-- | static/send.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/static/send.js b/static/send.js new file mode 100644 index 0000000..33585ea --- /dev/null +++ b/static/send.js @@ -0,0 +1,49 @@ +async function btn_send_add_destination() { + const template = document.getElementById('destination_template'); + + let clon = template.content.cloneNode(true); + document.getElementById('destinations').appendChild(clon); +} + +async function btn_send_remove_destination(element_clicked) { + element_clicked.parentElement.remove() +} + +async function btn_send_send() { + let data = { + 'comment': null, + //'simplex': null, + 'destinations': [], + }; + + if (document.getElementById('with_comment').checked) { + data.comment = document.getElementById('whisker_comment').value; + } + + /* not yet implemented in ham-cats + if (document.getElementById('with_simplex').checked) { + const simplex_freq_MHz = parseInt(document.getElementById('simplex_mode').value, 10); + const mode_select = document.getElementById('simplex_mode') + const i = mode_select.selectedIndex; + const simplex_mode = mode_select.options[i].text; + + data.simplex = {'frequency': simplex_freq_MHz * 1e6, 'mode': simplex_mode}; + } + */ + + 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); +} + |