Module: Spyro::ActionViewExtension::CollectionForHelper
- Includes:
- Output, Parser
- Included in:
- ApplicationHelper
- Defined in:
- lib/spyro/collections/outputs/csv.rb,
lib/spyro/collections/outputs/map.rb,
lib/spyro/collections/outputs/base.rb,
lib/spyro/collections/outputs/xlsx.rb,
lib/spyro/collections/parsers/base.rb,
lib/spyro/collections/outputs/table.rb,
lib/spyro/collections/parsers/array.rb,
lib/spyro/collections/parsers/model.rb,
lib/spyro/collections/outputs/fields.rb,
lib/spyro/helpers/action_view_extension.rb,
lib/spyro/helpers/action_view_extension.rb,
lib/spyro/collections/outputs/admin_table.rb,
lib/spyro/collections/outputs/flatui_table.rb,
lib/spyro/collections/outputs/inplace_table.rb,
lib/spyro/collections/outputs/bar_graph_table.rb,
lib/spyro/collections/parsers/active_record_relation.rb
Defined Under Namespace
Modules: Output, Parser, UniData
Instance Method Summary
collapse
Instance Method Details
#collection_for(collection, options = {}, &block) ⇒ Object
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 386
def collection_for collection, options = {}, &block
parser = nil
Parser::Base.types.each do |klass_collection, klass_parser|
parser = klass_parser.new collection, self, options if collection.is_a? klass_collection
end
return if parser.nil?
output = "Spyro::ActionViewExtension::CollectionForHelper::Output::#{(options[:output] || :table).to_s.classify}".constantize
if block_given?
block.call parser
end
parser.parse
output.new(parser.unicollection, self, parser.class).render
end
|
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 409
def
if controller.ordered_keys.include?
params_dup = params.dup
default_sort = controller.ordered_keys.first
sort = params_dup.delete :sort
rev_sort = params_dup.delete :rev_sort
css_class = ''
if sort
css_class = "sort" if sort.to_sym == .to_sym
elsif rev_sort
css_class = "sort rev" if rev_sort.to_sym == .to_sym
elsif default_sort.to_sym == .to_sym
css_class = "sort#{controller.ordered_options[:default] == :desc ? ' rev' : ''}"
end
params_dup[:rev_sort] = params_dup[:sort] = nil
if css_class == "sort"
params_dup[:rev_sort] =
else
params_dup[:sort] =
end
link_to .to_s.humanize, url_for(params_dup), class: css_class
else
.to_s.humanize
end
end
|