simple_form-bootstrap 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c16d3f9a42c7904818b88f8ba467cc2933c207f
4
- data.tar.gz: 74210a6d9b771e55cfca00e1c9587cec64f71035
3
+ metadata.gz: d6ea0957545a4c17950bdf09f9237b1b9d65aa21
4
+ data.tar.gz: db3a33a12b1795eabd4815608cb34fab6a8e6ed5
5
5
  SHA512:
6
- metadata.gz: 8ba9d2e78f15f8afc6b1790d1a78bc8122c68488e960d9e4536d79497a77996882280dfbc92599aebf2c466f0c44b312b50723ff4f84b01165631f83ac7d0973
7
- data.tar.gz: a5090b762a5c5a0d13d6ad1fec5eb2540a9ed61fd699537bf413ead4ea1ada1d78574d6b34d638d6d6559cb1c4bb394ac2a4c25b1497ee3bac380db125b801bc
6
+ metadata.gz: d4cecfc6d0e988e6887a37f92bf69ded8cd6684745037394b26c684b7496c06c933e9403d953a3e46325f326fa7d860b68a90bbbed5328d7b04cb2b6b74c17c1
7
+ data.tar.gz: db340e776a16319c2a82c7fd824b9daf20fd3c98d13ac4189cb24fe8d711f33df0acbef15bcdab878c3a98601de3b37aa1ff9117a526574f57aab27af4bf9c42
data/Rakefile CHANGED
@@ -1,12 +1,12 @@
1
- begin
2
- require 'bundler/setup'
3
- rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
- end
6
-
7
- require "rspec/core/rake_task"
8
-
9
- RSpec::Core::RakeTask.new
10
-
11
- task :default => :spec
12
- task :test => :spec
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require "rspec/core/rake_task"
8
+
9
+ RSpec::Core::RakeTask.new
10
+
11
+ task :default => :spec
12
+ task :test => :spec
@@ -1,24 +1,24 @@
1
- //= require simple_form-bootstrap/date_time_input
2
-
3
- (function($) {
4
- 'use strict';
5
- function initializeComponents(node) {
6
- // Enable our date/time pickers
7
- var datePickers = $('input.bootstrap-datepicker', node);
8
- datePickers.datetimepicker();
9
-
10
- // Enable our styled Bootstrap select controls, except Twitter Typeahead controls.
11
- var selects = $('select.form-control:not(.typeahead)', node);
12
- selects.selectpicker();
13
- }
14
-
15
- $(document).on('ready', function(e) {
16
- initializeComponents(document);
17
- });
18
- $(document).on('DOMNodeInserted', function(e) {
19
- initializeComponents(e.target);
20
- });
21
- $(document).on('nested:fieldAdded', function(e) {
22
- initializeComponents(e.field);
23
- });
24
- })(jQuery);
1
+ //= require simple_form-bootstrap/date_time_input
2
+
3
+ (function($) {
4
+ 'use strict';
5
+ function initializeComponents(node) {
6
+ // Enable our date/time pickers
7
+ var datePickers = $('input.bootstrap-datepicker', node);
8
+ datePickers.datetimepicker();
9
+
10
+ // Enable our styled Bootstrap select controls, except Twitter Typeahead controls.
11
+ var selects = $('select.form-control:not(.typeahead)', node);
12
+ selects.selectpicker();
13
+ }
14
+
15
+ $(document).on('ready', function(e) {
16
+ initializeComponents(document);
17
+ });
18
+ $(document).on('DOMNodeInserted', function(e) {
19
+ initializeComponents(e.target);
20
+ });
21
+ $(document).on('nested:fieldAdded', function(e) {
22
+ initializeComponents(e.field);
23
+ });
24
+ })(jQuery);
@@ -32,6 +32,7 @@
32
32
  this.attr('type', 'text');
33
33
  this.parent().css('display', '');
34
34
  this.parent().next('input[type=text]').attr('type', 'hidden');
