class ActiveAdmin::Views::IndexList

Renders a collection of index views available to the resource as a list with a separator

Public Instance Methods

build(index_classes) click to toggle source

Builds the links for presenting different index views to the user

@param [Array] index_classes The class constants that represent index page presenters

# File lib/active_admin/views/components/index_list.rb, line 24
def build(index_classes)
  unless current_filter_search_empty?
    index_classes.each do |index_class|
      build_index_list(index_class)
    end
  end
end
default_class_name() click to toggle source
# File lib/active_admin/views/components/index_list.rb, line 13
def default_class_name
  "indexes table_tools_segmented_control"
end
tag_name() click to toggle source
# File lib/active_admin/views/components/index_list.rb, line 17
def tag_name
  'ul'
end

Protected Instance Methods

build_index_list(index_class) click to toggle source

Builds the individual link and HTML classes for each index page presenter

@param [Class] index_class The class on which to build the link and html classes

# File lib/active_admin/views/components/index_list.rb, line 37
def build_index_list(index_class)
  li :class => classes_for_index(index_class) do
    a :href => url_for(params.merge(:as => index_class.index_name.to_sym)), :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) click to toggle source
# File lib/active_admin/views/components/index_list.rb, line 46
def classes_for_index(index_class)
  classes = ["index"]
  classes << "selected" if current_index?(index_class)
  classes.join(" ")
end
current_filter_search_empty?() click to toggle source
# File lib/active_admin/views/components/index_list.rb, line 60
def current_filter_search_empty?
  params.include?(:q) && collection_is_empty?
end
current_index?(index_class) click to toggle source
# File lib/active_admin/views/components/index_list.rb, line 52
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