aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/cobrands/bathnes/js.js11
-rw-r--r--web/cobrands/fixmystreet-uk-councils/roadworks.js82
-rw-r--r--web/cobrands/sass/_base.scss4
3 files changed, 97 insertions, 0 deletions
diff --git a/web/cobrands/bathnes/js.js b/web/cobrands/bathnes/js.js
new file mode 100644
index 000000000..f76da5cd5
--- /dev/null
+++ b/web/cobrands/bathnes/js.js
@@ -0,0 +1,11 @@
+fixmystreet.roadworks.config = {
+ tag_top: 'h3',
+ colon: true,
+ text_after: "<p>If you think this issue needs immediate attention you can continue your report below</p>"
+};
+
+fixmystreet.roadworks.filter = function(feature) {
+ var category = $('select#form_category').val(),
+ categories = ['Damage to pavement', 'Damage to road', 'Faded road markings', 'Damaged Railing, manhole, or drain cover'];
+ return OpenLayers.Util.indexOf(categories, category) != -1;
+};
diff --git a/web/cobrands/fixmystreet-uk-councils/roadworks.js b/web/cobrands/fixmystreet-uk-councils/roadworks.js
new file mode 100644
index 000000000..a3eec7b1f
--- /dev/null
+++ b/web/cobrands/fixmystreet-uk-councils/roadworks.js
@@ -0,0 +1,82 @@
+/* Using this file, you also need to include the JavaScript file
+ * OpenLayers.Projection.OrdnanceSurvey.js for the 27700 conversion, and an
+ * OpenLayers build that includes OpenLayers.Layer.SphericalMercator and
+ * OpenLayers.Format.GeoJSON.
+ */
+
+(function(){
+
+var roadworks_defaults = {
+ http_options: {
+ url: "https://tilma.mysociety.org/streetmanager.php"
+ },
+ srsName: "EPSG:27700",
+ format_class: OpenLayers.Format.GeoJSON,
+ strategy_class: OpenLayers.Strategy.FixMyStreet,
+ stylemap: fixmystreet.assets.stylemap_invisible,
+ non_interactive: 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 = {};
+
+// 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.config = {};
+
+fixmystreet.roadworks.display_message = function(feature) {
+ var attr = feature.attributes,
+ start = new Date(attr.start_date).toDateString(),
+ end = new Date(attr.end_date).toDateString(),
+ summary = attr.summary,
+ desc = attr.description;
+
+ var config = this.config,
+ summary_heading_text = config.summary_heading_text || 'Summary',
+ tag_top = config.tag_top || 'p',
+ colon = config.colon ? ':' : '';
+
+ var $msg = $('<div class="js-roadworks-message 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>");
+ var $dates = $("<dd></dd>").appendTo($dl);
+ $dates.text(start + " until " + end);
+ if (config.extra_dates_text) {
+ $dates.append('<br>' + config.extra_dates_text);
+ }
+ $dl.append("<dt>" + summary_heading_text + colon + "</dt>");
+ $dl.append($("<dd></dd>").text(summary));
+ if (desc) {
+ $dl.append("<dt>Description" + colon + "</dt>");
+ $dl.append($("<dd></dd>").text(desc));
+ }
+ if (attr.promoter) {
+ $dl.append("<dt>Responsibility</dt>");
+ $dl.append($("<dd></dd>").text(attr.promoter));
+ }
+
+ if (config.text_after) {
+ $dl.append(config.text_after);
+ }
+
+ $msg.prependTo('#js-post-category-messages');
+};
+
+fixmystreet.assets.add(roadworks_defaults);
+
+})();
diff --git a/web/cobrands/sass/_base.scss b/web/cobrands/sass/_base.scss
index f86af2386..07bb2baa1 100644
--- a/web/cobrands/sass/_base.scss
+++ b/web/cobrands/sass/_base.scss
@@ -2184,6 +2184,10 @@ label .muted {
margin-bottom: 0.5em;
}
+ dd:last-child {
+ margin-bottom: 0;
+ }
+
.btn, .btn-primary {
margin: 0.5em 0 1em 0;