Merge pull request #337 from plataformatec/input_class

Add configuration to add class globally to inputs.

Closes #857
This commit is contained in:
Rafael Mendonça França 2013-08-14 16:13:19 -07:00
commit c14bc3e068
4 changed files with 15 additions and 1 deletions

View File

@ -139,4 +139,7 @@ SimpleForm.setup do |config|
# Cache SimpleForm inputs discovery
# config.cache_discovery = !Rails.env.development?
# Default class for inputs
# config.input_class = nil
end

View File

@ -147,6 +147,10 @@ module SimpleForm
html_tag
end
# Adds a class to each generated inputs
mattr_accessor :input_class
@@input_class = nil
## WRAPPER CONFIGURATION
# The default wrapper to be used by the FormBuilder.
mattr_accessor :default_wrapper

View File

@ -81,7 +81,7 @@ module SimpleForm
end
def additional_classes
@additional_classes ||= [input_type, required_class, readonly_class, disabled_class].compact
@additional_classes ||= [input_type, required_class, readonly_class, disabled_class, SimpleForm.input_class].compact
end
def input_class

View File

@ -20,6 +20,13 @@ class InputTest < ActionView::TestCase
assert_select 'input.string[autofocus]'
end
test 'input should accepts input class configuration' do
swap SimpleForm, :input_class => :xlarge do
with_input_for @user, :name, :string
assert_select 'input.xlarge'
end
end
test 'text input should generate autofocus attribute when autofocus option is true' do
with_input_for @user, :description, :text, autofocus: true
assert_select 'textarea.text[autofocus]'