diff options
Diffstat (limited to 'web/js/duplicates.js')
-rw-r--r-- | web/js/duplicates.js | 24 |
1 files changed, 22 insertions, 2 deletions
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; } }; })(); |