35
+ this.parent().prev('label').attr('for', this.attr('id'))
35
36
 
36
37
  return this;
37
38
  },
@@ -1,12 +1,12 @@
1
- // Hijacks the default Bootstrap date-time picker to always format dates in the specified format
2
- // through the use of a hidden field.
3
- (function($) {
4
- 'use strict';
5
- if ($.fn.selectpicker) {
6
- return;
7
- }
8
-
9
- $.fn.selectpicker = function(arg) {
10
- return methods.initialise.call(this, arg);
11
- };
12
- }(jQuery));
1
+ // Hijacks the default Bootstrap date-time picker to always format dates in the specified format
2
+ // through the use of a hidden field.
3
+ (function($) {
4
+ 'use strict';
5
+ if ($.fn.selectpicker) {
6
+ return;
7
+ }
8
+
9
+ $.fn.selectpicker = function(arg) {
10
+ return methods.initialise.call(this, arg);
11
+ };
12
+ }(jQuery));
@@ -1,26 +1,26 @@
1
- module SimpleForm::Bootstrap
2
- extend ActiveSupport::Autoload
3
-
4
- autoload :Setup
5
- autoload :FormBuilders
6
-
7
- eager_autoload do
8
- autoload :Inputs
9
- end
10
-
11
- # Because we are augmenting Simple Form with our input fields, we need to load even when eager
12
- # loading is not enabled
13
- SimpleForm::Bootstrap::FormBuilders.load!
14
- end
15
-
16
- module SimpleForm
17
- class << self
18
- # Extend the normal Simple Form configuration options with ours.
19
- prepend SimpleForm::Bootstrap::Setup
20
- end
21
- end
22
-
23
- if defined?(Rails)
24
- require 'simple_form/bootstrap/railtie'
25
- require 'simple_form/bootstrap/engine'
26
- end
1
+ module SimpleForm::Bootstrap
2
+ extend ActiveSupport::Autoload
3
+
4
+ autoload :Setup
5
+ autoload :FormBuilders
6
+
7
+ eager_autoload do
8
+ autoload :Inputs
9
+ end
10
+
11
+ # Because we are augmenting Simple Form with our input fields, we need to load even when eager
12
+ # loading is not enabled
13
+ SimpleForm::Bootstrap::FormBuilders.load!
14
+ end
15
+
16
+ module SimpleForm
17
+ class << self
18
+ # Extend the normal Simple Form configuration options with ours.
19
+ prepend SimpleForm::Bootstrap::Setup
20
+ end
21
+ end
22
+
23
+ if defined?(Rails)
24
+ require 'simple_form/bootstrap/railtie'
25
+ require 'simple_form/bootstrap/engine'
26
+ end
@@ -1,2 +1,2 @@
1
- class SimpleForm::Bootstrap::Engine < Rails::Engine
2
- end
1
+ class SimpleForm::Bootstrap::Engine < Rails::Engine
2
+ end
@@ -1,9 +1,9 @@
1
- module SimpleForm::Bootstrap::FormBuilders
2
- extend ActiveSupport::Autoload
3
-
4
- def self.load!
5
- Dir.glob("#{__dir__}/form_builders/*") do |path|
6
- require path
7
- end
8
- end
9
- end
1
+ module SimpleForm::Bootstrap::FormBuilders
2
+ extend ActiveSupport::Autoload
3
+
4
+ def self.load!
5
+ Dir.glob("#{__dir__}/form_builders/*") do |path|
6
+ require path
7
+ end
8
+ end
9
+ end
@@ -1,23 +1,26 @@
1
- module SimpleForm::Bootstrap::FormBuilders::Button
2
- # Adds the btn-default class selectively to buttons which do not have an explicit button type.
3
- def button(type, *args, &proc)
4
- options = args.extract_options!.dup
5
- options[:class] = [*options[:class]]
6
-
7
- # Add the specified class type.
8
- if options[:class].select { |cls| cls.length < 4 || cls[0, 4] == 'btn-' }.empty?
9
- if type.to_s == :submit.to_s.freeze
10
- options[:class] << 'btn-primary'
11
- else
12
- options[:class] << 'btn-default'
13
- end
14
- end
15
- args << options
16
-
17
- super(type, *args, &proc)
18
- end
19
- end
20
-
21
- SimpleForm::FormBuilder.class_eval do
22
- prepend SimpleForm::Bootstrap::FormBuilders::Button
23
- end
1
+ module SimpleForm::Bootstrap::FormBuilders::Button
2
+ BUTTON_CLASSES = ['btn-default', 'btn-primary', 'btn-success', 'btn-info', 'btn-warning',
3
+ 'btn-danger', 'btn-link'].freeze
4
+
5
+ # Adds the btn-default class selectively to buttons which do not have an explicit button type.
6
+ def button(type, *args, &proc)
7
+ options = args.extract_options!.dup
8
+ options[:class] = [*options[:class]]
9
+
10
+ # Add the specified class type.
11
+ if options[:class].select { |cls| BUTTON_CLASSES.include?(cls) }.empty?
12
+ if type.to_s == :submit.to_s.freeze
13
+ options[:class] << 'btn-primary'
14
+ else
15
+ options[:class] << 'btn-default'
16
+ end
17
+ end
18
+ args << options
19
+
20
+ super(type, *args, &proc)
21
+ end
22
+ end
23
+
24
+ SimpleForm::FormBuilder.class_eval do
25
+ prepend SimpleForm::Bootstrap::FormBuilders::Button
26
+ end
@@ -1,26 +1,26 @@
1
- module SimpleForm::Bootstrap::FormBuilders::DateTime
2
- DATE_TIME_COLUMN_TYPES = [
3
- 'datetime',
4
- 'timestamp',
5
- 'timestamp without time zone'
6
- ].freeze
7
-
8
- DATE_COLUMN_TYPES = [
9
- 'date'
10
- ].freeze
11
-
12
- def default_input_type(attribute_name, column, options, *args, &block)
13
- if (options.is_a?(Hash) ? options[:as] : @options[:as]).nil? && !column.nil?
14
- return :bootstrap_date_time if DATE_TIME_COLUMN_TYPES.include?(column.sql_type)
15
- return :bootstrap_date if DATE_COLUMN_TYPES.include?(column.sql_type)
16
- end
17
-
18
- super(attribute_name, column, options, *args, &block)
19
- end
20
- end
21
-
22
- SimpleForm::FormBuilder.class_eval do
23
- prepend SimpleForm::Bootstrap::FormBuilders::DateTime
24
-
25
- map_type :bootstrap_date_time, :bootstrap_date, to: SimpleForm::Bootstrap::Inputs::DateTimeInput
26
- end
1
+ module SimpleForm::Bootstrap::FormBuilders::DateTime
2
+ DATE_TIME_COLUMN_TYPES = [
3
+ 'datetime',
4
+ 'timestamp',
5
+ 'timestamp without time zone'
6
+ ].freeze
7
+
8
+ DATE_COLUMN_TYPES = [
9
+ 'date'
10
+ ].freeze
11
+
12
+ def default_input_type(attribute_name, column, options, *args, &block)
13
+ if (options.is_a?(Hash) ? options[:as] : @options[:as]).nil? && !column.nil?
14
+ return :bootstrap_date_time if DATE_TIME_COLUMN_TYPES.include?(column.sql_type)
15
+ return :bootstrap_date if DATE_COLUMN_TYPES.include?(column.sql_type)
16
+ end
17
+
18
+ super(attribute_name, column, options, *args, &block)
19
+ end
20
+ end
21
+
22
+ SimpleForm::FormBuilder.class_eval do
23
+ prepend SimpleForm::Bootstrap::FormBuilders::DateTime
24
+
25
+ map_type :bootstrap_date_time, :bootstrap_date, to: SimpleForm::Bootstrap::Inputs::DateTimeInput
26
+ end
@@ -1,7 +1,7 @@
1
- module SimpleForm::Bootstrap::Inputs
2
- extend ActiveSupport::Autoload
3
-
4
- eager_autoload do
5
- autoload :DateTimeInput
6
- end
7
- end
1
+ module SimpleForm::Bootstrap::Inputs
2
+ extend ActiveSupport::Autoload
3
+
4
+ eager_autoload do
5
+ autoload :DateTimeInput
6
+ end
7
+ end
@@ -9,24 +9,25 @@ class SimpleForm::Bootstrap::Inputs::DateTimeInput < SimpleForm::Inputs::Base
9
9
  # Integrate with Bootstrap's styling
