rails_bootstrap_form 0.3.1 → 0.4.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/Gemfile.lock +1 -1
- data/app/assets/stylesheets/rails_bootstrap_form.css +6 -0
- data/demo/app/models/user.rb +3 -0
- data/demo/config/locales/en.rb +1 -0
- data/lib/rails_bootstrap_form/bootstrap_form_builder.rb +5 -1
- data/lib/rails_bootstrap_form/bootstrap_form_options.rb +6 -0
- data/lib/rails_bootstrap_form/inputs.rb +73 -0
- data/lib/rails_bootstrap_form/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25354c2cb11c5971bf3435e2415ca37c0fcfabeeb45cd269a8dbecba7d582fd7
|
4
|
+
data.tar.gz: f695f139348b6fb1f2c054e90f79c6d5c53805ec047ac6d239df946a09039278
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed91e2feb0354818a43161b165ed8bba83b8e29a9f3013d2a3f7df54e23158768332d2381f36132399dedb7531a65abcd9234a70814c9b05f63c6af3ed66c245
|
7
|
+
data.tar.gz: ea1cf098b34f86c6f5ca4bb1cfc6031a93f81865515e484f6322934e33673b9980c053ccf02db70d302feb520e8766998678505f3e406b805b426dada7d000ee
|
data/Gemfile.lock
CHANGED
@@ -14,3 +14,9 @@ label.required::after {
|
|
14
14
|
background-position: right 0.5rem center, center right 2rem !important;
|
15
15
|
background-size: 24px 24px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
|
16
16
|
}
|
17
|
+
.rails-bootstrap-forms-date-select select,
|
18
|
+
.rails-bootstrap-forms-time-select select,
|
19
|
+
.rails-bootstrap-forms-datetime-select select {
|
20
|
+
display: inline-block;
|
21
|
+
width: auto;
|
22
|
+
}
|
data/demo/app/models/user.rb
CHANGED
data/demo/config/locales/en.rb
CHANGED
@@ -25,6 +25,10 @@ module RailsBootstrapForm
|
|
25
25
|
options[:html].reverse_merge!(RailsBootstrapForm.config.default_form_attributes)
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
def control_specific_class(field_tag_name)
|
29
|
+
"rails-bootstrap-forms-#{field_tag_name.to_s.tr("_", "-")}"
|
30
|
+
end
|
31
|
+
|
32
|
+
private :apply_default_form_options, :control_specific_class
|
29
33
|
end
|
30
34
|
end
|
@@ -82,6 +82,10 @@ module RailsBootstrapForm
|
|
82
82
|
# Default is false.
|
83
83
|
attr_accessor :floating
|
84
84
|
|
85
|
+
# Default CSS class that will be applied to all static fields.
|
86
|
+
# Default is `form-control-plaintext`.
|
87
|
+
attr_accessor :static_field_class
|
88
|
+
|
85
89
|
def initialize(options = {})
|
86
90
|
set_defaults
|
87
91
|
set_bootstrap_form_options(options)
|
@@ -140,6 +144,8 @@ module RailsBootstrapForm
|
|
140
144
|
@additional_label_class = nil
|
141
145
|
|
142
146
|
@floating = false
|
147
|
+
|
148
|
+
@static_field_class = "form-control-plaintext"
|
143
149
|
end
|
144
150
|
|
145
151
|
private :set_defaults
|
@@ -24,6 +24,12 @@ module RailsBootstrapForm
|
|
24
24
|
week_field
|
25
25
|
].freeze
|
26
26
|
|
27
|
+
DATE_SELECT_HELPERS = %i[
|
28
|
+
date_select
|
29
|
+
time_select
|
30
|
+
datetime_select
|
31
|
+
].freeze
|
32
|
+
|
27
33
|
FIELD_HELPERS.each do |field_tag_name|
|
28
34
|
define_method(field_tag_name) do |attribute, options = {}|
|
29
35
|
field_wrapper_builder(attribute, options) do
|
@@ -32,6 +38,18 @@ module RailsBootstrapForm
|
|
32
38
|
end
|
33
39
|
end
|
34
40
|
|
41
|
+
DATE_SELECT_HELPERS.each do |field_tag_name|
|
42
|
+
define_method(field_tag_name) do |attribute, options = {}, html_options = {}, &block|
|
43
|
+
options = options.reverse_merge(bootstrap_form: {field_class: "form-select"})
|
44
|
+
|
45
|
+
field_wrapper_builder(attribute, options, html_options) do
|
46
|
+
tag.div(class: control_specific_class(field_tag_name)) do
|
47
|
+
super(attribute, options, html_options)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
35
53
|
def select(attribute, choices = nil, options = {}, html_options = {}, &block)
|
36
54
|
options = options.reverse_merge(bootstrap_form: {field_class: "form-select"})
|
37
55
|
|
@@ -39,5 +57,60 @@ module RailsBootstrapForm
|
|
39
57
|
super(attribute, choices, options, html_options, &block)
|
40
58
|
end
|
41
59
|
end
|
60
|
+
|
61
|
+
def collection_select(attribute, collection, value_method, text_method, options = {}, html_options = {})
|
62
|
+
options = options.reverse_merge(bootstrap_form: {field_class: "form-select"})
|
63
|
+
|
64
|
+
field_wrapper_builder(attribute, options, html_options) do
|
65
|
+
super(attribute, collection, value_method, text_method, options, html_options)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def range_field(attribute, options = {})
|
70
|
+
options = options.reverse_merge(bootstrap_form: {field_class: "form-range"})
|
71
|
+
|
72
|
+
field_wrapper_builder(attribute, options) do
|
73
|
+
super(attribute, options)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def color_field(attribute, options = {})
|
78
|
+
options = options.reverse_merge(bootstrap_form: {field_class: "form-control form-control-color"})
|
79
|
+
|
80
|
+
field_wrapper_builder(attribute, options) do
|
81
|
+
super(attribute, options)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def time_zone_select(attribute, priority_zones = nil, options = {}, html_options = {})
|
86
|
+
options = options.reverse_merge(bootstrap_form: {field_class: "form-select"})
|
87
|
+
|
88
|
+
field_wrapper_builder(attribute, options, html_options) do
|
89
|
+
super(attribute, priority_zones, options, html_options)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def hidden_field(attribute, options = {})
|
94
|
+
options[:value] = object.send(attribute) unless options.key?(:value)
|
95
|
+
|
96
|
+
super(attribute, options)
|
97
|
+
end
|
98
|
+
|
99
|
+
def static_field(*args)
|
100
|
+
options = args.extract_options!
|
101
|
+
attribute = args.first
|
102
|
+
|
103
|
+
static_options = options.merge(
|
104
|
+
readonly: true,
|
105
|
+
disabled: true,
|
106
|
+
bootstrap_form: {
|
107
|
+
field_class: bootstrap_form_options.static_field_class
|
108
|
+
}
|
109
|
+
)
|
110
|
+
|
111
|
+
static_options[:value] = object.send(attribute) unless options.key?(:value)
|
112
|
+
|
113
|
+
text_field(attribute, static_options)
|
114
|
+
end
|
42
115
|
end
|
43
116
|
end
|