class ActiveScaffold::Config::List

Attributes

always_show_create[W]

always show create

association_join_text[RW]

what string to use to join records from plural associations

auto_pagination[RW]

Auto paginate, only can be used with pagination enabled

  • true: First page will be loaded on first request, next pages will be requested by AJAX until all items are loaded

  • false: Disable auto pagination

auto_select_columns[RW]

Enable auto select columns on list, so only columns needed for list columns are selected

calculate_etag[RW]

Enable ETag calculation (when conditional_get_support is enabled), it requires to load records for page, when is disabled query can be avoided when page is cached in browser order clause will be used for ETag when #calculate_etag is disabled, so query for records can be avoided

count_includes[RW]

overwrite the includes used for the count sql query

empty_field_text[RW]

what string to use when a field is empty

filtered_message[W]
hide_nested_column[W]

if list view is nested hide nested_column

label[W]

the label for this List action. used for the header.

messages_above_header[RW]

display messages above table header

no_entries_message[W]
pagination[RW]

What kind of pagination to use:

  • true: The usual pagination

  • :infinite: Treat the source as having an infinite number of pages (i.e. don't count the records; useful for large tables where counting is slow and we don't really care anyway)

  • false: Disable pagination

per_page[RW]

how many rows to show at once

refresh_with_header[RW]

include list header on refresh

show_search_reset[RW]

show a link to reset the search next to filtered message

wrap_tag[RW]

wrap normal cells (not inplace editable columns or with link) with a tag it allows for more css styling

Public Class Methods

new(core_config) click to toggle source
Calls superclass method ActiveScaffold::Config::Base.new
# File lib/active_scaffold/config/list.rb, line 5
def initialize(core_config)
  super
  # inherit from global scope
  # full configuration path is: defaults => global table => local table
  @per_page = self.class.per_page
  @page_links_inner_window = self.class.page_links_inner_window
  @page_links_outer_window = self.class.page_links_outer_window

  # originates here
  @sorting = ActiveScaffold::DataStructures::Sorting.new(@core.columns)
  @sorting.set_default_sorting(@core.model)

  # inherit from global scope
  @empty_field_text = self.class.empty_field_text
  @association_join_text = self.class.association_join_text
  @pagination = self.class.pagination
  @auto_pagination = self.class.auto_pagination
  @show_search_reset = self.class.show_search_reset
  @reset_link = self.class.reset_link.clone
  @wrap_tag = self.class.wrap_tag
  @always_show_search = self.class.always_show_search
  @always_show_create = self.class.always_show_create
  @messages_above_header = self.class.messages_above_header
  @auto_select_columns = self.class.auto_select_columns
  @refresh_with_header = self.class.refresh_with_header
  @calculate_etag = self.class.calculate_etag
end

Public Instance Methods

always_show_create() click to toggle source
# File lib/active_scaffold/config/list.rb, line 201
def always_show_create
  @always_show_create && @core.actions.include?(:create)
end
auto_search_partial() click to toggle source
# File lib/active_scaffold/config/list.rb, line 194
def auto_search_partial
  return 'search' if @core.actions.include?(:search)
  return 'field_search' if @core.actions.include?(:field_search)
end
filtered_message() click to toggle source
# File lib/active_scaffold/config/list.rb, line 177
def filtered_message
  @filtered_message ? @filtered_message : :filtered
end
hide_nested_column() click to toggle source
# File lib/active_scaffold/config/list.rb, line 207
def hide_nested_column
  @hide_nested_column.nil? ? true : @hide_nested_column
end
label() click to toggle source
# File lib/active_scaffold/config/list.rb, line 167
def label
  @label ? as_(@label, :count => 2) : @core.label(:count => 2)
end
no_entries_message() click to toggle source
# File lib/active_scaffold/config/list.rb, line 172
def no_entries_message
  @no_entries_message ? @no_entries_message : :no_entries
end
search_partial() click to toggle source
# File lib/active_scaffold/config/list.rb, line 186
def search_partial
  if @always_show_search == true
    auto_search_partial
  else
    @always_show_search.to_s if @core.actions.include? @always_show_search
  end
end
sorting() click to toggle source
# File lib/active_scaffold/config/list.rb, line 158
def sorting
  @sorting ||= ActiveScaffold::DataStructures::Sorting.new(@core.columns)
end
sorting=(val) click to toggle source

the default sorting. should be a hash of {column_name => direction}, e.g. {:a => 'desc', :b => 'asc'}. for backwards compatibility, it may be an array of hashes of {column_name => direction}, e.g. [{:a => 'desc'}, {:b => 'asc'}]. to just sort on one column, you can simply provide a hash, e.g. {:a => 'desc'}.

# File lib/active_scaffold/config/list.rb, line 153
def sorting=(val)
  val = [val] if val.is_a? Hash
  sorting.set *val
end