Class: Plutonium::UI::Table::Components::Toolbar
- Inherits:
-
Component::Base
- Object
- Component::Base
- Plutonium::UI::Table::Components::Toolbar
- Defined in:
- lib/plutonium/ui/table/components/toolbar.rb
Overview
Modern index toolbar combining view switcher, filter/group controls, inline search, and column config / overflow icon buttons into a single tight strip rendered above the table when shell == :modern.
Instance Method Summary collapse
-
#initialize(query:, search_url:, search_param: :q, search_value: nil, views: [:table], current_view: :table, view_cookie_name: nil, view_cookie_path: "/", export: nil) ⇒ Toolbar
constructor
A new instance of Toolbar.
- #render? ⇒ Boolean
-
#render_export_button ⇒ Object
Export split button, rendered just after the Filter button.
- #view_template ⇒ Object
Methods included from Component::Behaviour
Methods included from Component::Tokens
Methods included from Component::Kit
#BuildActionButton, #BuildActionsDropdown, #BuildAvatar, #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:, search_url:, search_param: :q, search_value: nil, views: [:table], current_view: :table, view_cookie_name: nil, view_cookie_path: "/", export: nil) ⇒ Toolbar
Returns a new instance of Toolbar.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/plutonium/ui/table/components/toolbar.rb', line 11 def initialize(query:, search_url:, search_param: :q, search_value: nil, views: [:table], current_view: :table, view_cookie_name: nil, view_cookie_path: "/", export: nil) @query = query @search_url = search_url @search_param = search_param @search_value = search_value @views = views @current_view = current_view @view_cookie_name = @view_cookie_path = @export = export end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit
Instance Method Details
#render? ⇒ Boolean
23 24 25 |
# File 'lib/plutonium/ui/table/components/toolbar.rb', line 23 def render? @views.size > 1 || has_filters? || has_search? || @export.present? end |
#render_export_button ⇒ Object
Export split button, rendered just after the Filter button.
40 41 42 |
# File 'lib/plutonium/ui/table/components/toolbar.rb', line 40 def render Plutonium::UI::ExportButton.new(**@export) end |
#view_template ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/plutonium/ui/table/components/toolbar.rb', line 27 def view_template div(class: "flex items-center gap-2 px-4 py-2 border-b border-[var(--pu-border)] bg-[var(--pu-surface-alt)]") do switcher = ViewSwitcher.new(views: @views, current: @current_view, cookie_name: @view_cookie_name, cookie_path: @view_cookie_path) render switcher render_divider if switcher.render? if @export div(class: "flex-1") render_search if has_search? end end |