Module: Madmin::SortHelper

Included in:
ResourceController
Defined in:
app/helpers/madmin/sort_helper.rb

Instance Method Summary collapse

Instance Method Details

#default_sort_columnObject



24
25
26
# File 'app/helpers/madmin/sort_helper.rb', line 24

def default_sort_column
  resource.try(:default_sort_column) || (["created_at", "id", "uuid"] & resource.model.column_names).first
end

#default_sort_directionObject



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

def default_sort_direction
  resource.try(:default_sort_direction) || "desc"
end

#sort_columnObject



16
17
18
# File 'app/helpers/madmin/sort_helper.rb', line 16

def sort_column
  resource.sortable_columns.include?(params[:sort]) ? params[:sort] : default_sort_column
end

#sort_directionObject



20
21
22
# File 'app/helpers/madmin/sort_helper.rb', line 20

def sort_direction
  ["asc", "desc"].include?(params[:direction]) ? params[:direction] : default_sort_direction
end

#sortable(column, title, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'app/helpers/madmin/sort_helper.rb', line 3

def sortable(column, title, options = {})
  matching_column = (column.to_s == sort_column)
  direction = (sort_direction == "asc") ? "desc" : "asc"

  link_to resource.index_path(sort: column, direction: direction), options do
    concat title
    if matching_column
      concat " "
      concat tag.i((sort_direction == "asc") ? "" : "")
    end
  end
end