Sha256: 75465630ab141df10356001403339d7672de5eb18e0f4be3b1d554ba9739ff86
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module GOVUKDesignSystemFormBuilder module Elements class Select < GOVUKDesignSystemFormBuilder::Base def initialize(builder, object_name, attribute_name, collection, value_method:, text_method:, options: {}, html_options: {}, hint_text:, label:, &block) super(builder, object_name, attribute_name, &block) @collection = collection @value_method = value_method @text_method = text_method @options = options @html_options = html_options @label = label @hint_text = hint_text end def html Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do @builder.safe_join( [ label_element.html, hint_element.html, error_element.html, supplemental_content.html, @builder.collection_select( @attribute_name, @collection, @value_method, @text_method, @options, build_html_options ) ] ) end end private def build_html_options @html_options.deep_merge( id: field_id(link_errors: true), class: select_classes, aria: { describedby: described_by(hint_id, error_id, supplemental_id) } ) end def select_classes %w(govuk-select) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
govuk_design_system_formbuilder-0.9.4 | lib/govuk_design_system_formbuilder/elements/select.rb |
govuk_design_system_formbuilder-0.9.3 | lib/govuk_design_system_formbuilder/elements/select.rb |