diff --git a/app/assets/stylesheets/filters.css b/app/assets/stylesheets/filters.css index c16447eaa..298c2744b 100644 --- a/app/assets/stylesheets/filters.css +++ b/app/assets/stylesheets/filters.css @@ -117,5 +117,17 @@ display: none; } } + + .filters:not(.filters--expanded) { + .quick-filter:not([data-filter-show=true]) { + display: none; + } + } + + .filters.filters--expanded { + .quick-filter { + display: block; + } + } } diff --git a/app/controllers/my/filter_expansions_controller.rb b/app/controllers/my/filter_expansions_controller.rb deleted file mode 100644 index 785c49613..000000000 --- a/app/controllers/my/filter_expansions_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -class My::FilterExpansionsController < ApplicationController - include FilterScoped - - def create - render turbo_stream: turbo_stream.replace("filter-settings", partial: "filters/settings", locals: { user_filtering: @user_filtering }) - end -end diff --git a/app/models/user/filtering.rb b/app/models/user/filtering.rb index 1781e356d..f8186ed0e 100644 --- a/app/models/user/filtering.rb +++ b/app/models/user/filtering.rb @@ -47,28 +47,28 @@ class User::Filtering end def show_indexed_by? - expanded? || !filter.indexed_by.all? + !filter.indexed_by.all? end def show_sorted_by? - expanded? || !filter.sorted_by.latest? + !filter.sorted_by.latest? end def show_tags? return unless Tag.any? - expanded? || filter.tags.any? + filter.tags.any? end def show_assignees? - expanded? || filter.assignees.any? + filter.assignees.any? end def show_creators? - expanded? || filter.creators.any? + filter.creators.any? end def show_closers? - expanded? || filter.closers.any? + filter.closers.any? end def enable_collection_filtering(&block) diff --git a/app/views/filters/_settings.html.erb b/app/views/filters/_settings.html.erb index 66cdc049b..4d7319745 100644 --- a/app/views/filters/_settings.html.erb +++ b/app/views/filters/_settings.html.erb @@ -1,5 +1,7 @@ <% cache user_filtering do %> - + <% end %> <% end %> diff --git a/app/views/filters/settings/_assignees.html.erb b/app/views/filters/settings/_assignees.html.erb index 03b70336a..bc104e281 100644 --- a/app/views/filters/settings/_assignees.html.erb +++ b/app/views/filters/settings/_assignees.html.erb @@ -1,6 +1,6 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_assignees? %> -
+<%= tag.div class: "quick-filter position-relative", + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_assignees? } do %>
<% end %> diff --git a/app/views/filters/settings/_closers.html.erb b/app/views/filters/settings/_closers.html.erb index fb8d723b2..3b07775cf 100644 --- a/app/views/filters/settings/_closers.html.erb +++ b/app/views/filters/settings/_closers.html.erb @@ -1,8 +1,7 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_closers? %> -
+<%= tag.div class: "quick-filter position-relative", + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_closers? } do %>
<% end %> diff --git a/app/views/filters/settings/_controls.html.erb b/app/views/filters/settings/_controls.html.erb index 25d6479c1..755ad1e18 100644 --- a/app/views/filters/settings/_controls.html.erb +++ b/app/views/filters/settings/_controls.html.erb @@ -4,5 +4,3 @@ <%= render "filters/settings/assignees", user_filtering: user_filtering %> <%= render "filters/settings/creators", user_filtering: user_filtering %> <%= render "filters/settings/closers", user_filtering: user_filtering %> -<%= render "filters/settings/time_window", user_filtering: user_filtering, name: :creation, label: "Created" %> -<%= render "filters/settings/time_window", user_filtering: user_filtering, name: :closure, label: "Closed" %> diff --git a/app/views/filters/settings/_creators.html.erb b/app/views/filters/settings/_creators.html.erb index 6546ffdf1..a04c5b449 100644 --- a/app/views/filters/settings/_creators.html.erb +++ b/app/views/filters/settings/_creators.html.erb @@ -1,8 +1,7 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_creators? %> -
+<%= tag.div class: "quick-filter position-relative", + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_creators? } do %>
<% end %> diff --git a/app/views/filters/settings/_indexed_by.html.erb b/app/views/filters/settings/_indexed_by.html.erb index 085e85fca..5790ab0c9 100644 --- a/app/views/filters/settings/_indexed_by.html.erb +++ b/app/views/filters/settings/_indexed_by.html.erb @@ -1,7 +1,7 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_indexed_by? %> -
" data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside"> +<%= tag.div class: class_names("quick-filter position-relative", "default-value": filter.indexed_by.all?), + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_indexed_by? } do %>
<% end %> diff --git a/app/views/filters/settings/_sorted_by.html.erb b/app/views/filters/settings/_sorted_by.html.erb index ccd7ef853..6d4e8d6cc 100644 --- a/app/views/filters/settings/_sorted_by.html.erb +++ b/app/views/filters/settings/_sorted_by.html.erb @@ -1,7 +1,7 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_sorted_by? %> -
" data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside"> +<%= tag.div class: class_names("quick-filter position-relative", "default-value": filter.sorted_by.latest?), + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_sorted_by? } do %>
<% end %> \ No newline at end of file diff --git a/app/views/filters/settings/_tags.html.erb b/app/views/filters/settings/_tags.html.erb index d5e5c0a54..5fd20af0d 100644 --- a/app/views/filters/settings/_tags.html.erb +++ b/app/views/filters/settings/_tags.html.erb @@ -1,7 +1,7 @@ <% filter = user_filtering.filter %> -<% if user_filtering.show_tags? %> -
+<%= tag.div class: "quick-filter position-relative", + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_tags? } do %>
<% end %> diff --git a/app/views/filters/settings/_time_window.html.erb b/app/views/filters/settings/_time_window.html.erb index 20590bd40..89f382a68 100644 --- a/app/views/filters/settings/_time_window.html.erb +++ b/app/views/filters/settings/_time_window.html.erb @@ -1,6 +1,6 @@ <% filter = user_filtering.filter %> -<% if filter.public_send("#{name}_window").present? %> -
+<%= tag.div class: "quick-filter position-relative", + data: { controller: "dialog", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: filter.public_send("#{name}_window").present? } do %>
<% end %> diff --git a/app/views/filters/settings/_toggle.html.erb b/app/views/filters/settings/_toggle.html.erb index fb1063c57..94fe339fc 100644 --- a/app/views/filters/settings/_toggle.html.erb +++ b/app/views/filters/settings/_toggle.html.erb @@ -1,13 +1,11 @@ <% filter = user_filtering.filter %> <% if user_filtering.expanded? %> - <%= link_to my_filter_expansion_path(**filter.as_params, expand_all: false), class: "btn txt-x-small btn--reversed", aria: { selected: true }, data: { turbo_method: "post" } do %> + <% else %> - <%= link_to my_filter_expansion_path(**filter.as_params, expand_all: true), class: "btn txt-x-small", data: { turbo_method: "post" } do %> + <% end %> diff --git a/config/routes.rb b/config/routes.rb index 7955c5137..505bcf240 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -125,7 +125,6 @@ Rails.application.routes.draw do resources :pins resource :timezone resource :menu - resource :filter_expansion, only: %i[ create destroy ] end namespace :prompts do