Module: RademadeAdmin::FieldHelper
- Defined in:
- app/helpers/rademade_admin/field_helper.rb
Instance Method Summary collapse
-
#display_item_value(item, data_item) ⇒ String
Display the field of given item.
- #display_related_item(data_item, item, value) ⇒ Object
- #display_upload_item(_, value) ⇒ Object
- #input_attr(attrs = {}) ⇒ Object
- #pagination_option(number, name = 'paginate') ⇒ Object
- #raw_item_value(item, data_item) ⇒ Object
Instance Method Details
#display_item_value(item, data_item) ⇒ String
Display the field of given item
11 12 13 14 15 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 11 def display_item_value(item, data_item) value = raw_item_value(item, data_item) return (value ? '✔' : '×') if value.is_a?(::Boolean) value end |
#display_related_item(data_item, item, value) ⇒ Object
17 18 19 20 21 22 23 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 17 def (data_item, item, value) if data_item.relation.has_many? link_to(data_item.label, (item, data_item.getter)) else link_to(value.to_s, admin_edit_uri(value)) unless value.nil? end end |
#display_upload_item(_, value) ⇒ Object
25 26 27 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 25 def display_upload_item(_, value) RademadeAdmin::Upload::PreviewService.new(value).uploaded_file_html end |
#input_attr(attrs = {}) ⇒ Object
39 40 41 42 43 44 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 39 def input_attr(attrs = {}) attrs.deep_merge( wrapper_html: { class: 'form-group' }, input_html: { class: 'form-input' } ) end |
#pagination_option(number, name = 'paginate') ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 29 def pagination_option(number, name = 'paginate') hash_params = request.query_parameters.clone hash_params.delete(:page) hash_params[name.to_sym] = number selected = number == request.query_parameters[name.to_sym].to_i url_params = request.path_parameters.merge(hash_params) content_tag(:option, number.to_s, :selected => selected, :value => admin_url_for(url_params)) end |
#raw_item_value(item, data_item) ⇒ Object
46 47 48 49 50 51 52 |
# File 'app/helpers/rademade_admin/field_helper.rb', line 46 def raw_item_value(item, data_item) return data_item.list_preview_handler.call(item) unless data_item.list_preview_handler.nil? value = item.send(data_item.list_preview_accessor) return display_upload_item(data_item, value) if data_item.has_uploader? return (data_item, item, value) if data_item.has_relation? value.to_s.html_safe end |