vanilla_nested 1.2.1 → 1.2.2

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
2
  SHA256:
3
- metadata.gz: 3da0c7f05ceb96d7a699e1368e2fa022647da44a63dfba213771e860b47e4566
4
- data.tar.gz: 0a878fad581e593f8dcabd480b85bb8b6b261ddff693bbf8cddf42dc08afc2e1
3
+ metadata.gz: 4a6640e42d6a7195a2266b57ce2c77d3edffb1a1de0662ede0b6d19aa4b126bf
4
+ data.tar.gz: 1b74a76aed703a1a2019f2b98d24ba6595f7faf72ac52acc22f8470b43204fc3
5
5
  SHA512:
6
- metadata.gz: 9dd3796185bf8649b10b8be74dfa7008cdcf947afa34b9c2b133a330fafad07970afaab67944373c92612bcaadace2e916166497914480351acea238d69744b1
7
- data.tar.gz: 64c6350136c876344a678e1b324a61429a94f7d20f895c69cd4a0f6e2132550182ca3b818d7a3f12e5d5a70dca65fcf5fecb26c304d17171530eadfebece079a
6
+ metadata.gz: 536f8c0238182518afda5f82662a90a8695d0324f526d2666b69235c5e482275f3d95b4a77e8e519d523c208a81beb4fcfa776dceded510187052ce97f384b5d
7
+ data.tar.gz: 50775a3000f06c76bc2e99c53669ded2a26c7c92775438b4ef4400f905835c60028a947f47c74c7b6853474926efdf669e2ff724e08ac5e7049b203e427759de
@@ -9,8 +9,9 @@ module VanillaNested
9
9
  # @param link_classes [String] space separated classes for the link tag
10
10
  # @param insert_method [:append, :prepend] tells javascript if the new fields should be appended or prepended to the container
11
11
  # @param partial_form_variable [String, Symbol] name of the variable that represents the form builder inside the fields partial
12
+ # @param link_content [Block] block of code for the link content
12
13
  # @return [String] link tag
13
- def link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form)
14
+ def link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form, &link_content)
14
15
  association_class = form.object.class.reflections[association.to_s].klass
15
16
  object = association_class.new
16
17
 
@@ -34,8 +35,11 @@ module VanillaNested
34
35
  nested_options = form.object.class.nested_attributes_options[association.to_sym]
35
36
  data['limit'] = nested_options[:limit] if nested_options[:limit]
36
37
 
37
- link_to '#', class: classes, data: data do
38
- link_text || "Add #{association_class.model_name}"
38
+ if block_given?
39
+ link_to '#', class: classes, data: data, &link_content
40
+ else
41
+ text = link_text || "Add #{association_class.model_name}"
42
+ link_to text, '#', class: classes, data: data
39
43
  end
40
44
  end
41
45
 
@@ -44,9 +48,11 @@ module VanillaNested
44
48
  # @param fields_wrapper_selector [String] selector for the wrapper of the fields, must be an ancestor
45
49
  # @param undo_link_timeout [Integer] time until undo timeouts
46
50
  # @param undo_link_text [String] text to show as "undo"
47
- # @param undo_link_classes [String] space separated list of classes
51
+ # @param undo_link_classes [String] space separated list of classes for the "undo" link
52
+ # @param ulink_classes [String] space separated list of classes for the "x" link
53
+ # @param link_content [Block] block of code for the link content
48
54
  # @return [String] hidden field and link tag
49
- def link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '')
55
+ def link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '', link_classes: '', &link_content)
50
56
  data = {
51
57
  'fields-wrapper-selector': fields_wrapper_selector,
52
58
  'undo-timeout': undo_link_timeout,
@@ -54,9 +60,17 @@ module VanillaNested
54
60
  'undo-link-classes': undo_link_classes
55
61
  }
56
62
 
63
+ classes = "vanilla-nested-remove #{link_classes}"
64
+
57
65
  capture do
58
66
  concat form.hidden_field(:_destroy, value: 0)
59
- concat link_to(link_text, '#', class: 'vanilla-nested-remove', data: data)
67
+ concat(
68
+ if block_given?
69
+ link_to('#', class: classes, data: data, &link_content)
70
+ else
71
+ link_to(link_text.html_safe, '#', class: classes, data: data)
72
+ end
73
+ )
60
74
  end
61
75
  end
62
76
  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.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ariel Juodziukynas <arieljuod@gmail.com>