Class: Plutonium::UI::Table::Components::FilterPills

Inherits:
Component::Base show all
Defined in:
lib/plutonium/ui/table/components/filter_pills.rb

Instance Method Summary collapse

Methods included from Component::Behaviour

#around_template

Methods included from Component::Tokens

#classes, #tokens

Methods included from Component::Kit

#BuildActionButton, #BuildActionsDropdown, #BuildBlock, #BuildBreadcrumbs, #BuildBulkActionsToolbar, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildModalCentered, #BuildModalSlideover, #BuildPageHeader, #BuildPanel, #BuildRowActionsDropdown, #BuildSkeletonTable, #BuildTabList, #BuildTableFilterPills, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableScopesPills, #BuildTableSearchBar, #BuildTableToolbar, #BuildTableViewSwitcher, #method_missing, #respond_to_missing?

Constructor Details

#initialize(query:, total_count: nil) ⇒ FilterPills

Returns a new instance of FilterPills.



8
9
10
11
# File 'lib/plutonium/ui/table/components/filter_pills.rb', line 8

def initialize(query:, total_count: nil)
  @query = query
  @total_count = total_count
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit

Instance Method Details

#view_templateObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/plutonium/ui/table/components/filter_pills.rb', line 13

def view_template
  return if @query.active_filter_descriptions.empty? && @total_count.to_i.zero?

  div(
    class: "flex items-center gap-1.5 px-4 py-2 border-b border-[var(--pu-border)] flex-wrap",
    data: {bulk_actions_target: "filterPills"}
  ) do
    @query.active_filter_descriptions.each { |f| render_pill(f) }
    if @query.active_filter_descriptions.any?
      render_add_filter_pill
      render_clear_all_pill
    end
    render_result_count if @total_count
  end
end