Sha256: 7a984c83b10fa21f154e996f6c1c17fe4233e405d7608b0b8b5439fe0c06f0d4

Contents?: true

Size: 789 Bytes

Versions: 7

Compression:

Stored size: 789 Bytes

Contents

# frozen_string_literal: true

# require_dependency "app/pb_kits/playbook/pb_form/form_builder"

module Playbook
  module PbForm
    class Form
      include Playbook::Props

      clear_props
      prop :form_system, type: Playbook::Props::Enum,
                         values: %w[form_with simple_form],
                         default: "form_with"
      prop :form_system_options, type: Playbook::Props::Base
      prop :children, type: Playbook::Props::Proc

      delegate :to_partial_path, to: :specific_form
      delegate :merged_form_system_options, to: :specific_form
      delegate :form_builder, to: :specific_form

    private

      def specific_form
        @specific_form ||= "#{self.class}::#{form_system.classify}Form".constantize.new(self)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
playbook_ui-3.5.0 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.4.0 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.3.0 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.2.0 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.1.0 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.0.1 app/pb_kits/playbook/pb_form/form.rb
playbook_ui-3.0.0 app/pb_kits/playbook/pb_form/form.rb