effective_bootstrap 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 381cb46d720fac97c73a41804a42238d4a871182
4
- data.tar.gz: c570ae902eda1639f33624e4f9d8b257bcad856b
3
+ metadata.gz: 78fbc7d3d44502df4a631325adacdaee57d369a6
4
+ data.tar.gz: 5f3833d0c601d317f36e4877e56febee50cc6c05
5
5
  SHA512:
6
- metadata.gz: 00268cb9c16ddbe1bf8811e51e7565cbcbbf0e6ceddd78eb927cc3eec76d0c12b8153f34b52ff85aa7d568e7244e546a712b4d67f30672cae8d7438e83c162cb
7
- data.tar.gz: 149156b84bdbb38aeb2f36fa8acc2cd00c20de63b4c09b33e9492219b827637b8d35f3ee5fcd23d853a7cd8f4328288b56d886f008f674e840da8294ac662fb2
6
+ metadata.gz: 34f01b7ad8447dd72045ece989299c770dd1fae83a64de3e8c72b9c1c1abcaa9d8a2e7b05f8c02562ceedbcdbe95b59f1def19df3c959ebef37d5b81f8ea8be2
7
+ data.tar.gz: f053fe30ec3aed91587a81ba3793c913cb1f9f6ad2d42ca4a1de2896d14cd3bac3fcec8bb33b91cbdfddb07e321d617ef5aeadcbe6b5b5b6bf9e411f75a6ac26
@@ -38,3 +38,8 @@ $(document).on 'confirm', (event) ->
38
38
 
39
39
  $.rails.confirm = (message) -> true
40
40
  $(document).on 'confirm:complete', (event) -> $(event.target).data('confirmed')
41
+
42
+ # Fade out cocoon remove.
43
+ $(document).on 'cocoon:before-remove', (event, $obj) ->
44
+ $(event.target).data('remove-timeout', 1000)
45
+ $obj.fadeOut('slow')
@@ -3,6 +3,20 @@ div.btn-group > .btn.first-button {
3
3
  border-bottom-left-radius: 0.25rem;
4
4
  }
5
5
 
6
+ .effective-radios {
7
+ white-space: nowrap;
8
+ }
9
+
10
+ .effective-radios.is-valid {
11
+ label { border-color: #28a745; }
12
+ .valid-feedback { display: block; }
13
+ }
14
+
15
+ .effective-radios.is-invalid {
16
+ label { border-color: #dc3545; }
17
+ .invalid-feedback { display: block; }
18
+ }
19
+
6
20
  .effective-radios.card-deck {
7
21
  .card-header { cursor: pointer; }
8
22
 
@@ -17,10 +31,3 @@ div.btn-group > .btn.first-button {
17
31
  }
18
32
  }
19
33
 
20
- .effective-radios.is-valid {
21
- label { border-color: #28a745; }
22
- }
23
-
24
- .effective-radios.is-invalid {
25
- label { border-color: #dc3545; }
26
- }
@@ -153,8 +153,8 @@ module Effective
153
153
 
154
154
  invalid = object.errors[name].to_sentence.presence if object.respond_to?(:errors)
155
155
  invalid ||= options[:feedback][:invalid].delete(:text)
156
- invalid ||= [("can't be blank" if options[:input][:required]), ('must be valid' if validated?(name))].compact.join(' and ')
157
- invalid ||= 'is invalid'
156
+ invalid ||= "can't be blank" if options[:input][:required]
157
+ invalid ||= "can't be blank or invalid"
158
158
 
159
159
  valid = options[:feedback][:valid].delete(:text) || "Look's good!"
160
160
 
@@ -179,9 +179,38 @@ module Effective
179
179
  return false unless obj.respond_to?(:validators_on)
180
180
 
181
181
  obj.validators_on(name).any? do |v|
182
- v.kind_of?(ActiveRecord::Validations::PresenceValidator) && !v.options.key?(:if) && !v.options.key?(:unless)
182
+ v.kind_of?(ActiveRecord::Validations::PresenceValidator) && required_options?(v.options)
183
+ end
184
+ end
185
+
186
+ def required_options?(opts)
187
+ return true unless (opts.key?(:if) || opts.key?(:unless))
188
+
189
+ if opts[:if].respond_to?(:call)
190
+ return object.instance_exec(&opts[:if])
191
+ end
192
+
193
+ if opts[:if].kind_of?(Symbol)
194
+ return object.send(opts[:if])
195
+ end
196
+
197
+ if opts.key?(:if)
198
+ return opts[:if]
199
+ end
200
+
201
+ if opts[:unless].respond_to?(:call)
202
+ return !object.instance_exec(&opts[:unless])
203
+ end
204
+
205
+ if opts[:unless].kind_of?(Symbol)
206
+ return !object.send(opts[:unless])
207
+ end
208
+
209
+ if opts.key?(:unless)
210
+ return !opts[:unless]
183
211
  end
184
212
 
213
+ false
185
214
  end
186
215
 
187
216
  def validated?(name)
@@ -35,7 +35,11 @@ module Effective
35
35
  end
36
36
 
37
37
  def wrapper_options
38
- { class: "form-group #{tag_id}" }
38
+ if buttons? || cards?
39
+ { class: "form-group #{tag_id}" }
40
+ else
41
+ { class: "form-group effective-radios #{tag_id}" }
42
+ end
39
43
  end
40
44
 
41
45
  def button_group_class
@@ -1,3 +1,3 @@
1
1
  module EffectiveBootstrap
2
- VERSION = '0.0.14'.freeze
2
+ VERSION = '0.0.15'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails