Module: Datagrid::FormBuilder
- Defined in:
- lib/datagrid/form_builder.rb
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
-
#datagrid_filter(filter_or_attribute, partials: nil, **options, &block) ⇒ String
A form input html for the corresponding filter name *
select
for enum, xboolean filter types *check_box
for boolean filter type *text_field
for other filter types. - #datagrid_filter_input(attribute_or_filter, **options) ⇒ Object
-
#datagrid_label(filter_or_attribute, text = nil, **options, &block) ⇒ String
A form label html for the corresponding filter name.
Instance Method Details
#datagrid_filter(filter_or_attribute, partials: nil, **options, &block) ⇒ String
Returns a form input html for the corresponding filter name
-
select
for enum, xboolean filter types -
check_box
for boolean filter type -
text_field
for other filter types.
11 12 13 14 15 |
# File 'lib/datagrid/form_builder.rb', line 11 def datagrid_filter(filter_or_attribute, partials: nil, **, &block) filter = datagrid_get_filter(filter_or_attribute) = add_html_classes({**filter., **}, filter.name, datagrid_filter_html_class(filter)) self.send( filter.form_builder_helper_name, filter, **, &block) end |
#datagrid_filter_input(attribute_or_filter, **options) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/datagrid/form_builder.rb', line 26 def datagrid_filter_input(attribute_or_filter, **) filter = datagrid_get_filter(attribute_or_filter) value = object.filter_value_as_string(filter) if [:type]&.to_sym == :textarea text_area filter.name, value: value, **, type: nil else text_field filter.name, value: value, ** end end |
#datagrid_label(filter_or_attribute, text = nil, **options, &block) ⇒ String
Returns a form label html for the corresponding filter name.
21 22 23 24 |
# File 'lib/datagrid/form_builder.rb', line 21 def datagrid_label(filter_or_attribute, text = nil, **, &block) filter = datagrid_get_filter(filter_or_attribute) label(filter.name, text || filter.header, **filter., **, &block) end |