rails_depends_on 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -3
- data/app/assets/javascripts/rails_depends_on.js.coffee +6 -4
- data/lib/rails_depends_on/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d734cf194e86bcad272250ad49bc91e63b73e1ce
|
4
|
+
data.tar.gz: 120e044ef5f993079c4c6edb510db99ef2f5a921
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 495ec993e8ded710bb5313f1f02732fa869169291bb2f9a0fdb14b8f6ecbd466b56828bfa98c45565721a944a0f5050d4847102405cc9a4df135970e385f3e08
|
7
|
+
data.tar.gz: a0d4cca7e67a6dd22965517f4b1c120f32edcbb09acd8e4c2e031f84d0a7430ceeadaaef2e14a64f8d52e3e5aa8bfc3d665f868efaffdb7d235f61af80f0fc88
|
data/README.md
CHANGED
@@ -41,13 +41,34 @@ Include the assets in your javascript manifest file:
|
|
41
41
|
= f.input 'another_field'
|
42
42
|
```
|
43
43
|
|
44
|
+
```haml
|
45
|
+
= f.input 'a_text_field'
|
46
|
+
.depends-on{"data-id" => 'a_text_field', 'data-qualifier'=> 'not', 'data-value' =>[['1'],['2']]}
|
47
|
+
= f.input 'another_field'
|
48
|
+
```
|
49
|
+
|
50
|
+
```haml
|
51
|
+
= f.input 'a_multiple_select'
|
52
|
+
.depends-on{"data-id" => 'a_multiple_select', 'data-qualifier'=> 'contains', 'data-value' =>[['1'],['2']]}
|
53
|
+
= f.input 'another_field'
|
54
|
+
```
|
55
|
+
|
56
|
+
```haml
|
57
|
+
= f.input 'a_text_field'
|
58
|
+
.depends-on{"data-id" => 'a_text_field', 'data-qualifier'=> 'email', 'data-value' => 'true'}
|
59
|
+
= f.input 'another_field'
|
60
|
+
```
|
61
|
+
|
62
|
+
```haml
|
63
|
+
= f.input 'a_text_field'
|
64
|
+
.depends-on{"data-id" => 'a_text_field', 'data-qualifier'=> 'url', 'data-value' => 'true'}
|
65
|
+
= f.input 'another_field'
|
66
|
+
```
|
67
|
+
|
44
68
|
## TODO
|
45
69
|
|
46
70
|
* Multiple dependencies
|
47
|
-
* *NOT* qualifier
|
48
|
-
* *Contains* qualifier
|
49
71
|
* *Regexp* qualifier
|
50
|
-
* *url* and *email* qualifier
|
51
72
|
* *Custom* Qualifiers
|
52
73
|
* implement all dependsOn options (callbacks etc..)
|
53
74
|
|
@@ -1,13 +1,15 @@
|
|
1
1
|
//= require dependsOn
|
2
2
|
window.prepareDependsOn = ->
|
3
|
-
|
4
3
|
for element in $('.depends-on')
|
5
4
|
field_to_check = $(element).data('id')
|
6
5
|
field_to_check = "##{field_to_check}"
|
7
6
|
type = ($(field_to_check).attr('type'))
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
if $(element).data('qualifier')
|
8
|
+
depend_type = $(element).data('qualifier')
|
9
|
+
else
|
10
|
+
switch type
|
11
|
+
when 'checkbox' then depend_type = 'checked'
|
12
|
+
when 'text', 'number', 'select' then depend_type = 'values'
|
11
13
|
value = $(element).data('value')
|
12
14
|
object = {}
|
13
15
|
object[field_to_check] = {
|