Class: Alchemy::Forms::Builder

Inherits:
SimpleForm::FormBuilder
  • Object
show all
Defined in:
lib/alchemy/forms/builder.rb

Instance Method Summary collapse

Instance Method Details

#input(attribute_name, options = {}, &block) ⇒ Object

Renders a simple_form input, but uses input alchemy_wrapper



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/alchemy/forms/builder.rb', line 8

def input(attribute_name, options = {}, &block)
  options[:wrapper] = :alchemy

  if object.respond_to?(:attribute_fixed?) && object.attribute_fixed?(attribute_name)
    options[:disabled] = true
    options[:input_html] = options.fetch(:input_html, {}).merge(
      "data-alchemy-tooltip" => Alchemy.t(:attribute_fixed, attribute: attribute_name),
    )
  end

  super
end

#submit(label, options = {}) ⇒ Object

Renders a button tag wrapped in a div with ‘submit’ class.



23
24
25
26
27
28
29
30
# File 'lib/alchemy/forms/builder.rb', line 23

def submit(label, options = {})
  options = {
    wrapper_html: {class: "submit"},
  }.update(options)
  template.("div", options.delete(:wrapper_html)) do
    template.("button", label, options.delete(:input_html))
  end
end