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.



246
247
248
249
250
251
252
253
254
255
# File 'lib/admin/base/resource.rb', line 246

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.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def columns_list
  @columns_list
end

#default_sortObject (readonly)

Returns the value of attribute default_sort.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def default_sort
  @default_sort
end

#default_sort_directionObject (readonly)

Returns the value of attribute default_sort_direction.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def default_sort_direction
  @default_sort_direction
end

#filters_listObject (readonly)

Returns the value of attribute filters_list.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def filters_list
  @filters_list
end

#per_pageObject (readonly)

Returns the value of attribute per_page.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def per_page
  @per_page
end

#searchable_fieldsObject (readonly)

Returns the value of attribute searchable_fields.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def searchable_fields
  @searchable_fields
end

#sortable_fieldsObject (readonly)

Returns the value of attribute sortable_fields.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def sortable_fields
  @sortable_fields
end

#stats_listObject (readonly)

Returns the value of attribute stats_list.



243
244
245
# File 'lib/admin/base/resource.rb', line 243

def stats_list
  @stats_list
end

Instance Method Details

#columns(&block) ⇒ Object



271
272
273
274
275
# File 'lib/admin/base/resource.rb', line 271

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

#filters(&block) ⇒ Object



277
278
279
280
281
# File 'lib/admin/base/resource.rb', line 277

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

#paginate(count) ⇒ Object



267
268
269
# File 'lib/admin/base/resource.rb', line 267

def paginate(count)
  @per_page = count
end

#searchable(*fields) ⇒ Object



257
258
259
# File 'lib/admin/base/resource.rb', line 257

def searchable(*fields)
  @searchable_fields = fields
end

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



261
262
263
264
265
# File 'lib/admin/base/resource.rb', line 261

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



283
284
285
286
287
# File 'lib/admin/base/resource.rb', line 283

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