aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/cobrands/fixmystreet/fixmystreet.js2
-rw-r--r--web/js/duplicates.js24
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;
}
};
})();