bootstrap_form 4.5.0 → 5.0.0
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 +4 -4
- data/.github/workflows/ruby.yml +46 -0
- data/.gitignore +16 -1
- data/.rubocop.yml +17 -14
- data/CHANGELOG.md +32 -1
- data/CONTRIBUTING.md +65 -5
- data/Dangerfile +5 -7
- data/Dockerfile +26 -0
- data/Gemfile +4 -3
- data/README.md +63 -40
- data/UPGRADE-4.0.md +1 -1
- data/UPGRADE-5.0.md +25 -0
- data/bootstrap_form.gemspec +8 -6
- data/demo/app/assets/config/manifest.js +1 -2
- data/demo/app/helpers/bootstrap_helper.rb +4 -4
- data/demo/app/views/bootstrap/form.html.erb +13 -0
- data/demo/app/views/layouts/application.html.erb +3 -3
- data/demo/config/environments/development.rb +1 -1
- data/demo/config/puma.rb +2 -2
- data/demo/db/schema.rb +2 -2
- data/docker-compose.yml +70 -0
- data/gemfiles/5.2.gemfile +2 -15
- data/gemfiles/6.0.gemfile +2 -17
- data/gemfiles/6.1.gemfile +4 -0
- data/gemfiles/edge.gemfile +2 -17
- data/lib/bootstrap_form/components/labels.rb +1 -1
- data/lib/bootstrap_form/components/validation.rb +1 -1
- data/lib/bootstrap_form/configuration.rb +1 -2
- data/lib/bootstrap_form/form_builder.rb +2 -4
- data/lib/bootstrap_form/form_group.rb +21 -10
- data/lib/bootstrap_form/form_group_builder.rb +6 -8
- data/lib/bootstrap_form/helpers/bootstrap.rb +11 -10
- data/lib/bootstrap_form/inputs/base.rb +5 -5
- data/lib/bootstrap_form/inputs/check_box.rb +8 -22
- data/lib/bootstrap_form/inputs/collection_select.rb +1 -0
- data/lib/bootstrap_form/inputs/file_field.rb +3 -15
- data/lib/bootstrap_form/inputs/grouped_collection_select.rb +1 -0
- data/lib/bootstrap_form/inputs/radio_button.rb +7 -25
- data/lib/bootstrap_form/inputs/select.rb +1 -0
- data/lib/bootstrap_form/inputs/time_zone_select.rb +1 -0
- data/lib/bootstrap_form/version.rb +1 -1
- data/lib/bootstrap_form.rb +1 -2
- metadata +24 -6
- data/.travis.yml +0 -35
@@ -8,28 +8,16 @@ module BootstrapForm
|
|
8
8
|
|
9
9
|
included do
|
10
10
|
def file_field_with_bootstrap(name, options={})
|
11
|
-
options = options.reverse_merge(control_class: "
|
11
|
+
options = options.reverse_merge(control_class: "form-control")
|
12
12
|
form_group_builder(name, options) do
|
13
|
-
|
14
|
-
|
15
|
-
file_field_input(name, options)
|
16
|
-
end
|
13
|
+
input_with_error(name) do
|
14
|
+
file_field_without_bootstrap(name, options)
|
17
15
|
end
|
18
16
|
end
|
19
17
|
end
|
20
18
|
|
21
19
|
bootstrap_alias :file_field
|
22
20
|
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def file_field_input(name, options)
|
27
|
-
placeholder = options.delete(:placeholder) || "Choose file"
|
28
|
-
placeholder_opts = { class: "custom-file-label" }
|
29
|
-
placeholder_opts[:for] = options[:id] if options[:id].present?
|
30
|
-
|
31
|
-
file_field_without_bootstrap(name, options) + label(name, placeholder, placeholder_opts)
|
32
|
-
end
|
33
21
|
end
|
34
22
|
end
|
35
23
|
end
|
@@ -12,6 +12,7 @@ module BootstrapForm
|
|
12
12
|
def grouped_collection_select_with_bootstrap(method, collection, group_method,
|
13
13
|
group_label_method, option_key_method,
|
14
14
|
option_value_method, options={}, html_options={})
|
15
|
+
html_options = html_options.reverse_merge(control_class: "form-select")
|
15
16
|
form_group_builder(method, options, html_options) do
|
16
17
|
input_with_error(method) do
|
17
18
|
grouped_collection_select_without_bootstrap(method, collection, group_method,
|
@@ -10,11 +10,11 @@ module BootstrapForm
|
|
10
10
|
def radio_button_with_bootstrap(name, value, *args)
|
11
11
|
options = args.extract_options!.symbolize_keys!
|
12
12
|
radio_button_options = options.except(:class, :label, :label_class, :error_message, :help,
|
13
|
-
:inline, :
|
13
|
+
:inline, :hide_label, :skip_label, :wrapper_class)
|
14
14
|
|
15
15
|
radio_button_options[:class] = radio_button_classes(name, options)
|
16
16
|
|
17
|
-
|
17
|
+
tag.div(class: radio_button_wrapper_class(options)) do
|
18
18
|
html = radio_button_without_bootstrap(name, value, radio_button_options)
|
19
19
|
html.concat(radio_button_label(name, value, options)) unless options[:skip_label]
|
20
20
|
html.concat(generate_error(name)) if options[:error_message]
|
@@ -34,43 +34,25 @@ module BootstrapForm
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def radio_button_classes(name, options)
|
37
|
-
classes =
|
38
|
-
classes << (options[:custom] ? "custom-control-input" : "form-check-input")
|
37
|
+
classes = Array(options[:class]) << "form-check-input"
|
39
38
|
classes << "is-invalid" if error?(name)
|
40
39
|
classes << "position-static" if options[:skip_label] || options[:hide_label]
|
41
40
|
classes.flatten.compact
|
42
41
|
end
|
43
42
|
|
44
43
|
def radio_button_label_class(options)
|
45
|
-
classes = []
|
46
|
-
classes << (options[:custom] ? "custom-control-label" : "form-check-label")
|
44
|
+
classes = ["form-check-label"]
|
47
45
|
classes << options[:label_class]
|
48
46
|
classes << hide_class if options[:hide_label]
|
49
47
|
classes.flatten.compact
|
50
48
|
end
|
51
49
|
|
52
50
|
def radio_button_wrapper_class(options)
|
53
|
-
classes = []
|
54
|
-
classes << if options[:custom]
|
55
|
-
custom_radio_button_wrapper_class(options)
|
56
|
-
else
|
57
|
-
standard_radio_button_wrapper_class(options)
|
58
|
-
end
|
59
|
-
classes << options[:wrapper_class] if options[:wrapper_class].present?
|
60
|
-
classes.flatten.compact
|
61
|
-
end
|
62
|
-
|
63
|
-
def standard_radio_button_wrapper_class(options)
|
64
|
-
classes = %w[form-check]
|
51
|
+
classes = ["form-check"]
|
65
52
|
classes << "form-check-inline" if layout_inline?(options[:inline])
|
66
53
|
classes << "disabled" if options[:disabled]
|
67
|
-
classes
|
68
|
-
|
69
|
-
|
70
|
-
def custom_radio_button_wrapper_class(options)
|
71
|
-
classes = %w[custom-control custom-radio]
|
72
|
-
classes << "custom-control-inline" if layout_inline?(options[:inline])
|
73
|
-
classes
|
54
|
+
classes << options[:wrapper_class] if options[:wrapper_class].present?
|
55
|
+
classes.flatten.compact
|
74
56
|
end
|
75
57
|
end
|
76
58
|
end
|
@@ -8,6 +8,7 @@ module BootstrapForm
|
|
8
8
|
|
9
9
|
included do
|
10
10
|
def select_with_bootstrap(method, choices=nil, options={}, html_options={}, &block)
|
11
|
+
html_options = html_options.reverse_merge(control_class: "form-select")
|
11
12
|
form_group_builder(method, options, html_options) do
|
12
13
|
prepend_and_append_input(method, options) do
|
13
14
|
select_without_bootstrap(method, choices, options, html_options, &block)
|
@@ -8,6 +8,7 @@ module BootstrapForm
|
|
8
8
|
|
9
9
|
included do
|
10
10
|
def time_zone_select_with_bootstrap(method, priority_zones=nil, options={}, html_options={})
|
11
|
+
html_options = html_options.reverse_merge(control_class: "form-select")
|
11
12
|
form_group_builder(method, options, html_options) do
|
12
13
|
input_with_error(method) do
|
13
14
|
time_zone_select_without_bootstrap(method, priority_zones, options, html_options)
|
data/lib/bootstrap_form.rb
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
# name and not in the usual autoload-reachable way.
|
3
3
|
# The following line is definitely need to make `bootstrap_form` work.
|
4
4
|
if ::Rails::VERSION::STRING > "6"
|
5
|
-
require Gem::Specification.find_by_name(
|
6
|
-
"/app/helpers/action_text/tag_helper"
|
5
|
+
require "#{Gem::Specification.find_by_name('actiontext').gem_dir}/app/helpers/action_text/tag_helper"
|
7
6
|
end
|
8
7
|
require "action_view"
|
9
8
|
require "action_pack"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Potenza
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -39,8 +39,22 @@ dependencies:
|
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '5.2'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rails
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '5.2'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '5.2'
|
42
56
|
description: bootstrap_form is a rails form builder that makes it super easy to create
|
43
|
-
beautiful-looking forms using Bootstrap
|
57
|
+
beautiful-looking forms using Bootstrap 5
|
44
58
|
email:
|
45
59
|
- potenza@gmail.com
|
46
60
|
- carlos.el.lopes@gmail.com
|
@@ -49,13 +63,14 @@ extensions: []
|
|
49
63
|
extra_rdoc_files: []
|
50
64
|
files:
|
51
65
|
- ".editorconfig"
|
66
|
+
- ".github/workflows/ruby.yml"
|
52
67
|
- ".gitignore"
|
53
68
|
- ".rubocop.yml"
|
54
|
-
- ".travis.yml"
|
55
69
|
- CHANGELOG.md
|
56
70
|
- CODE_OF_CONDUCT.md
|
57
71
|
- CONTRIBUTING.md
|
58
72
|
- Dangerfile
|
73
|
+
- Dockerfile
|
59
74
|
- Gemfile
|
60
75
|
- LICENSE.txt
|
61
76
|
- OLD-README.md
|
@@ -63,6 +78,7 @@ files:
|
|
63
78
|
- RELEASING.md
|
64
79
|
- Rakefile
|
65
80
|
- UPGRADE-4.0.md
|
81
|
+
- UPGRADE-5.0.md
|
66
82
|
- app/assets/stylesheets/rails_bootstrap_forms.css
|
67
83
|
- bootstrap_form.gemspec
|
68
84
|
- demo/.postcssrc.yml
|
@@ -125,8 +141,10 @@ files:
|
|
125
141
|
- demo/public/favicon.ico
|
126
142
|
- demo/test/fixtures/action_text/rich_texts.yml
|
127
143
|
- demo/yarn.lock
|
144
|
+
- docker-compose.yml
|
128
145
|
- gemfiles/5.2.gemfile
|
129
146
|
- gemfiles/6.0.gemfile
|
147
|
+
- gemfiles/6.1.gemfile
|
130
148
|
- gemfiles/edge.gemfile
|
131
149
|
- lib/bootstrap_form.rb
|
132
150
|
- lib/bootstrap_form/action_view_extensions/form_helper.rb
|
@@ -180,7 +198,7 @@ homepage: https://github.com/bootstrap-ruby/bootstrap_form
|
|
180
198
|
licenses:
|
181
199
|
- MIT
|
182
200
|
metadata: {}
|
183
|
-
post_install_message:
|
201
|
+
post_install_message:
|
184
202
|
rdoc_options: []
|
185
203
|
require_paths:
|
186
204
|
- lib
|
@@ -199,5 +217,5 @@ rubyforge_project:
|
|
199
217
|
rubygems_version: 2.7.6
|
200
218
|
signing_key:
|
201
219
|
specification_version: 4
|
202
|
-
summary: Rails form builder that makes it easy to style forms using Bootstrap
|
220
|
+
summary: Rails form builder that makes it easy to style forms using Bootstrap 5
|
203
221
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.7.1
|
4
|
-
- 2.6.5
|
5
|
-
- 2.5.7
|
6
|
-
gemfile:
|
7
|
-
- gemfiles/6.0.gemfile
|
8
|
-
- gemfiles/5.2.gemfile
|
9
|
-
cache:
|
10
|
-
bundler: true
|
11
|
-
script:
|
12
|
-
- bundle exec rake test
|
13
|
-
|
14
|
-
matrix:
|
15
|
-
include:
|
16
|
-
# Bleeding edge Ruby
|
17
|
-
- rvm: ruby-head
|
18
|
-
gemfile: gemfiles/edge.gemfile
|
19
|
-
|
20
|
-
# Next version of Rails
|
21
|
-
- rvm: 2.7.1
|
22
|
-
gemfile: gemfiles/edge.gemfile
|
23
|
-
|
24
|
-
# Running one job to execute DANGER bot and linting
|
25
|
-
- rvm: 2.7.1
|
26
|
-
gemfile: gemfiles/6.0.gemfile
|
27
|
-
script:
|
28
|
-
- gem install danger
|
29
|
-
- danger
|
30
|
-
- bundle exec rake rubocop
|
31
|
-
|
32
|
-
allow_failures:
|
33
|
-
- rvm: ruby-head
|
34
|
-
- rvm: 2.7.1
|
35
|
-
gemfile: gemfiles/edge.gemfile
|