diff options
-rw-r--r-- | web/cobrands/fixmystreet/fixmystreet.js | 2 | ||||
-rw-r--r-- | web/js/duplicates.js | 24 |
2 files changed, 23 insertions, 3 deletions
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js index 100208c09..fb5ae5c84 100644 --- a/web/cobrands/fixmystreet/fixmystreet.js +++ b/web/cobrands/fixmystreet/fixmystreet.js @@ -482,7 +482,7 @@ $.extend(fixmystreet.set_up, { } }); - $(fixmystreet).trigger('report_new:category_change'); + $(fixmystreet).trigger('report_new:category_change', { check_duplicates_dismissal: true }); }); }, diff --git a/web/js/duplicates.js b/web/js/duplicates.js index da0f7d176..a8aceb9e3 100644 --- a/web/js/duplicates.js +++ b/web/js/duplicates.js @@ -4,6 +4,11 @@ // quickly remove them when we’re finished showing duplicates. var current_duplicate_markers; + // keep track of whether the suggestion UI has already been dismissed + // for this category + var dismissed = false; + var dismissed_category = null; + // Report ID will be available on report inspect page, // but undefined on new report page. var report_id = $("#report_inspect_form .js-report-id").text() || undefined; @@ -35,6 +40,17 @@ url_params.pin_size = 'normal'; } + if (category && params && params.check_duplicates_dismissal ) { + dismissed = category === dismissed_category; + dismissed_category = category; + + if (!take_effect()) { + remove_duplicate_pins(); + remove_duplicate_list(); + return; + } + } + $.ajax({ url: nearby_url, data: url_params, @@ -190,6 +206,10 @@ if ($('.js-responsibility-message:visible').length) { return false; } + // On mobile only show once per category + if ($('html').hasClass('mobile') && dismissed) { + return false; + } return true; } @@ -205,14 +225,14 @@ $('.js-hide-duplicate-suggestions').on('click', function(e){ e.preventDefault(); - remove_duplicate_pins(); - remove_duplicate_list(); + fixmystreet.duplicates.hide(); }); fixmystreet.duplicates = { hide: function() { remove_duplicate_pins(); remove_duplicate_list(); + dismissed = true; } }; })(); |