From 7455ee6f468d796a257433ea9ee3a4241253eb78 Mon Sep 17 00:00:00 2001 From: int2001 Date: Wed, 26 Jul 2023 17:55:35 +0000 Subject: [PATCH] QSO-Windowdetection / basics --- assets/js/sections/bandmap_list.js | 21 ++++++++++++++++++--- assets/js/sections/qso.js | 20 +++++++++++++++++++- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/assets/js/sections/bandmap_list.js b/assets/js/sections/bandmap_list.js index 54732520..59ecb8aa 100644 --- a/assets/js/sections/bandmap_list.js +++ b/assets/js/sections/bandmap_list.js @@ -118,10 +118,25 @@ $(function() { } }); + var qso_window_last_seen=Date.now()-3600; + + var bc_qsowin = new BroadcastChannel('qso_window'); + bc_qsowin.onmessage = function (ev) { + // console.log(ev.data); + if (ev.data == 'pong') { + qso_window_last_seen=Date.now(); + } + }; + + setInterval(function () { bc_qsowin.postMessage('ping') },500); + var bc2qso = new BroadcastChannel('qso_wish'); + $(document).on('click','.spotted_call', function() { - var bc = new BroadcastChannel('qso_wish'); - bc.postMessage(this.innerText); - console.log(this.innerText); + if (Date.now()-qso_window_last_seen < 2000) { + bc2qso.postMessage({ call: this.innerText }); + } else { + window.open('https://log.dj7nt.de/index.php/qso?manual=0','_blank'); + } }); $("#menutoggle").on("click", function() { diff --git a/assets/js/sections/qso.js b/assets/js/sections/qso.js index 9d2fe535..23087aab 100644 --- a/assets/js/sections/qso.js +++ b/assets/js/sections/qso.js @@ -1,7 +1,25 @@ $( document ).ready(function() { + + var bc_bandmap = new BroadcastChannel('qso_window'); + bc_bandmap.onmessage = function (ev) { + console.log(ev.data); + if (ev.data == 'ping') { + bc_bandmap.postMessage('pong'); + } + } + var bc = new BroadcastChannel('qso_wish'); - bc.onmessage = function (ev) { console.log(ev); } /* receive */ + bc.onmessage = function (ev) { + if (ev.data.ping) { + let message={}; + message.pong=true; + bc.postMessage(message); + } else { + $("#callsign").val(ev.data.call); + $("#callsign").blur(); + } + } /* receive */ $("#locator") .popover({ placement: 'top', title: 'Gridsquare Formatting', content: "Enter multiple (4-digit) grids separated with commas. For example: IO77,IO78" })