vanilla_nested 1.1.0 → 1.2.0

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
- SHA1:
3
- metadata.gz: d53bc9016018c8253312d3a74d267c8a3e2e953e
4
- data.tar.gz: 2c96fb414de1b65ecf49ab9e7e546eda0878d623
2
+ SHA256:
3
+ metadata.gz: 4dffbc6a9079eef6fa23eb04580cd0744a9563bb48435d86e539c53500184fc6
4
+ data.tar.gz: 922f56a43170f687d0aba466384841474fe0198d88f45e6a4a2ad203787ebbc9
5
5
  SHA512:
6
- metadata.gz: 7af84e0fa64113f033fca6bed7e423d4f02f50e5e3e5e1f45fb207c25d2a6b38de425aa2721a34fc902376b0c342436fa6760ceddaf95c55af2313bf60f27643
7
- data.tar.gz: b505d4899dc73b090bf8fb880caf7c43166f89a97367ec8bc49961529fc974e2d71251106b6309453f119252f5da421499c927de89deba38f45869e0a24fbf14
6
+ metadata.gz: 7b5d7b4821aed2cfc669fdf75e512b7611324879824bd85a8a0b8e7c3589d5f917148d6f724c010c14fb4c5659630e510a4a61c4d08c55e25fd888c2aa7fc62d
7
+ data.tar.gz: ff26be147b8e052a170389456c900da3a21a9369739c271bb7da9ebab4043b98edfae5807dcc0e6cdb5363f3567b5a93148f9ecdd91bc31636c857510a2e918d
@@ -6,8 +6,8 @@
6
6
 
7
7
  const element = event.target;
8
8
  const data = element.dataset;
9
- const newHtml = data.html.replace(/_idx_placeholder_/g, Date.now());
10
9
  const container = document.querySelector(data.containerSelector);
10
+ const newHtml = data.html.replace(/_idx_placeholder_/g, Date.now());
11
11
 
12
12
  let inserted;
13
13
  switch (data.methodForInsert) {
@@ -22,6 +22,13 @@
22
22
  }
23
23
 
24
24
  _dispatchEvent(container, 'vanilla-nested:fields-added', element, {added: inserted})
25
+
26
+ // dispatch an event if we reached the limit configured on the model
27
+ if (data.limit) {
28
+ let nestedElements = container.children.length;
29
+ if (nestedElements >= data.limit)
30
+ _dispatchEvent(container, 'vanilla-nested:fields-limit-reached', element)
31
+ }
25
32
  }
26
33
 
27
34
  // Removes the fields or hides them until the undo timer times out
@@ -31,6 +31,9 @@ module VanillaNested
31
31
  'method-for-insert': method_for_insert
32
32
  }
33
33
 
34
+ nested_options = form.object.class.nested_attributes_options[association.to_sym]
35
+ data['limit'] = nested_options[:limit] if nested_options[:limit]
36
+
34
37
  link_to '#', class: classes, onclick: 'addVanillaNestedFields(event)', data: data do
35
38
  link_text || "Add #{association_class.model_name}"
36
39
  end
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.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ariel Juodziukynas <arieljuod@gmail.com>
@@ -38,8 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
- rubyforge_project:
42
- rubygems_version: 2.6.14.1
41
+ rubygems_version: 3.0.6
43
42
  signing_key:
44
43
  specification_version: 4
45
44
  summary: Dynamic nested forms using vanilla javascript