diff --git a/htdocs/lib/Header.js b/htdocs/lib/Header.js
new file mode 100644
index 0000000..aec4ab7
--- /dev/null
+++ b/htdocs/lib/Header.js
@@ -0,0 +1,22 @@
+function Header(el) {
+ this.el = el;
+
+ this.el.find('#openwebrx-main-buttons').find('[data-toggle-panel]').click(function () {
+ toggle_panel($(this).data('toggle-panel'));
+ });
+};
+
+Header.prototype.setDetails = function(details) {
+ this.el.find('#webrx-rx-title').html(details['receiver_name']);
+ var query = encodeURIComponent(details['receiver_gps']['lat'] + ',' + details['receiver_gps']['lon']);
+ this.el.find('#webrx-rx-desc').html(details['receiver_location'] + ' | Loc: ' + details['locator'] + ', ASL: ' + details['receiver_asl'] + ' m, [maps]');
+ this.el.find('#webrx-rx-photo-title').html(details['photo_title']);
+ this.el.find('#webrx-rx-photo-desc').html(details['photo_desc']);
+};
+
+$.fn.header = function() {
+ if (!this.data('header')) {
+ this.data('header', new Header(this));
+ }
+ return this.data('header');
+};
\ No newline at end of file
diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js
index 0fa62cd..fb5586d 100644
--- a/htdocs/openwebrx.js
+++ b/htdocs/openwebrx.js
@@ -761,12 +761,7 @@ function on_ws_recv(evt) {
secondary_demod_init_canvases();
break;
case "receiver_details":
- var r = json['value'];
- e('webrx-rx-title').innerHTML = r['receiver_name'];
- var query = encodeURIComponent(r['receiver_gps']['lat'] + ',' + r['receiver_gps']['lon']);
- e('webrx-rx-desc').innerHTML = r['receiver_location'] + ' | Loc: ' + r['locator'] + ', ASL: ' + r['receiver_asl'] + ' m, [maps]';
- e('webrx-rx-photo-title').innerHTML = r['photo_title'];
- e('webrx-rx-photo-desc').innerHTML = r['photo_desc'];
+ $('#webrx-top-container').header().setDetails(json['value']);
break;
case "smeter":
smeter_level = json['value'];
@@ -1346,12 +1341,6 @@ function openwebrx_resize() {
resize_scale();
}
-function init_header() {
- $('#openwebrx-main-buttons').find('[data-toggle-panel]').click(function () {
- toggle_panel($(this).data('toggle-panel'));
- });
-}
-
function initProgressBars() {
$(".openwebrx-progressbar").each(function(){
var bar = $(this).progressbar();
@@ -1397,7 +1386,7 @@ function openwebrx_init() {
$('.webrx-mouse-freq').frequencyDisplay();
$('#openwebrx-panel-receiver').demodulatorPanel();
window.addEventListener("resize", openwebrx_resize);
- init_header();
+ $('#webrx-top-container').header();
bookmarks = new BookmarkBar();
initSliders();
}
diff --git a/owrx/controllers/assets.py b/owrx/controllers/assets.py
index b7b272a..f0bf6ac 100644
--- a/owrx/controllers/assets.py
+++ b/owrx/controllers/assets.py
@@ -69,6 +69,7 @@ class CompiledAssetsController(Controller):
"openwebrx.js",
"lib/jquery-3.2.1.min.js",
"lib/jquery.nanoscroller.js",
+ "lib/Header.js",
"lib/Demodulator.js",
"lib/DemodulatorPanel.js",
"lib/BookmarkBar.js",