Class: Katalyst::GOVUK::FormBuilder::Elements::Image
- Inherits:
-
GOVUKDesignSystemFormBuilder::Base
- Object
- GOVUKDesignSystemFormBuilder::Base
- Katalyst::GOVUK::FormBuilder::Elements::Image
- Includes:
- ActionDispatch::Routing::RouteSet::MountedHelpers, GOVUKDesignSystemFormBuilder::Traits::Error, GOVUKDesignSystemFormBuilder::Traits::HTMLAttributes, GOVUKDesignSystemFormBuilder::Traits::HTMLClasses, GOVUKDesignSystemFormBuilder::Traits::Hint, GOVUKDesignSystemFormBuilder::Traits::Label, GOVUKDesignSystemFormBuilder::Traits::Supplemental, Traits::File
- Defined in:
- lib/katalyst/govuk/form_builder/elements/image.rb
Instance Method Summary collapse
- #html ⇒ Object
-
#initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:, **kwargs) ⇒ Image
constructor
A new instance of Image.
- #preview ⇒ Object
Constructor Details
#initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:, **kwargs) ⇒ Image
Returns a new instance of Image.
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/katalyst/govuk/form_builder/elements/image.rb', line 19 def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:, **kwargs, &) super(builder, object_name, attribute_name, &) @mime_types = mime_types @label = label @caption = caption @hint = hint @html_attributes = kwargs.merge() @form_group = form_group end |
Instance Method Details
#html ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/katalyst/govuk/form_builder/elements/image.rb', line 31 def html GOVUKDesignSystemFormBuilder::Containers::FormGroup.new( *bound, **(**@form_group), ).html do safe_join([label_element, preview, hint_element, error_element, file, destroy_element, supplemental_content]) end end |
#preview ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/katalyst/govuk/form_builder/elements/image.rb', line 41 def preview = {} add_option(, :data, "#{stimulus_controller}_target", "preview") add_option(, :class, "preview-image") [:hidden] = "" unless preview? tag.div(**) do tag.img(src: preview_url, class: "image-thumbnail") + destroy_element_trigger end end |