Sha256: d60b31504b394d13b27f2c07239afba5c93751682b4e7bedaf103691961d7b71

Contents?: true

Size: 1006 Bytes

Versions: 17

Compression:

Stored size: 1006 Bytes

Contents

# frozen_string_literal: true

module Playbook
  module PbForm
    module FormBuilder
      class FormFieldBuilder < Module
        def initialize(method_name, kit_name:)
          define_method method_name do |name, props: {}, **options, &block|
            props[:label] = @template.label(@object_name, name) if props[:label] == true
            options = Hash(options)

            options[:skip_default_ids] = false unless options.key?(:skip_default_ids)
            options[:required] = true if props[:required]

            if props.key?(:validation)
              validation = props[:validation]
              options[:pattern] = validation[:pattern] if validation[:pattern].present?
              options[:data] = { message: validation[:message] } if validation[:message].present?
            end

            input = super(name, **options, &block)

            @template.pb_rails(kit_name, props: props) do
              input
            end
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
playbook_ui-4.7.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.7.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.6.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.6.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.5.2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.5.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.5.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.4.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.4.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.3.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.3.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.2.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.1.2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.1.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.1.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.0.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-4.0.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb