From 2010a384110e7a14dfe75230e91dd662856031c2 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sun, 9 Jun 2019 15:15:27 +0200 Subject: [PATCH] add new nicer dmr status display --- htdocs/gfx/openwebrx-user.png | Bin 0 -> 2466 bytes htdocs/index.html | 18 +++++++++++++ htdocs/openwebrx.css | 48 ++++++++++++++++++++++++++++++++++ htdocs/openwebrx.js | 44 +++++++++++++++---------------- 4 files changed, 87 insertions(+), 23 deletions(-) create mode 100644 htdocs/gfx/openwebrx-user.png diff --git a/htdocs/gfx/openwebrx-user.png b/htdocs/gfx/openwebrx-user.png new file mode 100644 index 0000000000000000000000000000000000000000..4c2969742d49eea92b5a829900f596fdf1c82c5c GIT binary patch literal 2466 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 literal 0 HcmV?d00001 diff --git a/htdocs/index.html b/htdocs/index.html index da3c800..255d325 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -170,6 +170,24 @@
+
+
+
+
Timeslot 1
+
+
+
+
+
+
+
Timeslot 2
+
+
+
+
+
+
+
diff --git a/htdocs/openwebrx.css b/htdocs/openwebrx.css index 4736bf3..9c4e0d8 100644 --- a/htdocs/openwebrx.css +++ b/htdocs/openwebrx.css @@ -928,3 +928,51 @@ img.openwebrx-mirror-img border-color: Red; } +#openwebrx-panel-metadata-dmr { + background: none; + padding: 0; +} + +.openwebrx-dmr-panel { + height: 200px; + + outline: 1px solid #111; + border-top: 1px solid #555; + padding: 10px; + background: #333; +} + +.openwebrx-dmr-timeslot-panel { + width: 133px; + height: 194px; + float: left; + margin-right: 10px; + + padding:2px 0; + color: #333; + background: #575757; + border: 1px solid #000; + border-right: 1px solid #353535; + border-bottom: 1px solid #353535; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 2px; +} + +.openwebrx-dmr-timeslot-panel.active { + background-color: #95bbdf; +} + +.openwebrx-dmr-timeslot-panel:last-child { + margin-right: 0; +} + +.openwebrx-dmr-timeslot-panel.active .openwebrx-dmr-user-image { + background-image: url("gfx/openwebrx-user.png"); + width:133px; + height:133px; +} + +.openwebrx-dmr-timeslot-panel { + text-align: center; +} diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js index 40f95c2..b1e47be 100644 --- a/htdocs/openwebrx.js +++ b/htdocs/openwebrx.js @@ -620,6 +620,9 @@ function demodulator_analog_replace(subtype, for_digital) demodulator_add(new demodulator_default_analog(temp_offset,subtype)); demodulator_buttons_update(); clear_metadata(); + if (subtype == "dmr") { + toggle_panel("openwebrx-panel-metadata-dmr", true); + } } function demodulator_set_offset_frequency(which,to_what) @@ -1316,28 +1319,22 @@ function update_metadata(meta) { if (meta.protocol) switch (meta.protocol) { case 'DMR': if (meta.slot) { - var html = 'Timeslot: ' + meta.slot; - if (meta.type) html += ' Typ: ' + meta.type; - if (meta.additional && meta.additional.callsign) { - html += ' Source: ' + meta.additional.callsign; - if (meta.additional.fname) { - html += ' (' + meta.additional.fname + ')'; - } - } else if (meta.source) { - html += ' Source: ' + meta.source; + el = $(".openwebrx-dmr-panel .openwebrx-dmr-timeslot-panel").get(meta.slot); + var id = ""; + var name = ""; + var talkgroup = ""; + if (meta.type && meta.type != "data") { + id = (meta.additional && meta.additional.callsign) || meta.source || ""; + name = (meta.additional && meta.additional.fname) || ""; + talkgroup = meta.target || ""; + $(el).addClass("active"); + } else { + $(el).removeClass("active"); } - if (meta.target) html += ' Target: ' + meta.target; - update = function(_, el) { - var slotEl = el.getElementsByClassName('slot-' + meta.slot); - if (!slotEl.length) { - slotEl = document.createElement('div'); - slotEl.className = 'slot-' + meta.slot; - el.appendChild(slotEl); - } else { - slotEl = slotEl[0]; - } - slotEl.innerHTML = html; - }; + $(el).find(".openwebrx-dmr-id").text(id); + $(el).find(".openwebrx-dmr-name").text(name); + $(el).find(".openwebrx-dmr-talkgroup").text(talkgroup); + } break; case 'YSF': @@ -1351,15 +1348,16 @@ function update_metadata(meta) { update = function(_, el) { el.innerHTML = html; } + $('.openwebrx-panel[data-panel-name="metadata"]').each(update); + toggle_panel("openwebrx-panel-metadata", true); break; } - $('.openwebrx-panel[data-panel-name="metadata"]').each(update); - toggle_panel("openwebrx-panel-metadata", true); } function clear_metadata() { toggle_panel("openwebrx-panel-metadata", false); + toggle_panel("openwebrx-panel-metadata-dmr", false); } function add_problem(what)