Sha256: 3d96f0d7061aabef6faa8b9cc7ddb3e120f997c2a63d08e4050117af17d611f9

Contents?: true

Size: 644 Bytes

Versions: 7

Compression:

Stored size: 644 Bytes

Contents

module HasFilter
  module Filter
  	class Categorized < Base
  	  self.priority = 4
  		self.scopes = [:categories]
		
  		def to_form_fields(options = {})
  		  options[:categories].blank? ? [] : [categories_select_tag(options)]
  		end
		
  		def scope(target)
  		  target.categorized(*selected)
  		end
		
  		protected
  		
  		  def categories_select_tag(options = {})
  		    categories = options[:categories].map { |c| [c.title, c.id] }
  		    options = view.options_for_select(categories, selected)
  		    view.select_tag(form_field_name(:categorized, nil), options, :id => form_field_id(:categorized, :id))
		    end
  	end
	end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
adva-0.1.4 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva-0.1.3 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva-0.1.2 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva-0.1.1 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva-0.1.0 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva_cms-0.0.1 vendor/gems/has_filter/lib/has_filter/filter/categorized.rb
adva-0.0.1 adva_cms/vendor/gems/has_filter/lib/has_filter/filter/categorized.rb