From b7b705ba19cff74ac437f2cfdc0b11c6bf195321 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Fri, 12 Sep 2025 18:01:25 +0200 Subject: [PATCH] Fix: When expanding filters, submitting filters should keep the filters expanded --- .../controllers/toggle_enable_controller.js | 11 +++++++++++ app/views/filters/_settings.html.erb | 2 +- app/views/filters/settings/_assignees.html.erb | 8 ++------ app/views/filters/settings/_closers.html.erb | 4 +--- app/views/filters/settings/_creators.html.erb | 4 +--- app/views/filters/settings/_indexed_by.html.erb | 4 +--- app/views/filters/settings/_sorted_by.html.erb | 4 +--- app/views/filters/settings/_tags.html.erb | 4 +--- app/views/filters/settings/_toggle.html.erb | 4 ++-- 9 files changed, 21 insertions(+), 24 deletions(-) create mode 100644 app/javascript/controllers/toggle_enable_controller.js diff --git a/app/javascript/controllers/toggle_enable_controller.js b/app/javascript/controllers/toggle_enable_controller.js new file mode 100644 index 000000000..b65ea57d4 --- /dev/null +++ b/app/javascript/controllers/toggle_enable_controller.js @@ -0,0 +1,11 @@ +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + static targets = [ "element" ] + + toggle() { + this.elementTargets.forEach((element) => { + element.toggleAttribute("disabled") + }) + } +} diff --git a/app/views/filters/_settings.html.erb b/app/views/filters/_settings.html.erb index 4d7319745..6b2278817 100644 --- a/app/views/filters/_settings.html.erb +++ b/app/views/filters/_settings.html.erb @@ -2,7 +2,7 @@ <%= tag.aside id: "filter-settings", class: class_names("filters flex align-center gap-half justify-center center margin-block-end", { "filters--expanded": user_filtering.expanded? }), data: { controller: "toggle-class", toggle_class_toggle_class: "filters--expanded" } do %> -
+
<%= render "filters/settings/terms", user_filtering: user_filtering %> <%= render "filters/settings/controls", user_filtering: user_filtering %> diff --git a/app/views/filters/settings/_assignees.html.erb b/app/views/filters/settings/_assignees.html.erb index bc104e281..b7d970a19 100644 --- a/app/views/filters/settings/_assignees.html.erb +++ b/app/views/filters/settings/_assignees.html.erb @@ -32,9 +32,7 @@ <%= hidden_field_tag :assignment_status, "unassigned" %> <% end %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> No one @@ -61,9 +59,7 @@ <%= hidden_field_tag "assignee_ids[]", user.id %> <% end %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= user.name %> diff --git a/app/views/filters/settings/_closers.html.erb b/app/views/filters/settings/_closers.html.erb index 3b07775cf..d52ce7e24 100644 --- a/app/views/filters/settings/_closers.html.erb +++ b/app/views/filters/settings/_closers.html.erb @@ -38,9 +38,7 @@ <%= hidden_field_tag "closer_ids[]", user.id %> <% end %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= user.name %> diff --git a/app/views/filters/settings/_creators.html.erb b/app/views/filters/settings/_creators.html.erb index a04c5b449..7e7b0867e 100644 --- a/app/views/filters/settings/_creators.html.erb +++ b/app/views/filters/settings/_creators.html.erb @@ -38,9 +38,7 @@ <%= hidden_field_tag "creator_ids[]", user.id %> <% end %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= user.name %> diff --git a/app/views/filters/settings/_indexed_by.html.erb b/app/views/filters/settings/_indexed_by.html.erb index 5790ab0c9..1bb2ea81d 100644 --- a/app/views/filters/settings/_indexed_by.html.erb +++ b/app/views/filters/settings/_indexed_by.html.erb @@ -21,9 +21,7 @@ <%= hidden_field_tag :indexed_by, index %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= index.humanize %> diff --git a/app/views/filters/settings/_sorted_by.html.erb b/app/views/filters/settings/_sorted_by.html.erb index 6d4e8d6cc..d344028ae 100644 --- a/app/views/filters/settings/_sorted_by.html.erb +++ b/app/views/filters/settings/_sorted_by.html.erb @@ -21,9 +21,7 @@ <%= hidden_field_tag :sorted_by, sort %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= sorted_by_label(sort) %> diff --git a/app/views/filters/settings/_tags.html.erb b/app/views/filters/settings/_tags.html.erb index 5fd20af0d..5953cab57 100644 --- a/app/views/filters/settings/_tags.html.erb +++ b/app/views/filters/settings/_tags.html.erb @@ -38,9 +38,7 @@ <%= hidden_field_tag "tag_ids[]", tag.id %> <% end %> - <% if user_filtering.expanded? %> - <%= hidden_field_tag :expand_all, user_filtering.expanded? %> - <% end %> + <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= form.button type: "submit", class: "popup__item btn" do %> <%= tag.hashtag %> diff --git a/app/views/filters/settings/_toggle.html.erb b/app/views/filters/settings/_toggle.html.erb index 94fe339fc..a731373fa 100644 --- a/app/views/filters/settings/_toggle.html.erb +++ b/app/views/filters/settings/_toggle.html.erb @@ -1,11 +1,11 @@ <% filter = user_filtering.filter %> <% if user_filtering.expanded? %> - <% else %> - <% end %>