Class: Admin::Base::Resource::IndexConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/admin/base/resource.rb

Overview

Index view configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIndexConfig

Returns a new instance of IndexConfig.



277
278
279
280
281
282
283
284
285
286
# File 'lib/admin/base/resource.rb', line 277

def initialize
  @searchable_fields = []
  @sortable_fields = []
  @default_sort = nil
  @default_sort_direction = :desc
  @columns_list = []
  @filters_list = []
  @stats_list = []
  @per_page = 25
end

Instance Attribute Details

#columns_listObject (readonly)

Returns the value of attribute columns_list.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def columns_list
  @columns_list
end

#default_sortObject (readonly)

Returns the value of attribute default_sort.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def default_sort
  @default_sort
end

#default_sort_directionObject (readonly)

Returns the value of attribute default_sort_direction.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def default_sort_direction
  @default_sort_direction
end

#filters_listObject (readonly)

Returns the value of attribute filters_list.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def filters_list
  @filters_list
end

#per_pageObject (readonly)

Returns the value of attribute per_page.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def per_page
  @per_page
end

#searchable_fieldsObject (readonly)

Returns the value of attribute searchable_fields.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def searchable_fields
  @searchable_fields
end

#sortable_fieldsObject (readonly)

Returns the value of attribute sortable_fields.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def sortable_fields
  @sortable_fields
end

#stats_listObject (readonly)

Returns the value of attribute stats_list.



274
275
276
# File 'lib/admin/base/resource.rb', line 274

def stats_list
  @stats_list
end

Instance Method Details

#columns(&block) ⇒ Object



302
303
304
305
306
# File 'lib/admin/base/resource.rb', line 302

def columns(&block)
  builder = ColumnsBuilder.new
  builder.instance_eval(&block) if block_given?
  @columns_list = builder.columns
end

#filters(&block) ⇒ Object



308
309
310
311
312
# File 'lib/admin/base/resource.rb', line 308

def filters(&block)
  builder = FiltersBuilder.new
  builder.instance_eval(&block) if block_given?
  @filters_list = builder.filters
end

#paginate(count) ⇒ Object



298
299
300
# File 'lib/admin/base/resource.rb', line 298

def paginate(count)
  @per_page = count
end

#searchable(*fields) ⇒ Object



288
289
290
# File 'lib/admin/base/resource.rb', line 288

def searchable(*fields)
  @searchable_fields = fields
end

#sortable(*fields, default: nil, direction: :desc) ⇒ Object



292
293
294
295
296
# File 'lib/admin/base/resource.rb', line 292

def sortable(*fields, default: nil, direction: :desc)
  @sortable_fields = fields if fields.any?
  @default_sort = default || fields.first
  @default_sort_direction = direction
end

#stats(&block) ⇒ Object



314
315
316
317
318
# File 'lib/admin/base/resource.rb', line 314

def stats(&block)
  builder = StatsBuilder.new
  builder.instance_eval(&block) if block_given?
  @stats_list = builder.stats
end