Sha256: a25d03157d8b8baebaa9bf8370efa02a8d37edcea021078990fcbce6ad814012

Contents?: true

Size: 1.04 KB

Versions: 207

Compression:

Stored size: 1.04 KB

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]
            options[:placeholder] = props[:placeholder] || ""

            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

207 entries across 207 versions & 1 rubygems

Version Path
playbook_ui-8.3.0.alpha.select.pre.margin app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.3.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.pre.alpha5 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.pre.alpha4 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.alpha.iconacc app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.pre.alpha3 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.pre.alpha2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.3.0.deps2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.3.0.pre.alpha1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1.pre.alpha1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.1.3 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.4.0.alpha.dependencies.2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.4.0.alpha.dependencies.1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.0.pre.alpha4 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.0.pre.alpha3 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.2.0 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.1.2 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.1.0.pre.alpha1 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
playbook_ui-8.0.3 app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb