class Datagrid::Filters::EnumFilter
Public Class Methods
Source
# File lib/datagrid/filters/enum_filter.rb, line 11 def initialize(grid, name, **options, &block) options[:multiple] = true if options[:checkboxes] super raise Datagrid::ConfigurationError, ":select option not specified" unless options[:select] end
@!visibility private
Calls superclass method
Datagrid::Filters::BaseFilter::new
Public Instance Methods
Source
# File lib/datagrid/filters/enum_filter.rb, line 23 def default_input_options { **super, type: enum_checkboxes? ? "checkbox" : "select", multiple: multiple?, include_hidden: enum_checkboxes? ? false : nil, } end
Calls superclass method
Datagrid::Filters::BaseFilter#default_input_options
Source
# File lib/datagrid/filters/enum_filter.rb, line 47 def enum_checkboxes? options[:checkboxes] end
Source
# File lib/datagrid/filters/enum_filter.rb, line 32 def label_options if enum_checkboxes? # Each checkbox has its own label # The main label has no specific input to focus # See app/views/datagrid/_enum_checkboxes.html.erb { for: nil, **super } else super end end
Calls superclass method
Datagrid::Filters::BaseFilter#label_options
Source
# File lib/datagrid/filters/enum_filter.rb, line 17 def parse(value) return nil if strict && !select.include?(value) value end
Source
# File lib/datagrid/filters/enum_filter.rb, line 43 def strict options[:strict] end