Sha256: af342b4c4bd28b43e6b6ebc92121e39dbdbb4fbddf58ed2c53fdb372f9ecbc15

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

module TaoForm
  module Components
    class CheckBoxComponent < FieldComponent

      attr_reader :checked_value, :unchecked_value, :checked, :disabled, :field_options

      def initialize view, builder = nil, attribute_name = nil, options = {}
        super view, builder, attribute_name, options
        @checked_value = @options.delete(:checked_value)
        @unchecked_value = @options.delete(:unchecked_value)
        @checked = @options.delete(:checked)
        @disabled = @options.delete(:disabled)

        init_field_options
      end

      def self.component_name
        :check_box
      end

      def render &block
        if block_given?
          super
        elsif builder && attribute_name
          super {
            builder.check_box attribute_name, field_options, checked_value, unchecked_value
          }
        end
      end

      private

      def init_field_options
        @field_options = {
          disabled: disabled
        }

        unless checked.nil?
          @field_options[:checked] = checked
        end
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tao_form-0.1.7 lib/tao_form/components/check_box_component.rb
tao_form-0.1.6 lib/tao_form/components/check_box_component.rb