diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-03-28 14:36:48 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-03-28 14:38:14 +0000 |
commit | 4ea58d559456918624d48d2777a6d68ea0735fae (patch) | |
tree | cfee12145ad2154e82a877464914d8243ac8dd88 /web | |
parent | 4e23ce51fa7353b915488266517c786168a41880 (diff) |
[UK] Make roadworks layer a standard road layer.
This gives us the "set up on load" functionality.
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/bathnes/js.js | 8 | ||||
-rw-r--r-- | web/cobrands/fixmystreet-uk-councils/roadworks.js | 46 |
2 files changed, 17 insertions, 37 deletions
diff --git a/web/cobrands/bathnes/js.js b/web/cobrands/bathnes/js.js index 418e0650c..afc7df44d 100644 --- a/web/cobrands/bathnes/js.js +++ b/web/cobrands/bathnes/js.js @@ -24,14 +24,6 @@ fixmystreet.roadworks.filter = function(feature) { ( type === 'o' && OpenLayers.Util.indexOf(valid_subtypes, sub_type) != -1 ) ); }; -fixmystreet.roadworks.category_change = function() { - if (fixmystreet.map) { - fixmystreet.roadworks.show_nearby(null, fixmystreet.get_lonlat_from_dom()); - } -}; - -$(fixmystreet).on('report_new:category_change', fixmystreet.roadworks.category_change); - var org_id = '114'; var body = "Bath and North East Somerset Council"; fixmystreet.assets.add($.extend(true, {}, fixmystreet.roadworks.layer_future, { diff --git a/web/cobrands/fixmystreet-uk-councils/roadworks.js b/web/cobrands/fixmystreet-uk-councils/roadworks.js index 7b1b00583..f7451f801 100644 --- a/web/cobrands/fixmystreet-uk-councils/roadworks.js +++ b/web/cobrands/fixmystreet-uk-councils/roadworks.js @@ -140,7 +140,22 @@ var roadworks_defaults = { stylemap: stylemap, body: "", // Cobrand JS should extend and override this. non_interactive: true, - always_visible: true + always_visible: true, + nearest_radius: 100, + road: true, + all_categories: true, + actions: { + found: function(layer, feature) { + $(".js-roadworks-message-" + layer.id).remove(); + if (!fixmystreet.roadworks.filter || fixmystreet.roadworks.filter(feature)) { + fixmystreet.roadworks.display_message(feature); + return true; + } + }, + not_found: function(layer) { + $(".js-roadworks-message-" + layer.id).remove(); + } + } }; fixmystreet.roadworks = {}; @@ -155,30 +170,6 @@ fixmystreet.roadworks.layer_future = $.extend(true, {}, roadworks_defaults, { // fixmystreet.map.layers[5].getNearestFeature(new OpenLayers.Geometry.Point(-0.835614, 51.816562).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:3857")), 10) -fixmystreet.roadworks.show_nearby = function(evt, lonlat) { - $(".js-roadworks-message").remove(); - var providers = fixmystreet.map.getLayersBy('fixmystreet', { - test: function(options) { - return options && options.format_class == OpenLayers.Format.RoadworksForwardPlanning; - } - }); - for (var i=0; i<providers.length; i++) { - var layer = providers[i]; - var point = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat); - var feature = layer.getFeatureAtPoint(point); - if (feature == null) { - // The click wasn't directly over a road, try and find one nearby - feature = layer.getNearestFeature(point, 100); - } - if (feature !== null) { - if (!fixmystreet.roadworks.filter || fixmystreet.roadworks.filter(feature)) { - fixmystreet.roadworks.display_message(feature); - return true; - } - } - } -}; - fixmystreet.roadworks.config = {}; fixmystreet.roadworks.display_message = function(feature) { @@ -192,7 +183,7 @@ fixmystreet.roadworks.display_message = function(feature) { tag_top = config.tag_top || 'p', colon = config.colon ? ':' : ''; - var $msg = $('<div class="js-roadworks-message box-warning"><' + tag_top + '>Roadworks are scheduled near this location, so you may not need to report your issue.</' + tag_top + '></div>'); + var $msg = $('<div class="js-roadworks-message-' + feature.layer.id + ' box-warning"><' + tag_top + '>Roadworks are scheduled near this location, so you may not need to report your issue.</' + tag_top + '></div>'); var $dl = $("<dl></dl>").appendTo($msg); $dl.append("<dt>Dates" + colon + "</dt>"); $dl.append($("<dd></dd>").text(start + " until " + end)); @@ -220,9 +211,6 @@ fixmystreet.roadworks.display_message = function(feature) { $msg.prependTo('#js-post-category-messages'); }; - -$(fixmystreet).on('maps:update_pin', fixmystreet.roadworks.show_nearby); - /* Stop sending a needless header so that no preflight CORS request */ OpenLayers.Request.XMLHttpRequest.prototype.setRequestHeader = function(sName, sValue) { if (sName.toLowerCase() == 'x-requested-with') { |