vanilla_nested 1.1.0 → 1.2.0

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 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