diff --git a/app/javascript/satis/controllers/fields_for_controller.js b/app/javascript/satis/controllers/fields_for_controller.js index 7721b0c4..55d7b9b4 100644 --- a/app/javascript/satis/controllers/fields_for_controller.js +++ b/app/javascript/satis/controllers/fields_for_controller.js @@ -30,17 +30,14 @@ export default class FieldsForController extends ApplicationController { setupNewChild(tmpNode) { tmpNode.classList.remove("template") - tmpNode.querySelectorAll(".association").forEach((item) => { + + tmpNode.querySelectorAll(":scope > .head > .association").forEach((item) => { if (item.classList.contains("hidden")) { if (!item.querySelector("a[data-action='click->satis-fields-for#cloneAssociation']")) { item.classList.remove("hidden") } } else { - if (!item.querySelector("a[data-action='click->satis-fields-for#cloneAssociation']")) { - item.remove() - } else { - item.classList.add("hidden") - } + item.classList.add("hidden") } }) diff --git a/app/views/shared/_fields_for.html.slim b/app/views/shared/_fields_for.html.slim index 880e1432..ab64fbf5 100644 --- a/app/views/shared/_fields_for.html.slim +++ b/app/views/shared/_fields_for.html.slim @@ -9,9 +9,10 @@ .nested-fields.template.py-2.field-for-bg = nested_form.input :id, as: :hidden = nested_form.input :_destroy, as: :hidden + span.hidden.temp-id temp_id=items_name_parts[-1] span.hidden.temp-name temp_name=items_name_parts[-2] - .grid.grid-cols-12.gap-4 + .grid.grid-cols-12.gap-4.head .col-span-11.fields = yield(nested_form) .col-span-1.flex.justify-center.items-center.association @@ -37,7 +38,7 @@ .grid.grid-cols-12.gap-4 .col-span-11 = yield(nested_form) - .hidden.col-span-1.flex.justify-center.items-center.association + .col-span-1.flex.justify-center.items-center.association .h-full.w-1.border-r.border-dashed a.text-primary-600.nested-fields_action href="#" data-action='click->satis-fields-for#cloneAssociation' i.fa-light.fa-copy