diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | web/cobrands/fixmystreet/assets.js | 8 | ||||
-rw-r--r-- | web/js/duplicates.js | 6 | ||||
-rw-r--r-- | web/js/map-OpenLayers.js | 7 |
4 files changed, 22 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 525c350b5..89f215660 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Improve keyboard accessibility. - Report form now indicates that details are kept private if report is made in a private category. #2528 + - Improve map JavaScript defensiveness. - Admin improvements: - Add new roles system, to group permissions and apply to users. - New features: diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index 15ac3a9a3..c86f09ed9 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -526,6 +526,10 @@ fixmystreet.assets = { }, add: function(default_options, options) { + if (!document.getElementById('map')) { + return; + } + options = $.extend(true, {}, default_options, options); var asset_fault_layer = null; @@ -734,6 +738,10 @@ fixmystreet.assets = { return; } + if (!fixmystreet.map) { + return; + } + // Make sure the assets get hidden if the back button is pressed fixmystreet.maps.display_around = (function(original) { function hide_assets() { diff --git a/web/js/duplicates.js b/web/js/duplicates.js index 0844cb5f3..3ed7e6079 100644 --- a/web/js/duplicates.js +++ b/web/js/duplicates.js @@ -121,6 +121,9 @@ } function render_duplicate_pins(api_response) { + if (!fixmystreet.markers) { + return; + } var markers = fixmystreet.maps.markers_list( api_response.pins, true ); fixmystreet.markers.removeFeatures( current_duplicate_markers ); fixmystreet.markers.addFeatures( markers ); @@ -138,6 +141,9 @@ } function remove_duplicate_pins() { + if (!fixmystreet.markers) { + return; + } fixmystreet.markers.removeFeatures( current_duplicate_markers ); } diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index ae86269c9..cd2283491 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -304,6 +304,9 @@ $.extend(fixmystreet.utils, { // fixmystreet.select_feature). markers_highlight: function(problem_id) { + if (!fixmystreet.markers) { + return; + } for (var i = 0; i < fixmystreet.markers.features.length; i++) { if (typeof problem_id == 'undefined') { // There is no highlighted marker, so unfade this marker @@ -791,6 +794,10 @@ $.extend(fixmystreet.utils, { $(function(){ + if (!document.getElementById('map')) { + return; + } + // Set specific map config - some other JS included in the // template should define this fixmystreet.maps.config(); |