activeadmin_dynamic_fields 0.1.2 → 0.1.4
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/README.md +10 -5
- data/app/assets/javascripts/activeadmin/dynamic_fields.js +9 -0
- data/lib/activeadmin/dynamic_fields/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ed3a311fa689cf4f9457fd700a694f157a9abe3
|
4
|
+
data.tar.gz: 6313408d435051e63fc80993f8bf8129da485055
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 816e1d338c5bc05cc86071a57222cfb5a9615809ed79acb1a972bcf2e7e0c1f30f58b4eac44690e47ac63de1829af2e6bbfb899ae218defea703612df88b9083
|
7
|
+
data.tar.gz: bb91d68394ab4913c4c1346193e88e9fd2fcf2dd8dffafda0bb1126940015e68ccb9fcbdaedbdff90245d9b6a89f191e2f2ef954ac98a6a5dd4bed9764d0a767
|
data/README.md
CHANGED
@@ -6,9 +6,9 @@ Features:
|
|
6
6
|
|
7
7
|
- set conditional checks on fields
|
8
8
|
- trigger some actions on other fields
|
9
|
-
- create links to load some content in a
|
9
|
+
- create links to load some content in a dialog
|
10
10
|
|
11
|
-
The easiest way to show how this plugin works is looking the examples (
|
11
|
+
The easiest way to show how this plugin works is looking the examples [below](#examples-of-dynamic-fields).
|
12
12
|
|
13
13
|
## Install
|
14
14
|
|
@@ -19,7 +19,7 @@ The easiest way to show how this plugin works is looking the examples (below).
|
|
19
19
|
|
20
20
|
## Options
|
21
21
|
|
22
|
-
Options are passed to fields using *input_html* parameter:
|
22
|
+
Options are passed to fields using *input_html* parameter as *data* attributes:
|
23
23
|
|
24
24
|
- **data-if**: check a condition, values:
|
25
25
|
+ **checked**: check if a checkbox is checked
|
@@ -34,6 +34,7 @@ Options are passed to fields using *input_html* parameter:
|
|
34
34
|
+ **hide**: hides elements
|
35
35
|
+ **slide**: hides elements (using sliding)
|
36
36
|
+ **fade**: hides elements (using fading)
|
37
|
+
+ **addClass**: adds classes
|
37
38
|
+ **setValue**: set a value
|
38
39
|
+ **callback**: call a function
|
39
40
|
- **data-value**: value to set
|
@@ -47,7 +48,7 @@ Options are passed to fields using *input_html* parameter:
|
|
47
48
|
```rb
|
48
49
|
form do |f|
|
49
50
|
f.inputs 'Article' do
|
50
|
-
f.input :published, input_html: {
|
51
|
+
f.input :published, input_html: { data: { if: 'not_checked', action: 'hide', target: '.grp1' } }
|
51
52
|
f.input :online_date, wrapper_html: { class: 'grp1' }
|
52
53
|
f.input :position, wrapper_html: { class: 'grp1' }
|
53
54
|
end
|
@@ -55,7 +56,11 @@ form do |f|
|
|
55
56
|
end
|
56
57
|
```
|
57
58
|
|
58
|
-
-
|
59
|
+
- Add 3 classes (*first*, *second*, *third*) if a checkbox is true:
|
60
|
+
|
61
|
+
`f.input :published, input_html: { data: { if: 'checked', action: 'addClass first second third', target: '.grp1' } }`
|
62
|
+
|
63
|
+
- Set another field value if a string field is blank (with alternative syntax for data attributes):
|
59
64
|
|
60
65
|
`f.input :title, input_html: { 'data-if': 'blank', 'data-action': 'setValue', 'data-target': '#article_position', 'data-value': '10' }`
|
61
66
|
|
@@ -75,6 +75,15 @@ function dfSetupField( el ) {
|
|
75
75
|
}
|
76
76
|
else console.log( 'Warning - activeadmin_dynamic_fields: ' + cb + '() not available [2]' );
|
77
77
|
}
|
78
|
+
else if( action.substr( 0, 8 ) == 'addClass' ) {
|
79
|
+
var classes = action.substr( 8 ).trim();
|
80
|
+
if( dfEvalCondition( el, args ) ) target.removeClass( classes );
|
81
|
+
else target.addClass( classes );
|
82
|
+
el.on( 'change', function( event ) {
|
83
|
+
if( dfEvalCondition( $(this), args ) ) target.removeClass( classes );
|
84
|
+
else target.addClass( classes );
|
85
|
+
});
|
86
|
+
}
|
78
87
|
else if( args.fn ) { // function without action
|
79
88
|
dfEvalCondition( el, args );
|
80
89
|
el.on( 'change', function( event ) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin_dynamic_fields
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mattia Roccoberton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeadmin
|