10
10
  text_field_options[:class] << 'form-control'
11
11
 
12
- hidden_field_options = text_field_options.dup
13
- hidden_field_options[:class] = text_field_options[:class].dup # so they won't work with same array object
12
+ hidden_field_options = text_field_options.deep_dup
13
+ hidden_field_options[:class] << 'bootstrap-datepicker'
14
+ hidden_field_options[:class] << 'bootstrap-timepicker' if input_type == :bootstrap_date_time
14
15
  hidden_field_options[:id] = "#{attribute_name}_hidden"
15
- hidden_field_options[:value] ||= value(object).try(:to_s)
16
- text_field_options[:class] << 'bootstrap-datepicker'
17
- text_field_options[:class] << 'bootstrap-timepicker' if input_type == :bootstrap_date_time
18
- text_field_options[:value] ||= format_date(value(object), format)
19
- text_field_options[:data] = { 'date-format' => strftime_to_momentjs_format(format) }
16
+ hidden_field_options[:value] ||= format_date(value(object), format)
17
+ hidden_field_options[:data] = { 'date-format' => strftime_to_momentjs_format(format) }
20
18
 
21
- text_field_group_classes = text_field_options[:class].dup
22
- text_field_group_classes.delete('form-control')
19
+ hidden_field_group_classes = hidden_field_options[:class].dup
20
+ hidden_field_group_classes.delete('form-control')
21
+
22
+
23
+ text_field_options[:value] ||= value(object).try(:to_s)
23
24
 
