diff --git a/app/javascript/views/plans/research_outputs.js b/app/javascript/views/plans/research_outputs.js index 03be3a2..682a09a 100644 --- a/app/javascript/views/plans/research_outputs.js +++ b/app/javascript/views/plans/research_outputs.js @@ -1,5 +1,23 @@ $(() => { + const displayROInputs = (researchOutputDiv) => { + researchOutputDiv.find('.input').each((idx, inp) => { + $(inp).show(); + }); + researchOutputDiv.find('span').each((idx, val) => { + $(val).hide(); + }); + }; + const displayROValues = (researchOutputDiv) => { + researchOutputDiv.find('.input').each((idx, inp) => { + $(inp).hide(); + }); + researchOutputDiv.find('span').each((idx, val) => { + $(val).show(); + }); + }; + + $('#research-outputs').sortable({ handle: '.research-output-actions .handle', stop: () => { @@ -15,6 +33,9 @@ const duplicated = lastResearchOutput.clone(true, true); const duplicatedId = `plan_research_outputs_attributes_${new Date().getTime()}`; const duplicatedName = `plan[research_outputs_attributes][${new Date().getTime()}]`; + const editElement = duplicated.find('.edit'); + const cancelElement = duplicated.find('.cancel'); + const deleteElement = duplicated.find('.delete'); // Research Output abbreviation duplicated.find('.research-output-abbreviation input').attr('id', `${duplicatedId}_abbreviation`); @@ -43,6 +64,10 @@ duplicated.find('.research-output-order').val(lastResearchOutputOrder + 1); duplicated.appendTo('#research-outputs'); + displayROInputs(duplicated); + editElement.hide(); + cancelElement.hide(); + deleteElement.hide(); }); $('.research-output-type-select').change((e) => { @@ -60,12 +85,7 @@ const editElement = $(e.target); const parentElement = $(e.target).closest('.research-output-element'); const cancelElement = parentElement.find('.cancel'); - parentElement.find('.input').each((idx, inp) => { - $(inp).show(); - }); - parentElement.find('span').each((idx, val) => { - $(val).hide(); - }); + displayROInputs(parentElement); editElement.hide(); cancelElement.show(); @@ -75,12 +95,7 @@ const cancelElement = $(e.target); const parentElement = $(e.target).closest('.research-output-element'); const editElement = parentElement.find('.edit'); - parentElement.find('.input').each((idx, inp) => { - $(inp).hide(); - }); - parentElement.find('span').each((idx, val) => { - $(val).show(); - }); + displayROValues(parentElement); editElement.show(); cancelElement.hide(); diff --git a/app/views/branded/plans/_research_output_fields.html.erb b/app/views/branded/plans/_research_output_fields.html.erb index 356e217..d0c1c82 100644 --- a/app/views/branded/plans/_research_output_fields.html.erb +++ b/app/views/branded/plans/_research_output_fields.html.erb @@ -53,7 +53,7 @@ <%= link_to plan_research_output_url(plan, research_output), data: {:confirm => d_('dmpopidor', 'Deleting this research output will remove the associated answers. Do you confirm ?')}, :method => :delete do %> - <% end %> diff --git a/app/views/branded/plans/_research_outputs_form.html.erb b/app/views/branded/plans/_research_outputs_form.html.erb index 6b76c3c..67e284b 100644 --- a/app/views/branded/plans/_research_outputs_form.html.erb +++ b/app/views/branded/plans/_research_outputs_form.html.erb @@ -1,6 +1,6 @@ <%# locals: { plan, research_outputs, research_output_types } %>
- <%= d_('dmpopidor', 'Research outputs') %> +

<%= d_('dmpopidor', 'Research outputs') %>

<%= form_for plan, html: {method: :put, class: 'form-horizontal edit_plan' } do |f| %>
<% @research_outputs.each do |research_output|%>