Skip to content

Commit

Permalink
Change award year switch to submit form
Browse files Browse the repository at this point in the history
  • Loading branch information
TheDancingClown committed Jul 4, 2024
1 parent eb427bb commit c0db165
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 19 deletions.
18 changes: 7 additions & 11 deletions app/assets/javascripts/admin/applications-filter.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -123,28 +123,24 @@ filterApplicationsDropdowns = () ->
.length
$(this).closest(".applications-filter").find("label[data-value='select_all'] input").prop("checked", unselected is 0)

# On clicking the award year radio set search query to entered text
# On clicking the award year radios
$(document).on "click", ".applications-filter .input__award-years input[type='radio']", (e) ->
e.stopPropagation()
# if other selected, show dropdown of years, otherwise get form answers for current year or all years
# if other selected, show dropdown of years, otherwise submit form
if $(this).attr('id') == "other"
dropdownWrapper = $(this).closest(".applications-filter").find(".other-years-dropdown")
dropdownWrapper.removeClass("hide")
dropdown = dropdownWrapper.find(".dropdown-toggle")
dropdown.focus().click()
else
search_query = $(this).closest("#new_search").find("#search_query").val()
url = new URL($(this).data('url'), document.baseURI)
url.searchParams.set('[search][query]', search_query)
window.location = url
$(this).closest('form').submit()

# On clicking the award year from the other year dropdown set search query to entered text
# On clicking the award year from the other year dropdown
$(document).on "click", ".applications-filter .other-years-dropdown .dropdown-menu li", (e) ->
e.stopPropagation()
e.preventDefault()
search_query = $(this).closest("#new_search").find("#search_query").val()
url = new URL($(this).data('url'), document.baseURI)
url.searchParams.set('[search][query]', search_query)
window.location = url
# Set value of other radio button to selected year and submit
$(this).closest(".applications-filter").find(".input__award-years input[type='radio']").prop("checked", true).val($(this).attr("id"))
$(this).closest('form').submit()

$(document).ready(ready)
1 change: 0 additions & 1 deletion app/views/admin/form_answers/index.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ h1.admin-page-heading
= f.label :query, "Search", class: "search-input__label"
= f.hint "By company name, reference number or category", class: "search-input__hint"
.form-group.search-input
= text_field_tag :year, params[:year] || @award_year.year, class: "visuallyhidden", aria: { hidden: true }
= f.input :query, label: false, input_html: { class: "form-control", type: "search", aria: { label: 'Search applications' }}
= submit_tag :submit, class: 'search-submit'

Expand Down
1 change: 0 additions & 1 deletion app/views/assessor/form_answers/index.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ h1.admin-page-heading
= f.label :query, "Search", class: "search-input__label"
= f.hint "By company name, reference number or category", class: "search-input__hint"
.form-group.search-input
= text_field_tag :year, params[:year] || @award_year.year, class: "visuallyhidden", aria: { hidden: true }, id: "award_year", tabindex: "-1"
= text_field_tag :award_type, params[:award_type], class: "visuallyhidden", aria: { hidden: true }, tabindex: "-1"
= f.input :query, label: false, input_html: { class: "form-control", type: "search", aria: {label: 'Search applications'} }
= submit_tag :submit, class: 'search-submit'
Expand Down
22 changes: 16 additions & 6 deletions app/views/shared/form_answers/_admin_award_year.html.slim
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
- current_year = AwardYear.current.year
- selected_year = params[:year] ? params[:year].to_i : current_year
- other_years = AwardYear.admin_switch.keys
- other_years = AwardYear.admin_switch.keys.select{ |year| year <= current_year }

fieldset.award-year-z-index.applications-filter.award-year-radios
label.applications-filter__label
' Award year
.input__award-years
input type="radio" id="current_year" name="year" value="#{current_year}" data-url="#{url_for(params.permit(:controller, :action).merge(year: current_year, search: params[:search]))}" checked=(current_year == params[:year].to_i || (namespace_name == :assessor && !params[:year]))
input type="radio" id="current_year" name="year" value="#{current_year}" checked=(current_year == params[:year].to_i || (namespace_name == :assessor && other_years.exclude?(params[:year].to_i)))
label for="current_year"
| Current year
input type="radio" id="all_years" name="year" value="all_years" data-url="#{url_for(params.permit(:controller, :action).merge(year: :all_years, search: params[:search]))}" checked=(params[:year].to_s == 'all_years' || (namespace_name == :admin && !params[:year]))
input type="radio" id="all_years" name="year" value="all_years" checked=(params[:year].to_s == 'all_years' || (namespace_name == :admin && other_years.exclude?(params[:year].to_i)))
label for="all_years"
| All years
input type="radio" id="other" name="year" value="#{selected_year}" checked=(current_year != selected_year && other_years.include?(params[:year].to_i))
Expand All @@ -24,9 +24,19 @@ fieldset.award-year-z-index.applications-filter.award-year-radios
span.caret-container
span.caret
ul.dropdown-menu.dropdown-menu-right
li class="#{'active' if params[:year].to_s == 'all_years' || !params[:year]}" data-url="#{url_for(params.permit(:controller, :action).merge(year: :all_years, search: params[:search]))}"
li class="#{'active' if params[:year].to_s == 'all_years' || !params[:year]}" id="all_years"
= link_to "All Years", "#"

- AwardYear.admin_switch.each do |year, label|
li class="#{'active' if label == current_year_text}" data-url="#{url_for(params.permit(:controller, :action).merge(year: year, search: params[:search]))}"
= link_to label, "#"
- if year <= current_year
li class="#{'active' if label == current_year_text}" id="#{year}"
= link_to label, "#"

noscript
select name="year" id="award_year" class="form-control"
option value="all_years" selected=(params[:year].to_s == 'all_years' || (namespace_name == :admin && other_years.exclude?(params[:year].to_i)))
| All years
- AwardYear.admin_switch.each do |year, label|
- if year <= current_year
option value="#{year}" selected=(year == selected_year)
= label

0 comments on commit c0db165

Please sign in to comment.