Class: ActiveAdmin::Views::IndexList
Overview
Renders a collection of index views available to the resource as a list with a separator
Instance Method Summary
collapse
#collection_is_empty?, #collection_size
Instance Method Details
#build(index_classes) ⇒ Object
Builds the links for presenting different index views to the user
25
26
27
28
29
30
31
|
# File 'lib/active_admin/views/components/index_list.rb', line 25
def build(index_classes)
unless current_filter_search_empty?
index_classes.each do |index_class|
build_index_list(index_class)
end
end
end
|
#build_index_list(index_class) ⇒ Object
Builds the individual link and HTML classes for each index page presenter
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/active_admin/views/components/index_list.rb', line 38
def build_index_list(index_class)
li class: classes_for_index(index_class) do
params = request.query_parameters.except :page, :commit, :format
url_with_params = url_for(**params.merge(as: index_class.index_name.to_sym).symbolize_keys)
a href: url_with_params, class: "table_tools_button" do
name = index_class.index_name
I18n.t("active_admin.index_list.#{name}", default: name.to_s.titleize)
end
end
end
|
#classes_for_index(index_class) ⇒ Object
50
51
52
53
54
|
# File 'lib/active_admin/views/components/index_list.rb', line 50
def classes_for_index(index_class)
classes = ["index"]
classes << "selected" if current_index?(index_class)
classes.join(" ")
end
|
#current_filter_search_empty? ⇒ Boolean
64
65
66
|
# File 'lib/active_admin/views/components/index_list.rb', line 64
def current_filter_search_empty?
params.include?(:q) && collection_is_empty?
end
|
#current_index?(index_class) ⇒ Boolean
56
57
58
59
60
61
62
|
# File 'lib/active_admin/views/components/index_list.rb', line 56
def current_index?(index_class)
if params[:as]
params[:as] == index_class.index_name
else
active_admin_config.default_index_class == index_class
end
end
|
#default_class_name ⇒ Object
14
15
16
|
# File 'lib/active_admin/views/components/index_list.rb', line 14
def default_class_name
"indexes table_tools_segmented_control"
end
|
#tag_name ⇒ Object
18
19
20
|
# File 'lib/active_admin/views/components/index_list.rb', line 18
def tag_name
"ul"
end
|