Class: RubyUI::DataTableSortHead

Inherits:
Base
  • Object
show all
Defined in:
lib/ruby_ui/data_table/data_table_sort_head.rb

Constant Summary

Constants inherited from Base

Base::TAILWIND_MERGER

Instance Attribute Summary

Attributes inherited from Base

#attrs

Instance Method Summary collapse

Constructor Details

#initialize(column_key:, label:, sort: nil, direction: nil, sort_param: "sort", direction_param: "direction", page_param: "page", path: "", query: {}, **attrs) ⇒ DataTableSortHead

Returns a new instance of DataTableSortHead.



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/ruby_ui/data_table/data_table_sort_head.rb', line 7

def initialize(column_key:, label:, sort: nil, direction: nil, sort_param: "sort", direction_param: "direction", page_param: "page", path: "", query: {}, **attrs)
  @column_key = column_key
  @label = label
  @sort = sort
  @direction = direction
  @sort_param = sort_param
  @direction_param = direction_param
  @page_param = page_param
  @path = path
  @query = query.to_h.transform_keys(&:to_s)
  super(**attrs)
end

Instance Method Details

#view_templateObject



20
21
22
23
24
25
26
27
# File 'lib/ruby_ui/data_table/data_table_sort_head.rb', line 20

def view_template
  render RubyUI::TableHead.new(class: "text-foreground whitespace-nowrap", **attrs) do
    a(href: sort_href, class: "inline-flex items-center gap-1 text-inherit no-underline hover:text-foreground transition-colors") do
      plain @label
      sort_icon
    end
  end
end