introduce some frontend to show messages

This commit is contained in:
Jakob Ketterl 2023-08-22 21:16:09 +02:00
parent 387d94b4ce
commit 476e4ebc5b
4 changed files with 46 additions and 0 deletions

View file

@ -74,6 +74,7 @@
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-js8-message" style="display:none; width: 619px;" data-panel-name="js8-message"></div>
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-packet-message" style="display: none; width: 619px;" data-panel-name="aprs-message"></div>
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-pocsag-message" style="display: none; width: 619px;" data-panel-name="pocsag-message"></div>
<div class="openwebrx-panel openwebrx-message-panel" id="openwebrx-panel-adsb-message" style="display: none; width: 619px;" data-panel-name="adsb-message"></div>
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-m17" style="display: none;" data-panel-name="metadata-m17">
<div class="openwebrx-meta-slot">
<div class="openwebrx-meta-user-image">

View file

@ -163,6 +163,7 @@ DemodulatorPanel.prototype.updatePanels = function() {
toggle_panel("openwebrx-panel-js8-message", modulation === "js8");
toggle_panel("openwebrx-panel-packet-message", modulation === "packet");
toggle_panel("openwebrx-panel-pocsag-message", modulation === "pocsag");
toggle_panel('openwebrx-panel-adsb-message', modulation === 'adsb');
modulation = this.getDemodulator().get_modulation();
var showing = 'openwebrx-panel-metadata-' + modulation;

View file

@ -268,4 +268,46 @@ $.fn.pocsagMessagePanel = function() {
this.data('panel', new PocsagMessagePanel(this));
}
return this.data('panel');
};
AdsbMessagePanel = function(el) {
MessagePanel.call(this, el);
this.initClearTimer();
}
AdsbMessagePanel.prototype = new MessagePanel();
AdsbMessagePanel.prototype.supportsMessage = function(message) {
return message["mode"] === "ADSB";
};
AdsbMessagePanel.prototype.render = function() {
$(this.el).append($(
'<table>' +
'<thead><tr>' +
'<th class="address">ICAO</th>' +
'<th class="message">Message</th>' +
'</tr></thead>' +
'<tbody></tbody>' +
'</table>'
));
};
AdsbMessagePanel.prototype.pushMessage = function(message) {
var $b = $(this.el).find('tbody');
$b.append($(
'<tr>' +
'<td class="address"></td>' +
'<td class="message">' + JSON.stringify(message) + '</td>' +
'</tr>'
));
$b.scrollTop($b[0].scrollHeight);
};
$.fn.adsbMessagePanel = function () {
if (!this.data('panel')) {
this.data('panel', new AdsbMessagePanel(this));
}
return this.data('panel');
};

View file

@ -860,6 +860,7 @@ function on_ws_recv(evt) {
$("#openwebrx-panel-wsjt-message").wsjtMessagePanel(),
$('#openwebrx-panel-packet-message').packetMessagePanel(),
$('#openwebrx-panel-pocsag-message').pocsagMessagePanel(),
$('#openwebrx-panel-adsb-message').adsbMessagePanel(),
$("#openwebrx-panel-js8-message").js8()
];
if (!panels.some(function(panel) {
@ -1465,6 +1466,7 @@ function secondary_demod_init() {
$('#openwebrx-panel-wsjt-message').wsjtMessagePanel();
$('#openwebrx-panel-packet-message').packetMessagePanel();
$('#openwebrx-panel-pocsag-message').pocsagMessagePanel();
$('#openwebrx-panel-adsb-message').adsbMessagePanel();
$('#openwebrx-panel-js8-message').js8();
}