Toggle filters in the hey menu too
This also fixes a problem where the label in the menu for the filters was wrong
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
class FiltersController < ApplicationController
|
||||
def create
|
||||
filter = Current.user.filters.remember filter_params
|
||||
before_action :set_filters
|
||||
|
||||
render turbo_stream: turbo_stream.replace("filter-toggle", partial: "filters/filter_toggle", locals: { filter: filter })
|
||||
def create
|
||||
@filter = Current.user.filters.remember filter_params
|
||||
end
|
||||
|
||||
def destroy
|
||||
filter = Current.user.filters.find(params[:id])
|
||||
filter.destroy!
|
||||
|
||||
render turbo_stream: turbo_stream.replace("filter-toggle", partial: "filters/filter_toggle", locals: { filter: filter })
|
||||
@filter = Current.user.filters.find(params[:id])
|
||||
@filter.destroy!
|
||||
end
|
||||
|
||||
private
|
||||
def set_filters
|
||||
@filters = Current.user.filters
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.permit(*Filter::PERMITTED_PARAMS).compact_blank
|
||||
end
|
||||
|
||||
@@ -35,8 +35,8 @@ module FiltersHelper
|
||||
}, &block
|
||||
end
|
||||
|
||||
def collapsible_nav_section(title, &block)
|
||||
tag.details class: "popup__section", data: { action: "toggle->nav-section-expander#toggle", nav_section_expander_target: "section", nav_section_expander_key_value: title.parameterize }, open: true do
|
||||
def collapsible_nav_section(title, **properties, &block)
|
||||
tag.details class: "popup__section", data: { action: "toggle->nav-section-expander#toggle", nav_section_expander_target: "section", nav_section_expander_key_value: title.parameterize }, open: true, **properties do
|
||||
concat(tag.summary(class: "popup__section-title") do
|
||||
concat title
|
||||
concat icon_tag "caret-down"
|
||||
|
||||
@@ -21,4 +21,16 @@ module Filter::Resources
|
||||
def collections
|
||||
creator.collections.where id: super.ids
|
||||
end
|
||||
|
||||
def collection_titles
|
||||
if collections.none?
|
||||
[ Collection.one? ? collections.first.name : "All collections" ]
|
||||
else
|
||||
collections.map(&:name)
|
||||
end
|
||||
end
|
||||
|
||||
def collections_label
|
||||
collection_titles.to_sentence
|
||||
end
|
||||
end
|
||||
|
||||
@@ -15,15 +15,11 @@ class User::Filtering
|
||||
end
|
||||
|
||||
def selected_collection_titles
|
||||
if filter.collections.none?
|
||||
[ collections.one? ? collections.first.name : "All collections" ]
|
||||
else
|
||||
filter.collections.map(&:name)
|
||||
end
|
||||
filter.collection_titles
|
||||
end
|
||||
|
||||
def selected_collections_label
|
||||
selected_collection_titles.to_sentence
|
||||
filter.collections_label
|
||||
end
|
||||
|
||||
def tags
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<%= turbo_stream.replace("filter-toggle", partial: "filters/filter_toggle", locals: { filter: @filter }) %>
|
||||
<%= turbo_stream.replace("my-filters", partial: "filters/menu/custom", locals: { filters: @filters }) %>
|
||||
@@ -0,0 +1,2 @@
|
||||
<%= turbo_stream.replace("filter-toggle", partial: "filters/filter_toggle", locals: { filter: @filter }) %>
|
||||
<%= turbo_stream.replace("my-filters", partial: "filters/menu/custom", locals: { filters: @filters }) %>
|
||||
@@ -1,6 +1,6 @@
|
||||
<%= collapsible_nav_section "Saved filters" do %>
|
||||
<%= collapsible_nav_section "Saved filters", id: "my-filters" do %>
|
||||
<%= form_with url: cards_path, method: :get, data: { controller: "form" } do |form| %>
|
||||
<%= render "filters/menu/custom/create" %>
|
||||
<%= render partial: "filters/menu/custom/filter", collection: user_filtering.filters, as: :filter, locals: { user_filtering: user_filtering } %>
|
||||
<%= render partial: "filters/menu/custom/filter", collection: filters, as: :filter %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<%= icon_tag "bookmark", class: "popup__icon" %>
|
||||
<%= link_to cards_path(filter_id: filter.id), class: "popup__btn btn" do %>
|
||||
<div class="txt-tight-lines min-width txt-small overflow-ellipsis">
|
||||
<div><%= filter_selected_collections_title(user_filtering) %></div>
|
||||
<div><%= filter.collections_label %></div>
|
||||
<div><%= filter.summary %></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
|
||||
<%= render "filters/menu/hotkeys" %>
|
||||
<%= render "filters/menu/custom", user_filtering: @user_filtering %>
|
||||
<%= render "filters/menu/custom", filters: @user_filtering.filters %>
|
||||
<%= render "filters/menu/collections", user_filtering: @user_filtering %>
|
||||
<%= render "filters/menu/tags", user_filtering: @user_filtering %>
|
||||
<%= render "filters/menu/users", user_filtering: @user_filtering %>
|
||||
|
||||
Reference in New Issue
Block a user