24
25
  return_string = <<-END_INPUT
25
- <div class="input-group #{text_field_group_classes.join(' ')}" style="display: none">
26
- #{@builder.hidden_field(attribute_name, text_field_options.to_hash)}
26
+ <div class="input-group #{hidden_field_group_classes.join(' ')}" style="display: none">
27
+ #{@builder.hidden_field(attribute_name, hidden_field_options.to_hash)}
27
28
  <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
28
29
  </div>
29
- #{@builder.text_field(attribute_name, hidden_field_options.to_hash)}
30
+ #{@builder.text_field(attribute_name, text_field_options.to_hash)}
30
31
  END_INPUT
31
32
  return_string.html_safe
32
33
  end
@@ -1,5 +1,5 @@
1
- require 'rails/railtie'
2
-
3
- class SimpleForm::Bootstrap::Railtie < Rails::Railtie
4
- config.eager_load_namespaces << SimpleForm::Bootstrap
5
- end
1
+ require 'rails/railtie'
2
+
3
+ class SimpleForm::Bootstrap::Railtie < Rails::Railtie
4
+ config.eager_load_namespaces << SimpleForm::Bootstrap
5
+ end
@@ -1,189 +1,189 @@
1
- # Handles configuration Simple Form with Bootstrap defaults.
2
- module SimpleForm::Bootstrap::Setup
3
- def setup
4
- super do |config|
5
- yield config
6
- configure_simple_form(config)
7
- end
8
- end
9
-
10
- private
11
-
12
- def configure_simple_form(config)
13
- config.error_notification_tag = :div
14
- config.error_notification_class = 'alert alert-danger'
15
- config.button_class = 'btn'
16
- config.boolean_style = :nested
17
- config.boolean_label_class = nil
18
-
19
- configure_wrappers(config)
20
-
21
- # Wrappers for forms and inputs using the Bootstrap toolkit.
22
- # Check the Bootstrap docs (http://getbootstrap.com)
23
- # to learn about the different styles for forms and inputs,
24
- # buttons and other elements.
25
- config.default_wrapper = :vertical_form
26
- config.wrapper_mappings = {
27
- check_boxes: :vertical_radio_and_checkboxes,
28
- radio_buttons: :vertical_radio_and_checkboxes,
29
- file: :vertical_file_input,
30
- boolean: :vertical_boolean,
31
- }
32
- end
33
-
34
- def configure_wrappers(config)
35
- configure_vertical_form_wrapper(config)
36
- configure_vertical_file_input_wrapper(config)
37
- configure_vertical_boolean_wrapper(config)
38
- configure_vertical_radio_and_checkboxes_wrapper(config)
39
- configure_horizontal_form_wrapper(config)
40
- configure_horizontal_file_input_wrapper(config)
41
- configure_horizontal_boolean_wrapper(config)
42
- configure_horizontal_radio_and_checkboxes_wrapper(config)
43
- configure_inline_form_wrapper(config)
44
- end
45
-
46
- def configure_vertical_form_wrapper(config)
47
- config.wrappers :vertical_form, tag: 'div', class: 'form-group',
48
- error_class: 'has-error' do |b|
49
- b.use :html5
50
- b.use :placeholder
51
- b.optional :maxlength
52
- b.optional :pattern
53
- b.optional :min_max
54
- b.optional :readonly
55
- b.use :label, class: 'control-label'
56
-
57
- b.use :input, class: 'form-control'
58
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
59
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
60
- end
61
- end
62
-
63
- def configure_vertical_file_input_wrapper(config)
64
- config.wrappers :vertical_file_input, tag: 'div', class: 'form-group',
65
- error_class: 'has-error' do |b|
66
- b.use :html5
67
- b.use :placeholder
68
- b.optional :maxlength
69
- b.optional :readonly
70
- b.use :label, class: 'control-label'
71
-
72
- b.use :input
73
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
74
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
75
- end
76
- end
77
-
78
- def configure_vertical_boolean_wrapper(config)
79
- config.wrappers :vertical_boolean, tag: 'div', class: 'form-group',
80
- error_class: 'has-error' do |b|
81
- b.use :html5
82
- b.optional :readonly
83
-
84
- b.wrapper tag: 'div', class: 'checkbox' do |ba|
85
- ba.use :label_input
86
- end
87
-
88
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
89
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
90
- end
91
- end
92
-
93
- def configure_vertical_radio_and_checkboxes_wrapper(config)
94
- config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group',
95
- error_class: 'has-error' do |b|
96
- b.use :html5
97
- b.optional :readonly
98
- b.use :label, class: 'control-label'
99
- b.use :input
100
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
101
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
102
- end
103
- end
104
-
105
- def configure_horizontal_form_wrapper(config)
106
- config.wrappers :horizontal_form, tag: 'div', class: 'form-group',
107
- error_class: 'has-error' do |b|
108
- b.use :html5
109
- b.use :placeholder
110
- b.optional :maxlength
111
- b.optional :pattern
112
- b.optional :min_max
113
- b.optional :readonly
114
- b.use :label, class: 'col-sm-3 control-label'
115
-
116
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
117
- ba.use :input, class: 'form-control'
118
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
119
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
120
- end
121
- end
122
- end
123
-
124
- def configure_horizontal_file_input_wrapper(config)
125
- config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group',
126
- error_class: 'has-error' do |b|
127
- b.use :html5
128
- b.use :placeholder
129
- b.optional :maxlength
130
- b.optional :readonly
131
- b.use :label, class: 'col-sm-3 control-label'
132
-
133
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
134
- ba.use :input
135
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
136
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
137
- end
138
- end
139
- end
140
-
141
- def configure_horizontal_boolean_wrapper(config)
142
- config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group',
143
- error_class: 'has-error' do |b|
144
- b.use :html5
145
- b.optional :readonly
146
-
147
- b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
148
- wr.wrapper tag: 'div', class: 'checkbox' do |ba|
149
- ba.use :label_input, class: 'col-sm-9'
150
- end
151
-
152
- wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
153
- wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
154
- end
155
- end
156
- end
157
-
158
- def configure_horizontal_radio_and_checkboxes_wrapper(config)
159
- config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group',
160
- error_class: 'has-error' do |b|
161
- b.use :html5
162
- b.optional :readonly
163
-
164
- b.use :label, class: 'col-sm-3 control-label'
165
-
166
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
167
- ba.use :input
168
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
169
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
170
- end
171
- end
172
- end
173
-
174
- def configure_inline_form_wrapper(config)
175
- config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
176
- b.use :html5
177
- b.use :placeholder
178
- b.optional :maxlength
179
- b.optional :pattern
180
- b.optional :min_max
181
- b.optional :readonly
182
- b.use :label, class: 'sr-only'
183
-
184
- b.use :input, class: 'form-control'
185
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
186
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
187
- end
188
- end
189
- end
1
+ # Handles configuration Simple Form with Bootstrap defaults.
2
+ module SimpleForm::Bootstrap::Setup
3
+ def setup
4
+ super do |config|
5
+ yield config
6
+ configure_simple_form(config)
7
+ end
8
+ end
9
+
10
+ private
11
+
12
+ def configure_simple_form(config)
13
+ config.error_notification_tag = :div
14
+ config.error_notification_class = 'alert alert-danger'
15
+ config.button_class = 'btn'
16
+ config.boolean_style = :nested
17
+ config.boolean_label_class = nil
18
+
19
+ configure_wrappers(config)
20
+
21
+ # Wrappers for forms and inputs using the Bootstrap toolkit.
22
+ # Check the Bootstrap docs (http://getbootstrap.com)
23
+ # to learn about the different styles for forms and inputs,
24
+ # buttons and other elements.
25
+ config.default_wrapper = :vertical_form
26
+ config.wrapper_mappings = {
27
+ check_boxes: :vertical_radio_and_checkboxes,
28
+ radio_buttons: :vertical_radio_and_checkboxes,
29
+ file: :vertical_file_input,
30
+ boolean: :vertical_boolean,
31
+ }
32
+ end
33
+
34
+ def configure_wrappers(config)
35
+ configure_vertical_form_wrapper(config)
36
+ configure_vertical_file_input_wrapper(config)
37
+ configure_vertical_boolean_wrapper(config)
38
+ configure_vertical_radio_and_checkboxes_wrapper(config)
39
+ configure_horizontal_form_wrapper(config)
40
+ configure_horizontal_file_input_wrapper(config)
41
+ configure_horizontal_boolean_wrapper(config)
42
+ configure_horizontal_radio_and_checkboxes_wrapper(config)
43
+ configure_inline_form_wrapper(config)
44
+ end
45
+
46
+ def configure_vertical_form_wrapper(config)
47
+ config.wrappers :vertical_form, tag: 'div', class: 'form-group',
48
+ error_class: 'has-error' do |b|
49
+ b.use :html5
50
+ b.use :placeholder
51
+ b.optional :maxlength
52
+ b.optional :pattern
53
+ b.optional :min_max
54
+ b.optional :readonly
55
+ b.use :label, class: 'control-label'
56
+
57
+ b.use :input, class: 'form-control'
58
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
59
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
60
+ end
61
+ end
62
+
63
+ def configure_vertical_file_input_wrapper(config)
64
+ config.wrappers :vertical_file_input, tag: 'div', class: 'form-group',
65
+ error_class: 'has-error' do |b|
66
+ b.use :html5
67
+ b.use :placeholder
68
+ b.optional :maxlength
69
+ b.optional :readonly
70
+ b.use :label, class: 'control-label'
71
+
72
+ b.use :input
73
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
74
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
75
+ end
76
+ end
77
+
78
+ def configure_vertical_boolean_wrapper(config)
79
+ config.wrappers :vertical_boolean, tag: 'div', class: 'form-group',
80
+ error_class: 'has-error' do |b|
81
+ b.use :html5
82
+ b.optional :readonly
83
+
84
+ b.wrapper tag: 'div', class: 'checkbox' do |ba|
85
+ ba.use :label_input
86
+ end
87
+
88
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
89
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
90
+ end
91
+ end
92
+
93
+ def configure_vertical_radio_and_checkboxes_wrapper(config)
94
+ config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group',
95
+ error_class: 'has-error' do |b|
96
+ b.use :html5
97
+ b.optional :readonly
98
+ b.use :label, class: 'control-label'
99
+ b.use :input
100
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
101
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
102
+ end
103
+ end
104
+
105
+ def configure_horizontal_form_wrapper(config)
106
+ config.wrappers :horizontal_form, tag: 'div', class: 'form-group',
107
+ error_class: 'has-error' do |b|
108
+ b.use :html5
109
+ b.use :placeholder
110
+ b.optional :maxlength
111
+ b.optional :pattern
112
+ b.optional :min_max
113
+ b.optional :readonly
114
+ b.use :label, class: 'col-sm-3 control-label'
115
+
116
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
117
+ ba.use :input, class: 'form-control'
118
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
119
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
120
+ end
121
+ end
122
+ end
123
+
124
+ def configure_horizontal_file_input_wrapper(config)
125
+ config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group',
126
+ error_class: 'has-error' do |b|
127
+ b.use :html5
128
+ b.use :placeholder
129
+ b.optional :maxlength
130
+ b.optional :readonly
131
+ b.use :label, class: 'col-sm-3 control-label'
132
+
133
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
134
+ ba.use :input
135
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
136
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
137
+ end
138
+ end
139
+ end
140
+
141
+ def configure_horizontal_boolean_wrapper(config)
142
+ config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group',
143
+ error_class: 'has-error' do |b|
144
+ b.use :html5
145
+ b.optional :readonly
146
+
147
+ b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
148
+ wr.wrapper tag: 'div', class: 'checkbox' do |ba|
149
+ ba.use :label_input, class: 'col-sm-9'
150
+ end
151
+
152
+ wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
153
+ wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
154
+ end
155
+ end
156
+ end
157
+
158
+ def configure_horizontal_radio_and_checkboxes_wrapper(config)
159
+ config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group',
160
+ error_class: 'has-error' do |b|
161
+ b.use :html5
162
+ b.optional :readonly
163
+
164
+ b.use :label, class: 'col-sm-3 control-label'
165
+
166
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
167
+ ba.use :input
168
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
169
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
170
+ end
171
+ end
172
+ end
173
+
174
+ def configure_inline_form_wrapper(config)
175
+ config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
176
+ b.use :html5
177
+ b.use :placeholder
178
+ b.optional :maxlength
179
+ b.optional :pattern
180
+ b.optional :min_max
181
+ b.optional :readonly
182
+ b.use :label, class: 'sr-only'
183
+
184
+ b.use :input, class: 'form-control'
185
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
186
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
187
+ end
188
+ end
189
+ end
@@ -1,4 +1,4 @@
1
- module SimpleForm; end
2
- module SimpleForm::Bootstrap
3
- VERSION = '1.1.0'
4
- end
1
+ module SimpleForm; end
2
+ module SimpleForm::Bootstrap
3
+ VERSION = '1.1.2'
4
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_form-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Low
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
- rubygems_version: 2.4.5
194
+ rubygems_version: 2.4.8
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: Initialises Simple Form to automatically produce Bootstrap 3-friendly markup.