Class: ActiveScaffold::Config::List::UserSettings
- Defined in:
- lib/active_scaffold/config/list.rb
Instance Attribute Summary collapse
-
#label ⇒ Object
This label has alread been localized.
-
#nested_default_sorting ⇒ Object
Returns the value of attribute nested_default_sorting.
Instance Method Summary collapse
- #count_includes ⇒ Object
- #default_sorting ⇒ Object
-
#initialize(conf, storage, params) ⇒ UserSettings
constructor
A new instance of UserSettings.
- #page ⇒ Object
- #page=(value = nil) ⇒ Object
- #per_page ⇒ Object
- #sorting ⇒ Object
- #user_sorting? ⇒ Boolean
Constructor Details
#initialize(conf, storage, params) ⇒ UserSettings
Returns a new instance of UserSettings.
202 203 204 205 |
# File 'lib/active_scaffold/config/list.rb', line 202 def initialize(conf, storage, params) super(conf, storage, params, :list) @sorting = nil end |
Instance Attribute Details
#label ⇒ Object
This label has alread been localized.
209 210 211 |
# File 'lib/active_scaffold/config/list.rb', line 209 def label self[:label] || @label || @conf.label end |
#nested_default_sorting ⇒ Object
Returns the value of attribute nested_default_sorting.
227 228 229 |
# File 'lib/active_scaffold/config/list.rb', line 227 def nested_default_sorting @nested_default_sorting end |
Instance Method Details
#count_includes ⇒ Object
263 264 265 |
# File 'lib/active_scaffold/config/list.rb', line 263 def count_includes @conf.count_includes end |
#default_sorting ⇒ Object
234 235 236 |
# File 'lib/active_scaffold/config/list.rb', line 234 def default_sorting nested_default_sorting.nil? ? @conf.sorting : nested_default_sorting end |
#page ⇒ Object
218 219 220 221 |
# File 'lib/active_scaffold/config/list.rb', line 218 def page self['page'] = @params['page'] if @params.has_key? 'page' self['page'] || 1 end |
#page=(value = nil) ⇒ Object
223 224 225 |
# File 'lib/active_scaffold/config/list.rb', line 223 def page=(value = nil) self['page'] = value end |
#per_page ⇒ Object
213 214 215 216 |
# File 'lib/active_scaffold/config/list.rb', line 213 def per_page self['per_page'] = @params['limit'].to_i if @params.has_key? 'limit' self['per_page'] || @conf.per_page end |
#sorting ⇒ Object
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
# File 'lib/active_scaffold/config/list.rb', line 242 def sorting if @sorting.nil? # we want to store as little as possible in the session, but we want to return a Sorting data structure. so we recreate it each page load based on session data. self['sort'] = [@params['sort'], @params['sort_direction']] if @params['sort'] and @params['sort_direction'] self['sort'] = nil if @params['sort_direction'] == 'reset' if self['sort'] sorting = @conf.sorting.clone sorting.set(*self['sort']) @sorting = sorting else @sorting = default_sorting if @conf.columns.constraint_columns.present? @sorting = @sorting.clone @sorting.constraint_columns = @conf.columns.constraint_columns end end end @sorting end |
#user_sorting? ⇒ Boolean
238 239 240 |
# File 'lib/active_scaffold/config/list.rb', line 238 def user_sorting? @params['sort'] && @params['sort_direction'] != 'reset' end |