Sha256: 5d017839c6705b5639637e167d23c5c2db40423a20b7f28659a2e5c19d62d287

Contents?: true

Size: 1.53 KB

Versions: 10

Compression:

Stored size: 1.53 KB

Contents

require_relative '../checkbox'

module CCS
  module Components
    module GovUK
      class Field < Base
        class Inputs < Field
          class Item < Base
            class Checkbox < Item
              # = GOV.UK Field Inputs Checkbox form tag
              #
              # This is used to generate an individual checkbox item using +form.check_box+

              class Form < Checkbox
                # @param (see CCS::Components::GovUK::Field::Items::Item::Checkbox#initialize)
                #
                # @option (see CCS::Components::GovUK::Field::Items::Item::Checkbox#initialize)

                def initialize(attribute:, label:, **options)
                  super(attribute: attribute, label: label, **options)

                  (label[:attributes] ||= {})[:value] = @value
                  label[:attributes][:for] = @options[:attributes][:id] if @options[:attributes][:id]

                  @options[:attributes][:multiple] = true
                  @options[:attributes][:include_hidden] = false

                  @label = Label.new(attribute: attribute, form: @options[:form], context: @context, **label)
                end

                # Generates the HTML for the checkbox input
                #
                # @return [ActiveSupport::SafeBuffer]

                def render
                  super() do
                    @options[:form].check_box(@attribute, @options[:attributes], @value)
                  end
                end
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ccs-frontend_helpers-0.3.0 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.2.0 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.2 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.1 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.1.rc.1 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.0.rc.7 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.0.rc.6 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.0.rc.5 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.0.rc.4 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb
ccs-frontend_helpers-0.1.0.rc.3 lib/ccs/components/govuk/field/inputs/item/checkbox/form.rb