aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2019-03-28 14:36:48 +0000
committerMatthew Somerville <matthew-github@dracos.co.uk>2019-03-28 14:38:14 +0000
commit4ea58d559456918624d48d2777a6d68ea0735fae (patch)
treecfee12145ad2154e82a877464914d8243ac8dd88
parent4e23ce51fa7353b915488266517c786168a41880 (diff)
[UK] Make roadworks layer a standard road layer.
This gives us the "set up on load" functionality.
-rw-r--r--web/cobrands/bathnes/js.js8
-rw-r--r--web/cobrands/fixmystreet-uk-councils/roadworks.js46
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') {