aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--web/cobrands/bexley/js.js2
-rw-r--r--web/cobrands/bromley/assets.js2
-rw-r--r--web/cobrands/fixmystreet/assets.js2
-rw-r--r--web/cobrands/fixmystreet/fixmystreet.js2
-rw-r--r--web/cobrands/fixmystreet/staff.js3
-rw-r--r--web/js/duplicates.js18
7 files changed, 24 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5427de162..3afd39446 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,7 @@
- Hide category extras when duplicate suggestions shown.
- Hide duplicate suggestions when signing in during reporting.
- Retain extra data if signing in during reporting.
+ - Have duplicate suggestion and assets coexist better.
- Front end improvements:
- Set report title autocomplete to off to prevent email autocompleting
- Development improvements:
diff --git a/web/cobrands/bexley/js.js b/web/cobrands/bexley/js.js
index 907185aea..f2ee820b2 100644
--- a/web/cobrands/bexley/js.js
+++ b/web/cobrands/bexley/js.js
@@ -114,7 +114,7 @@ fixmystreet.assets.add(defaults, {
// We need to trigger the below function on subcategory change also
$(function(){
$("#problem_form").on("change.category", "#form_DALocation", function() {
- $(fixmystreet).trigger('report_new:category_change', [ $('#form_category') ]);
+ $(fixmystreet).trigger('report_new:category_change');
});
});
diff --git a/web/cobrands/bromley/assets.js b/web/cobrands/bromley/assets.js
index c1f22f529..6de53ae87 100644
--- a/web/cobrands/bromley/assets.js
+++ b/web/cobrands/bromley/assets.js
@@ -89,7 +89,7 @@ var tfl_asset_categories = Object.keys(bromley_to_tfl);
$(function(){
$("#problem_form").on("change.category", "#form_service_sub_code", function() {
- $(fixmystreet).trigger('report_new:category_change', [ $('#form_category') ]);
+ $(fixmystreet).trigger('report_new:category_change');
});
});
diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js
index c86f09ed9..caef01886 100644
--- a/web/cobrands/fixmystreet/assets.js
+++ b/web/cobrands/fixmystreet/assets.js
@@ -1001,7 +1001,7 @@ fixmystreet.message_controller = (function() {
$('#' + stopperId).remove(); // Get rid of any stopper message
responsibility_off(); // Will also reenable form
} else {
- $(fixmystreet).trigger('report_new:category_change', [ $('#form_category') ]);
+ $(fixmystreet).trigger('report_new:category_change');
}
});
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js
index 519a01fee..7aac072ea 100644
--- a/web/cobrands/fixmystreet/fixmystreet.js
+++ b/web/cobrands/fixmystreet/fixmystreet.js
@@ -476,7 +476,7 @@ $.extend(fixmystreet.set_up, {
}
});
- $(fixmystreet).trigger('report_new:category_change', [ $(this) ]);
+ $(fixmystreet).trigger('report_new:category_change');
});
},
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js
index 0bbf65aae..b074a49f3 100644
--- a/web/cobrands/fixmystreet/staff.js
+++ b/web/cobrands/fixmystreet/staff.js
@@ -387,7 +387,8 @@ $(fixmystreet).on('display:report', function() {
}
});
-$(fixmystreet).on('report_new:category_change', function(evt, $this) {
+$(fixmystreet).on('report_new:category_change', function() {
+ var $this = $('#form_category');
var category = $this.val();
var prefill_reports = $this.data('prefill');
var display_names = fixmystreet.reporting_data.display_names || {};
diff --git a/web/js/duplicates.js b/web/js/duplicates.js
index b8bb35246..188459565 100644
--- a/web/js/duplicates.js
+++ b/web/js/duplicates.js
@@ -8,7 +8,11 @@
// but undefined on new report page.
var report_id = $("#report_inspect_form .js-report-id").text() || undefined;
- function refresh_duplicate_list() {
+ function refresh_duplicate_list(evt, params) {
+ if (params && params.skip_duplicates) {
+ return;
+ }
+
var category = $('select[name="category"]').val();
if (category === '-- Pick a category --') {
return;
@@ -129,6 +133,14 @@
fixmystreet.markers.removeFeatures( current_duplicate_markers );
fixmystreet.markers.addFeatures( markers );
current_duplicate_markers = markers;
+
+ // Hide any asset layer that might be visible and get confused with the duplicates
+ var layers = fixmystreet.map.getLayersBy('assets', true);
+ for (var i = 0; i<layers.length; i++) {
+ if (!layers[i].fixmystreet.always_visible && layers[i].getVisibility()) {
+ layers[i].setVisibility(false);
+ }
+ }
}
function remove_duplicate_list() {
@@ -147,6 +159,10 @@
return;
}
fixmystreet.markers.removeFeatures( current_duplicate_markers );
+
+ // In order to reinstate a hidden assets layer, let's pretend we've
+ // just picked the category anew, but skip ourselves
+ $(fixmystreet).trigger('report_new:category_change', { skip_duplicates: true });
}
function inspect_form_state_change() {