Module: Trestle::SortHelper

Defined in:
app/helpers/trestle/sort_helper.rb

Defined Under Namespace

Classes: SortLink

Instance Method Summary collapse

Instance Method Details

Renders a sort link for a table column header.

The ‘sort` and `order` params are used to determine whether the sort link is active, and which is the current sort direction (asc or desc). CSS classes are applied accordingly which are used to render the appropriate icons alongside the link.

The current set of ‘persistent_params` is merged with the new `sort`/`order` params to build the target link URL.

text - Text or HTML content to render as the link label field - The name of the current field, which should match the ‘sort` param

when the collection is being sorted by this field

options - Hash of options (default: {}):

:default - (Boolean) Set to true if the field is considered to be active
           even when the `sort` param is blank (default: false)
:default_order - (String/Symbol) Specify the default collection order when
                 the `order` param is blank (default: "asc")

Examples

<%= sort_link "Title", :title, default: true %>

<%= sort_link "Created", :created_at, default_order: "desc" %>

Returns a HTML-safe String.



28
29
30
31
# File 'app/helpers/trestle/sort_helper.rb', line 28

def sort_link(text, field, **options)
  sort_link = SortLink.new(field, persistent_params, **options)
  link_to text, sort_link.params, class: sort_link.classes
end