vanilla_nested 1.2.1 → 1.2.2

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