<% # a hash mapping Category => [array, of, conditions], sorted by category categorized_conditions = @conditions .group_by {|c| c.meta[:category].presence} .sort_by do |(category, _conditions)| if @refine_filter.has_category_ordering? @refine_filter.category_order.index(category) || Float::INFINITY else category.to_s.downcase end end .to_h recommended_conditions = @conditions .select { |c| c.meta[:recommended] } .sort_by {|recommended| recommended.to_s.downcase } # an array of uncategorized conditions uncategorized_conditions = categorized_conditions.delete(nil) dialog_class = "sl-dialog refine--inline-modal-container" %> <%= turbo_frame_tag @criterion do %> " no-header data-controller="refine--typeahead-list refine--inline-advanced-modal" >

<%= t(".title") %>

<%= t(".filter_attributes_tab_name") %> <%= t(".filter_saved_filters_tab_name") %>
<% if categorized_conditions&.any? %>
<% categorized_conditions.each do |category, conditions| %>
<%= category %>
<% end %>
<% end %>
"> <% if uncategorized_conditions&.any? %>
<% uncategorized_conditions.each do |condition| %> <%= render partial: "condition_list_item_card", locals: {condition: condition } %> <% end %>
<% end %> <% if recommended_conditions.any? %> <%= t('.recommended') %>
<% recommended_conditions.each do |condition| %> <%= render partial: "condition_list_item_card", locals: {condition: condition } %> <% end %>
<% end %> <% categorized_conditions.each do |(category, conditions)| %> <%= category %>
<% conditions.each do |condition| %> <%= render partial: "condition_list_item_card", locals: {condition: condition, category: category } %> <% end %>
<% end %>
<%= turbo_frame_tag dom_id(@criterion, :load), src: refine_advanced_inline_stored_filters_path(@criterion.to_params), loading: :lazy do %>
<%= sl_component(:spinner, class: "sl-spinner--medium") %>
<% end %>
<% end %>