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

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.

nested_auto_open[RW]

might be set to open nested_link automatically in view conf.nested.add_link(:players) conf.list.nested_auto_open = {:players => 2} will open nested players view if there are 2 or less records in parent

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

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 Instance Methods

always_show_create() click to toggle source
# File lib/active_scaffold/config/list.rb, line 169
def always_show_create
  @always_show_create && @core.actions.include?(:create)
end
columns() click to toggle source

provides access to the list of columns specifically meant for the Table to use

# File lib/active_scaffold/config/list.rb, line 89
def columns
  self.columns = @core.columns._inheritable unless @columns # lazy evaluation
  @columns
end
filtered_message() click to toggle source
# File lib/active_scaffold/config/list.rb, line 153
def filtered_message
  @filtered_message ? @filtered_message : :filtered
end
hide_nested_column() click to toggle source
# File lib/active_scaffold/config/list.rb, line 175
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 143
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 148
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 162
def search_partial
  return "search" if @core.actions.include?(:search)
  return "field_search" if @core.actions.include?(:field_search)
end
sorting() click to toggle source
# File lib/active_scaffold/config/list.rb, line 134
def sorting
  @sorting ||= ActiveScaffold::DataStructures::Sorting.new(@core.columns)
end
sorting=(val) click to toggle source

the default sorting. should 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, though, e.g. {:a => ‘desc’}.

# File lib/active_scaffold/config/list.rb, line 129
def sorting=(val)
  val = [val] if val.is_a? Hash
  sorting.clear
  val.each { |clause| sorting.add *Array(clause).first }
end

Public Class Methods

new(core_config) click to toggle source
# 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
  @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
end