diff options
author | pezholio <pezholio@gmail.com> | 2017-05-24 11:27:52 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-06-20 17:59:29 +0100 |
commit | 27ac8579d461c6d43e10693d2210fcba90b9baac (patch) | |
tree | 3285e166b7a20626b4b72046c6c6d61ed3d320ef /web | |
parent | bdd1e1627a1be6d9253ecc4e6904e68948227914 (diff) |
Return Response Priorities as JSON.
This now lets the response priority and defect type handling share the
same code.
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/fixmystreet/staff.js | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js index ac665b591..370a16618 100644 --- a/web/cobrands/fixmystreet/staff.js +++ b/web/cobrands/fixmystreet/staff.js @@ -196,8 +196,11 @@ $.extend(fixmystreet.set_up, { $('form#report_inspect_form [name=category]').change(function() { var category = $(this).val(), selector = "[data-category='" + category + "']", + $priorities = $('#problem_priority'), $defect_types = $('#defect_type'), - defect_types_data = $("form#report_inspect_form " + selector).data('defect-types') || []; + defect_types_data = $("form#report_inspect_form " + selector).data('defect-types') || [], + priorities_data = $("form#report_inspect_form " + selector).data('priorities') || [], + curr_pri = $priorities.val(); function populateSelect($select, data, label_formatter) { $select.find('option:gt(0)').remove(); @@ -210,20 +213,10 @@ $.extend(fixmystreet.set_up, { $("form#report_inspect_form [data-category]:not(" + selector + ")").addClass("hidden"); $("form#report_inspect_form " + selector).removeClass("hidden"); - // And update the associated priority list - var priorities = $("form#report_inspect_form " + selector).data('priorities'); - var $select = $('#problem_priority'), - curr_pri = $select.val(); - $select.find('option:gt(0)').remove(); - $.each(priorities.split('&'), function(i, kv) { - if (!kv) { - return; - } - kv = kv.split('=', 2); - $select.append($('<option>', { value: kv[0], text: decodeURIComponent(kv[1]) })); - }); - $select.val(curr_pri); + + populateSelect($priorities, priorities_data, 'priorities_type_format'); populateSelect($defect_types, defect_types_data, 'defect_type_format'); + $priorities.val(curr_pri); }); // The inspect form submit button can change depending on the selected state @@ -466,5 +459,8 @@ fixmystreet.utils = fixmystreet.utils || {}; $.extend(fixmystreet.utils, { defect_type_format: function(data) { return data.name; + }, + priorities_type_format: function(data) { + return data.name; } }); |