From bc8ff8e48917c4d0ae5130bcc650d0ac3ed9a3ab Mon Sep 17 00:00:00 2001 From: "Stanislav Lechev [0xAF]" Date: Tue, 28 Nov 2023 00:09:29 +0200 Subject: [PATCH 1/2] save leaflet user prefs to local storage --- htdocs/map-leaflet.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/htdocs/map-leaflet.js b/htdocs/map-leaflet.js index 90354862..c252f105 100644 --- a/htdocs/map-leaflet.js +++ b/htdocs/map-leaflet.js @@ -313,16 +313,17 @@ MapManager.prototype.initializeMap = function(receiver_gps, api_key, weather_key } }); + var map_idx = LS.loadInt('leaflet_map_idx'); // should return 0 if not found $.each(mapSources, function (idx, ms) { $('#openwebrx-map-source').append( $('') - .attr('selected', idx == 0 ? true : false) + .attr('selected', idx == map_idx ? true : false) .attr('value', idx) .attr('title', ms.info) .text(ms.name) ); ms.layer = L.tileLayer(ms.url, ms.options); - if (idx == 0) ms.layer.addTo(map); + if (idx == map_idx) ms.layer.addTo(map); }); var apiKeys = {}; @@ -375,6 +376,7 @@ MapManager.prototype.initializeMap = function(receiver_gps, api_key, weather_key map.removeLayer(ms.layer); }); map.addLayer(m.layer); + LS.save('leaflet_map_idx', id); $('#openwebrx-map-extralayers').find('input').each(function (idx, inp) { if ($(inp).is(':checked')) { addMapOverlay($(inp).attr('name')); @@ -385,21 +387,26 @@ MapManager.prototype.initializeMap = function(receiver_gps, api_key, weather_key if (!isMapEligible(mel)) return; if ($('#openwebrx-map-layer-' + mel.name).length) return; // checkbox with that name exists already + var enabled = LS.loadBool('leaflet-layer-' + mel.name); // should return false if not found $('#openwebrx-map-extralayers').append( $('' ).on('change', function (e) { if (e.target.checked) { addMapOverlay(mel.name); + LS.save('leaflet-layer-' + mel.name, 'true'); } else { removeMapOverlay(mel.name); + LS.save('leaflet-layer-' + mel.name, 'false'); } }) ); + if (enabled) addMapOverlay(mel.name); }); // Create map legend selectors From aa16f30f042b9e4cd7afb4a0b1271af4bfe0a66c Mon Sep 17 00:00:00 2001 From: "Stanislav Lechev [0xAF]" Date: Tue, 28 Nov 2023 00:17:20 +0200 Subject: [PATCH 2/2] simplify a bit --- htdocs/map-leaflet.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/htdocs/map-leaflet.js b/htdocs/map-leaflet.js index c252f105..9dd4f0b4 100644 --- a/htdocs/map-leaflet.js +++ b/htdocs/map-leaflet.js @@ -399,11 +399,10 @@ MapManager.prototype.initializeMap = function(receiver_gps, api_key, weather_key ).on('change', function (e) { if (e.target.checked) { addMapOverlay(mel.name); - LS.save('leaflet-layer-' + mel.name, 'true'); } else { removeMapOverlay(mel.name); - LS.save('leaflet-layer-' + mel.name, 'false'); } + LS.save('leaflet-layer-' + mel.name, e.target.checked); }) ); if (enabled) addMapOverlay(mel.name);