diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 34e768603..0782f2dbd 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -46,9 +46,35 @@ module FiltersHelper { "2023": "2023/24", "2022": "2022/23", "2021": "2021/22" } end + def filters_applied_text(filter_type) + applied_filters = JSON.parse(session[session_name_for(filter_type)]) + applied_filters_count = filters_count(applied_filters) + applied_filters_count.zero? ? "No filters applied" : "#{pluralize(applied_filters_count, 'filter')} applied" + end + + def reset_filters_link(filter_type) + applied_filters = JSON.parse(session[session_name_for(filter_type)]) + applied_filters_count = filters_count(applied_filters) + if applied_filters_count.positive? + #clear filters + + govuk_link_to "Reset filters", request.path + end + end + private def session_name_for(filter_type) "#{filter_type}_filters" end + + def filters_count(filters) + filters.values.sum do |category| + if category.is_a?(String) + category != "all" ? 1 : 0 + else + category.count(&:present?) + end + end + end end diff --git a/app/views/logs/_log_filters.html.erb b/app/views/logs/_log_filters.html.erb index d8235d350..881de359d 100644 --- a/app/views/logs/_log_filters.html.erb +++ b/app/views/logs/_log_filters.html.erb @@ -8,6 +8,14 @@ <%= form_with html: { method: :get } do |f| %> <% all_or_yours = { "all": { label: "All" }, "yours": { label: "Yours" } } %> +

+ <%= filters_applied_text(@filter_type) %> +

+ +

+ <%= reset_filters_link(@filter_type) %> +

+ <% if bulk_upload_options(@bulk_upload).present? %> <%= render partial: "filters/checkbox_filter", locals: {