From 5ccb69a8d4148e959cfb8f00d4de6779fbfb076d Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Thu, 3 Jul 2025 14:38:28 +0200 Subject: [PATCH] Add filter pill for completed by This is pending to de-duplicate and tidy up, will do separately --- app/helpers/filters_helper.rb | 2 +- app/views/filters/_closers.html.erb | 62 ++++++++++++++++++++++++++++ app/views/filters/_settings.html.erb | 3 +- 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 app/views/filters/_closers.html.erb diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 5d512218d..08fb73b16 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -40,7 +40,7 @@ module FiltersHelper end def any_filters?(filter) - filter.tags.any? || filter.assignees.any? || filter.creators.any? || + filter.tags.any? || filter.assignees.any? || filter.creators.any? || filter.closers.any? || filter.stages.any? || filter.terms.any? || filter.card_ids&.any? || filter.assignment_status.unassigned? || !filter.indexed_by.latest? end diff --git a/app/views/filters/_closers.html.erb b/app/views/filters/_closers.html.erb new file mode 100644 index 000000000..a1d701d82 --- /dev/null +++ b/app/views/filters/_closers.html.erb @@ -0,0 +1,62 @@ +<% if filter.closers.any? || @expand_all %> +
+ + + <%= tag.dialog class: "margin-block-start-half popup panel flex-column align-start gap-half fill-white shadow txt-small", data: { + action: "turbo:before-cache@document->dialog#close keydown->navigable-list#navigate filter:changed->navigable-list#reset toggle->filter#filter", + aria: { label: "Closed by…", aria_description: "Closed by…" }, + controller: "filter navigable-list", + dialog_target: "dialog", + navigable_list_focus_on_selection_value: false, + navigable_list_actionable_items_value: true } do %> + Closed by… + + <% if User.active.many? %> + <%= text_field_tag :search, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true, + type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %> + <% end %> + + + <% end %> +
+<% end %> diff --git a/app/views/filters/_settings.html.erb b/app/views/filters/_settings.html.erb index 4cfef6ec3..d3170bd7d 100644 --- a/app/views/filters/_settings.html.erb +++ b/app/views/filters/_settings.html.erb @@ -18,6 +18,7 @@ <%= render "filters/tags", filter: filter %> <%= render "filters/assignees", filter: filter %> <%= render "filters/creators", filter: filter %> + <%= render "filters/closers", filter: filter %> <%= render "filters/time_window", filter: filter, name: :creation, label: "Created" %> <%= render "filters/time_window", filter: filter, name: :closure, label: "Closed" %> <%# FIXME LATER: this needs to be able to allow selection of unique stages across all active workflows %> @@ -43,7 +44,7 @@ <% end %> <% end %> - <%= link_to cards_path(filter.as_params.except(:assignee_ids, :assignment_status, :card_ids, :creator_ids, :stage_ids, :tag_ids, :terms, :indexed_by, :creation, :closure)), class: "btn btn--remove txt-x-small" do %> + <%= link_to cards_path(filter.as_params.except(:assignee_ids, :assignment_status, :card_ids, :creator_ids, :closer_ids, :stage_ids, :tag_ids, :terms, :indexed_by, :creation, :closure)), class: "btn btn--remove txt-x-small" do %> <%= icon_tag "close" %> Clear all <% end %>