vanilla_nested 1.2.2 → 1.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/vanilla_nested.js +23 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b6d8ed9c309bf72014920bec0254c922804f9077967492047139cb3aabc54f3
|
4
|
+
data.tar.gz: 890d67164554668f8054724329cb9bfe56884e73ab44a864ef3b8283c011cae9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6df5288710235fce651f21a7d03aff41c9d7d529bbb1f0626677bdfe3bf8f670b1277fde0b942c8978a7240de1ecd0586f96d218e6c63f4a27eb63325539964
|
7
|
+
data.tar.gz: f2b7ec1060c226133354d30cb0643620bf12251657771357429f21a3069c76390085715eeb7fcc381ae4ca016ec0d6a632f0573eb1ec5f7df7bac6f1fa835296
|
@@ -4,7 +4,10 @@
|
|
4
4
|
window.addVanillaNestedFields = function(event) {
|
5
5
|
event.preventDefault();
|
6
6
|
|
7
|
-
|
7
|
+
let element = event.target;
|
8
|
+
if (!element.classList.contains('vanilla-nested-add'))
|
9
|
+
element = element.closest('.vanilla-nested-add')
|
10
|
+
|
8
11
|
const data = element.dataset;
|
9
12
|
const container = document.querySelector(data.containerSelector);
|
10
13
|
const newHtml = data.html.replace(/_idx_placeholder_/g, Date.now());
|
@@ -25,7 +28,7 @@
|
|
25
28
|
|
26
29
|
let removeLink = inserted.querySelector('.vanilla-nested-remove');
|
27
30
|
if (removeLink)
|
28
|
-
removeLink.addEventListener('click', removeVanillaNestedFields);
|
31
|
+
removeLink.addEventListener('click', removeVanillaNestedFields, true);
|
29
32
|
|
30
33
|
// dispatch an event if we reached the limit configured on the model
|
31
34
|
if (data.limit) {
|
@@ -40,7 +43,10 @@
|
|
40
43
|
window.removeVanillaNestedFields = function(event) {
|
41
44
|
event.preventDefault();
|
42
45
|
|
43
|
-
|
46
|
+
let element = event.target;
|
47
|
+
if (!element.classList.contains('vanilla-nested-remove'))
|
48
|
+
element = element.closest('.vanilla-nested-remove')
|
49
|
+
|
44
50
|
const data = element.dataset;
|
45
51
|
let wrapper = element.parentElement;
|
46
52
|
if (sel = data.fieldsWrapperSelector) wrapper = element.closest(sel);
|
@@ -121,13 +127,24 @@
|
|
121
127
|
return undo;
|
122
128
|
}
|
123
129
|
|
124
|
-
|
130
|
+
function initVanillaNested() {
|
125
131
|
document.querySelectorAll('.vanilla-nested-add').forEach(el => {
|
126
|
-
el.addEventListener('click', addVanillaNestedFields);
|
132
|
+
el.addEventListener('click', addVanillaNestedFields, true);
|
127
133
|
})
|
128
134
|
|
129
135
|
document.querySelectorAll('.vanilla-nested-remove').forEach(el => {
|
130
|
-
el.addEventListener('click', removeVanillaNestedFields);
|
136
|
+
el.addEventListener('click', removeVanillaNestedFields, true);
|
131
137
|
})
|
138
|
+
}
|
139
|
+
|
140
|
+
document.addEventListener('DOMContentLoaded', function(){
|
141
|
+
initVanillaNested();
|
142
|
+
})
|
143
|
+
|
144
|
+
// Don't run turbolinks event callback for first load, we already do it with DOMContentLoaded
|
145
|
+
const notEmpty = (obj) => Object.keys(obj).length;
|
146
|
+
|
147
|
+
document.addEventListener('turbolinks:load', function(e){
|
148
|
+
if (notEmpty(e.data.timing)) initVanillaNested();
|
132
149
|
})
|
133
150
|
})()
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanilla_nested
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ariel Juodziukynas <arieljuod@gmail.com>
|
@@ -21,7 +21,7 @@ files:
|
|
21
21
|
- lib/vanilla_nested/view_helpers.rb
|
22
22
|
homepage: https://github.com/arielj/vanilla-nested
|
23
23
|
licenses:
|
24
|
-
-
|
24
|
+
- MIT
|
25
25
|
metadata: {}
|
26
26
|
post_install_message:
|
27
27
|
rdoc_options: []
|
@@ -38,7 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0'
|
40
40
|
requirements: []
|
41
|
-
rubygems_version: 3.0.
|
41
|
+
rubygems_version: 3.0.9
|
42
42
|
signing_key:
|
43
43
|
specification_version: 4
|
44
44
|
summary: Dynamic nested forms using vanilla javascript
|