Refactor and reset range rings properly

This commit is contained in:
Eric Tran 2020-03-02 19:19:57 +00:00
parent 8bb95e9956
commit f13b96dc6b
1 changed files with 34 additions and 32 deletions

View File

@ -297,7 +297,28 @@ function initialize() {
$("#altitude_filter_reset_button").click(onResetAltitudeFilter); $("#altitude_filter_reset_button").click(onResetAltitudeFilter);
initializeRangeRings(); setRangeRings();
$('#range_rings_button').click(onSetRangeRings);
$("#range_ring_form").validate({
errorPlacement: function(error, element) {
return true;
},
rules: {
ringCount: {
number: true,
min: 0
},
baseRing: {
number: true,
min: 0
},
ringInterval: {
number: true,
min: 0
}
}
});
$('#settingsCog').on('click', function() { $('#settingsCog').on('click', function() {
$('#settings_infoblock').toggle(); $('#settings_infoblock').toggle();
@ -1495,9 +1516,13 @@ function resetMap() {
localStorage['CenterLat'] = CenterLat = DefaultCenterLat; localStorage['CenterLat'] = CenterLat = DefaultCenterLat;
localStorage['CenterLon'] = CenterLon = DefaultCenterLon; localStorage['CenterLon'] = CenterLon = DefaultCenterLon;
localStorage['ZoomLvl'] = ZoomLvl = DefaultZoomLvl; localStorage['ZoomLvl'] = ZoomLvl = DefaultZoomLvl;
// Reset to default range rings
localStorage['SiteCirclesCount'] = SiteCirclesCount = DefaultSiteCirclesCount; localStorage['SiteCirclesCount'] = SiteCirclesCount = DefaultSiteCirclesCount;
localStorage['SiteCirclesBaseDistance'] = SiteCirclesBaseDistance = DefaultSiteCirclesBaseDistance; localStorage['SiteCirclesBaseDistance'] = SiteCirclesBaseDistance = DefaultSiteCirclesBaseDistance;
localStorage['SiteCirclesInterval'] = SiteCirclesInterval = DefaultSiteCirclesInterval; localStorage['SiteCirclesInterval'] = SiteCirclesInterval = DefaultSiteCirclesInterval;
setRangeRings();
createSiteCircleFeatures();
// Set and refresh // Set and refresh
OLMap.getView().setZoom(ZoomLvl); OLMap.getView().setZoom(ZoomLvl);
@ -1895,49 +1920,26 @@ function updatePiAwareOrFlightFeeder() {
refreshPageTitle(); refreshPageTitle();
} }
// Setup custom range rings // Set range ring globals and populate form values
function initializeRangeRings() { function setRangeRings() {
SiteCirclesCount = Number(localStorage['SiteCirclesCount']) || DefaultSiteCirclesCount; SiteCirclesCount = Number(localStorage['SiteCirclesCount']) || DefaultSiteCirclesCount;
SiteCirclesBaseDistance = Number(localStorage['SiteCirclesBaseDistance']) || DefaultSiteCirclesBaseDistance; SiteCirclesBaseDistance = Number(localStorage['SiteCirclesBaseDistance']) || DefaultSiteCirclesBaseDistance;
SiteCirclesInterval = Number(localStorage['SiteCirclesInterval']) || DefaultSiteCirclesInterval; SiteCirclesInterval = Number(localStorage['SiteCirclesInterval']) || DefaultSiteCirclesInterval;
// Populate text fields with current values // Populate text fields with current values
$('#range_ring_count').val(SiteCirclesCount); $('#range_ring_count').val(SiteCirclesCount);
$('#range_ring_base').val(SiteCirclesBaseDistance); $('#range_ring_base').val(SiteCirclesBaseDistance);
$('#range_ring_interval').val(SiteCirclesInterval); $('#range_ring_interval').val(SiteCirclesInterval);
$('#range_rings_button').click(onSetRangeRings);
$("#range_ring_form").validate({
errorPlacement: function(error, element) {
return true;
},
rules: {
ringCount: {
number: true,
min: 0
},
baseRing: {
number: true,
min: 0
},
ringInterval: {
number: true,
min: 0
}
}
});
} }
// redraw range rings with form values // redraw range rings with form values
function onSetRangeRings() { function onSetRangeRings() {
SiteCirclesCount = parseFloat($("#range_ring_count").val().trim());
SiteCirclesBaseDistance = parseFloat($("#range_ring_base").val().trim());
SiteCirclesInterval = parseFloat($("#range_ring_interval").val().trim());
// Save state to localStorage // Save state to localStorage
localStorage.setItem('SiteCirclesCount', SiteCirclesCount); localStorage.setItem('SiteCirclesCount', parseFloat($("#range_ring_count").val().trim()));
localStorage.setItem('SiteCirclesBaseDistance', SiteCirclesBaseDistance); localStorage.setItem('SiteCirclesBaseDistance', parseFloat($("#range_ring_base").val().trim()));
localStorage.setItem('SiteCirclesInterval', SiteCirclesInterval); localStorage.setItem('SiteCirclesInterval', parseFloat($("#range_ring_interval").val().trim()));
setRangeRings();
createSiteCircleFeatures(); createSiteCircleFeatures();
} }