Module: VanillaNested::ViewHelpers

Defined in:
lib/vanilla_nested/view_helpers.rb

Instance Method Summary collapse

Instance Method Details



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/vanilla_nested/view_helpers.rb', line 3

def link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form)
  association_class = form.object.class.reflections[association.to_s].klass
  object = association_class.new

  partial_name = partial ? partial : "#{association_class.name.downcase}_fields"

  html = capture do
    form.fields_for association, object, child_index: "_idx_placeholder_" do |ff|
      render partial: partial_name, locals: {partial_form_variable => ff}
    end
  end

  methodForInsert = [:append, :prepend].include?(insert_method.to_sym) ? insert_method : :append

  classes = "vanilla-nested-add #{link_classes}"
  link_to '#', class: classes, onclick: 'addVanillaNestedFields(event)', data: {'container-selector': container_selector, html: html, 'method-for-insert': methodForInsert} do
    link_text || "Add #{association_class.model_name}"
  end
end


23
24
25
26
27
28
# File 'lib/vanilla_nested/view_helpers.rb', line 23

def link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '')
  capture do
    concat form.hidden_field(:_destroy, value: 0)
    concat link_to(link_text, '#', class: 'vanilla-nested-remove', onclick: 'removeVanillaNestedFields(event)', data: {'fields-wrapper-selector': fields_wrapper_selector, 'undo-timeout': undo_link_timeout, 'undo-text': undo_link_text, 'undo-link-classes': undo_link_classes})
  end
end