Class: Datagrid::Filters::IntegerFilter
- Inherits:
-
BaseFilter
- Object
- BaseFilter
- Datagrid::Filters::IntegerFilter
- Includes:
- RangedFilter
- Defined in:
- lib/datagrid/filters/integer_filter.rb
Constant Summary
Constants included from RangedFilter
RangedFilter::SERIALIZED_RANGE
Instance Attribute Summary
Attributes inherited from BaseFilter
#block, #grid_class, #name, #options
Instance Method Summary collapse
Methods included from RangedFilter
#default_filter_where, #parse_values, #range?
Methods inherited from BaseFilter
#allow_blank?, #allow_nil?, #apply, #default, #default_scope?, #dummy?, #enabled?, #enum_checkboxes?, form_builder_helper_name, #form_builder_helper_name, #format, #header, #initialize, #input_options, #label_options, #multiple?, #parse_values, #range?, #separator, #supports_range?, #type, #unapplicable_value?
Constructor Details
This class inherits a constructor from Datagrid::Filters::BaseFilter
Instance Method Details
#default_input_options ⇒ Object
10 11 12 |
# File 'lib/datagrid/filters/integer_filter.rb', line 10 def { **super, type: "number", step: "1" } end |
#parse(value) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/datagrid/filters/integer_filter.rb', line 14 def parse(value) return nil if value.blank? if defined?(ActiveRecord) && value.is_a?(ActiveRecord::Base) && value.respond_to?(:id) && value.id.is_a?(Integer) return value.id end return value if value.is_a?(Range) return nil if value.to_i.zero? && value.is_a?(String) && value !~ %r{\A\s*-?0} value.to_i end |