diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | web/js/duplicates.js | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 170d4de5b..b196a0804 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Fix front-end testing script when run with Vagrant. #2514 - Handle missing category when sending open311 reports #2502 - Fix label associations with category groups. #2541 + - 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/js/duplicates.js b/web/js/duplicates.js index 3ed7e6079..023808a14 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; @@ -128,6 +132,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() { @@ -145,6 +157,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() { |