Sha256: ced06a4d2cd399e4f4a4d73565027105726a5a95494deb5f233279fcdbc51c2a

Contents?: true

Size: 1.35 KB

Versions: 14

Compression:

Stored size: 1.35 KB

Contents

module GOVUKDesignSystemFormBuilder
  module Elements
    module CheckBoxes
      class CollectionCheckBox < Base
        include Traits::CollectionItem
        include Traits::Hint

        def initialize(builder, object_name, attribute_name, checkbox, hint_method = nil, link_errors: false)
          super(builder, object_name, attribute_name)

          @checkbox  = checkbox
          @item      = checkbox.object
          @value     = checkbox.value
          @hint_text = retrieve(@item, hint_method)
          @link_errors = link_errors
        end

        def html
          content_tag('div', class: 'govuk-checkboxes__item') do
            safe_join(
              [
                @checkbox.check_box(
                  id: field_id(link_errors: @link_errors),
                  class: "govuk-checkboxes__input",
                  aria: { describedby: hint_id }
                ),
                label_element.html,
                hint_element.html
              ]
            )
          end
        end

      private

        def label_element
          @label_element ||= Label.new(@builder, @object_name, @attribute_name, @checkbox, value: @value, link_errors: @link_errors)
        end

        def hint_element
          @hint_element ||= Hint.new(@builder, @object_name, @attribute_name, @hint_text, value: @value)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-1.1.10 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.9 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.8 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.7 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.6 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.5 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.4 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.3 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.2 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.1 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.0 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.0.beta.3 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.0.beta.2 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
govuk_design_system_formbuilder-1.1.0.beta.1 lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb