Class: ActiveScaffold::Config::List
- Defined in:
- lib/active_scaffold/config/list.rb
Defined Under Namespace
Classes: UserSettings
Constant Summary collapse
- @@per_page =
15
- @@page_links_window =
2
- @@empty_field_text =
'-'
- @@association_join_text =
', '
- @@pagination =
true
Instance Attribute Summary collapse
- #always_show_create ⇒ Object
- #always_show_search ⇒ Object
-
#association_join_text ⇒ Object
what string to use to join records from plural associations.
-
#count_includes ⇒ Object
overwrite the includes used for the count sql query.
-
#empty_field_text ⇒ Object
what string to use when a field is empty.
- #filtered_message ⇒ Object
- #hide_nested_column ⇒ Object
- #label ⇒ Object
-
#nested_auto_open ⇒ Object
might be set to open nested_link automatically in view conf.nested.add_link(:players) conf.list.nested_auto_open = => 2 will open nested players view if there are 2 or less records in parent.
- #no_entries_message ⇒ Object
-
#page_links_window ⇒ Object
how many page links around current page to show.
-
#pagination ⇒ Object
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 ⇒ Object
how many rows to show at once.
-
#show_search_reset ⇒ Object
show a link to reset the search next to filtered message.
Attributes inherited from Base
Instance Method Summary collapse
-
#columns ⇒ Object
provides access to the list of columns specifically meant for the Table to use.
-
#initialize(core_config) ⇒ List
constructor
A new instance of List.
- #search_partial ⇒ Object
- #sorting ⇒ Object
-
#sorting=(val) ⇒ Object
the default sorting.
Methods inherited from Base
#crud_type, #formats, #formats=, inherited
Methods included from ActiveScaffold::Configurable
Constructor Details
#initialize(core_config) ⇒ List
Returns a new instance of List.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/active_scaffold/config/list.rb', line 5 def initialize(core_config) @core = core_config # inherit from global scope # full configuration path is: defaults => global table => local table @per_page = self.class.per_page @page_links_window = self.class.page_links_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 = true end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActiveScaffold::Configurable
Instance Attribute Details
#always_show_create ⇒ Object
122 123 124 |
# File 'lib/active_scaffold/config/list.rb', line 122 def always_show_create @always_show_create && @core.actions.include?(:create) end |
#always_show_search ⇒ Object
111 112 113 |
# File 'lib/active_scaffold/config/list.rb', line 111 def always_show_search @always_show_search && !search_partial.blank? end |
#association_join_text ⇒ Object
what string to use to join records from plural associations
76 77 78 |
# File 'lib/active_scaffold/config/list.rb', line 76 def association_join_text @association_join_text end |
#count_includes ⇒ Object
overwrite the includes used for the count sql query
92 93 94 |
# File 'lib/active_scaffold/config/list.rb', line 92 def count_includes @count_includes end |
#empty_field_text ⇒ Object
what string to use when a field is empty
73 74 75 |
# File 'lib/active_scaffold/config/list.rb', line 73 def empty_field_text @empty_field_text end |
#filtered_message ⇒ Object
106 107 108 |
# File 'lib/active_scaffold/config/list.rb', line 106 def @filtered_message ? @filtered_message : :filtered end |
#hide_nested_column ⇒ Object
128 129 130 |
# File 'lib/active_scaffold/config/list.rb', line 128 def hide_nested_column @hide_nested_column.nil? ? true : @hide_nested_column end |
#label ⇒ Object
96 97 98 |
# File 'lib/active_scaffold/config/list.rb', line 96 def label @label ? as_(@label, :count => 2) : @core.label(:count => 2) end |
#nested_auto_open ⇒ Object
might be set to open nested_link automatically in view conf.nested.add_link(:players) conf.list.nested_auto_open = => 2 will open nested players view if there are 2 or less records in parent
136 137 138 |
# File 'lib/active_scaffold/config/list.rb', line 136 def nested_auto_open @nested_auto_open end |
#no_entries_message ⇒ Object
101 102 103 |
# File 'lib/active_scaffold/config/list.rb', line 101 def @no_entries_message ? @no_entries_message : :no_entries end |
#page_links_window ⇒ Object
how many page links around current page to show
64 65 66 |
# File 'lib/active_scaffold/config/list.rb', line 64 def page_links_window @page_links_window end |
#pagination ⇒ Object
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
70 71 72 |
# File 'lib/active_scaffold/config/list.rb', line 70 def pagination @pagination end |
#per_page ⇒ Object
how many rows to show at once
61 62 63 |
# File 'lib/active_scaffold/config/list.rb', line 61 def per_page @per_page end |
#show_search_reset ⇒ Object
show a link to reset the search next to filtered message
79 80 81 |
# File 'lib/active_scaffold/config/list.rb', line 79 def show_search_reset @show_search_reset end |
Instance Method Details
#columns ⇒ Object
provides access to the list of columns specifically meant for the Table to use
53 54 55 56 |
# File 'lib/active_scaffold/config/list.rb', line 53 def columns self.columns = @core.columns._inheritable unless @columns # lazy evaluation @columns end |
#search_partial ⇒ Object
115 116 117 118 |
# File 'lib/active_scaffold/config/list.rb', line 115 def search_partial return "search" if @core.actions.include?(:search) return "field_search" if @core.actions.include?(:field_search) end |
#sorting ⇒ Object
87 88 89 |
# File 'lib/active_scaffold/config/list.rb', line 87 def sorting @sorting ||= ActiveScaffold::DataStructures::Sorting.new(@core.columns) end |
#sorting=(val) ⇒ Object
the default sorting. should be an array of hashes of => direction, e.g. [=> ‘desc’, => ‘asc’]. to just sort on one column, you can simply provide a hash, though, e.g. => ‘desc’.
82 83 84 85 86 |
# File 'lib/active_scaffold/config/list.rb', line 82 def sorting=(val) val = [val] if val.is_a? Hash sorting.clear val.each { |clause| sorting.add *Array(clause).first } end |