From 78d2800c403a9275cdf23a11be6019c93f6730d1 Mon Sep 17 00:00:00 2001 From: Ariel Juodziukynas Date: Thu, 4 Mar 2021 00:44:51 -0300 Subject: [PATCH] Fix link to add nested with nested html elements as content --- app/assets/javascripts/vanilla_nested.js | 7 +++++-- test/VanillaNestedTests/app/views/users/_form.html.erb | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/vanilla_nested.js b/app/assets/javascripts/vanilla_nested.js index fa59148..ff2574b 100644 --- a/app/assets/javascripts/vanilla_nested.js +++ b/app/assets/javascripts/vanilla_nested.js @@ -4,7 +4,10 @@ window.addVanillaNestedFields = function(event) { event.preventDefault(); - const element = event.target; + let element = event.target; + if (!element.classList.contains('vanilla-nested-add')) + element = element.closest('.vanilla-nested-add') + const data = element.dataset; const container = document.querySelector(data.containerSelector); const newHtml = data.html.replace(/_idx_placeholder_/g, Date.now()); @@ -126,7 +129,7 @@ document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.vanilla-nested-add').forEach(el => { - el.addEventListener('click', addVanillaNestedFields); + el.addEventListener('click', addVanillaNestedFields, true); }) document.querySelectorAll('.vanilla-nested-remove').forEach(el => { diff --git a/test/VanillaNestedTests/app/views/users/_form.html.erb b/test/VanillaNestedTests/app/views/users/_form.html.erb index afc919e..74b20ef 100644 --- a/test/VanillaNestedTests/app/views/users/_form.html.erb +++ b/test/VanillaNestedTests/app/views/users/_form.html.erb @@ -2,7 +2,9 @@ <%= form.label :name %> <%= form.text_field :name %> - <%= link_to_add_nested(form, :pets, '#pets') %> + <%= link_to_add_nested(form, :pets, '#pets') do %> + Add Pet + <% end %>

Pets

<%= form.fields_for :pets do |pet_f| %>