diff options
author | Dave Arter <davea@mysociety.org> | 2016-11-15 15:14:25 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2016-12-13 15:01:31 +0000 |
commit | 5d5d196ef1fdec2bb5c2d444da0126ecb5adeb78 (patch) | |
tree | 00e6e7f7741bd0e76da131babecae4ea5ea1df3d /web | |
parent | 93180a49cb9f56cd92c97ea1e22cf5cc9dd7194a (diff) |
Display nearby duplicate reports when setting report category to ‘duplicate’
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/fixmystreet/fixmystreet.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js index 1701c5cd0..a7e6f28f0 100644 --- a/web/cobrands/fixmystreet/fixmystreet.js +++ b/web/cobrands/fixmystreet/fixmystreet.js @@ -391,6 +391,40 @@ $.extend(fixmystreet.set_up, { }, + state_change: function() { + // Deal with changes to report state by inspector/other staff, specifically + // displaying nearby reports if it's changed to 'duplicate'. + $("#report_inspect_form").on("change.state", "select#state", function() { + var state = $(this).val(); + + if (state !== "duplicate") { + $("#js-duplicate-reports").addClass("hidden"); + $("#js-duplicate-reports ul").empty(); + return; + } + + var args = { + state: state, + filter_category: $("#report_inspect_form select#category").val() + }; + var bounds = fixmystreet.map.getExtent(); + bounds.transform(bounds.transform(fixmystreet.map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"))); + args.bbox = bounds.toBBOX(); + + args.latitude = $('input[name="latitude"]').val(); + args.longitude = $('input[name="longitude"]').val(); + + console.log(args); + + $.getJSON('/ajax', args, function(data) { + var $reports = $(data.current); + $("#js-duplicate-reports").removeClass("hidden"); + $reports.slice(0, 5).appendTo($("#js-duplicate-reports ul").empty()); + }); + }); + }, + + contribute_as: function() { $('.content').on('change', '.js-contribute-as', function(){ var opt = this.options[this.selectedIndex], |