diff --git a/app/assets/stylesheets/dmpopidor.scss b/app/assets/stylesheets/dmpopidor.scss index 003b7e4..117f063 100644 --- a/app/assets/stylesheets/dmpopidor.scss +++ b/app/assets/stylesheets/dmpopidor.scss @@ -710,9 +710,18 @@ border: 0.5px groove $color-border-light; box-shadow: 0px 0px 0px 0px $color-shadow-dark; padding: 5px; - .research-output-abbreviation, .research-output-pid, .research-output-type { + .research-output-pid, .research-output-type { width: 30%; } + .research-output-names { + display: flex; + .research-output-fullname { + flex: 8; + } + .research-output-abbreviation { + flex: 3; + } + } } .research-output-actions { flex: 1; @@ -721,7 +730,7 @@ justify-content: center; color: $blue; - .handle { + .handle, .edit, .cancel { cursor: pointer; } a { diff --git a/app/javascript/views/plans/research_outputs.js b/app/javascript/views/plans/research_outputs.js index 623e086..5e00aa5 100644 --- a/app/javascript/views/plans/research_outputs.js +++ b/app/javascript/views/plans/research_outputs.js @@ -12,7 +12,7 @@ $('#add-research-output').click(() => { const lastResearchOutput = $('#research-outputs .research-output-element').last(); const lastResearchOutputOrder = parseInt(lastResearchOutput.find('.research-output-order').val(), 10); - const duplicated = lastResearchOutput.clone(false, false); + const duplicated = lastResearchOutput.clone(true, true); const duplicatedId = `plan_research_outputs_attributes_${new Date().getTime()}`; const duplicatedName = `plan[research_outputs_attributes][${new Date().getTime()}]`; @@ -36,6 +36,7 @@ duplicated.find('.research-output-type select').attr('name', `${duplicatedName}[research_output_type_id]`); duplicated.find('.research-output-type label').attr('for', `${duplicatedId}_research_output_type_id`); duplicated.find('.research-output-type select').val(null); + duplicated.find('.research-output-type select').trigger('change'); // Research Output order duplicated.find('.research-output-order').attr('id', `${duplicatedId}_order`); duplicated.find('.research-output-order').attr('name', `${duplicatedName}[order]`); @@ -49,9 +50,41 @@ const parentElement = selectElement.closest('.research-output-element'); const otherTypeElement = parentElement.find('.research-output-other-type'); if (selectElement.find('option:selected').data('other')) { + console.log('ici'); otherTypeElement.show(); } else { + console.log('ici'); otherTypeElement.hide(); } }); + + $('#research-outputs').on('click', ' .research-output-actions .edit', (e) => { + 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(); + }); + + editElement.hide(); + cancelElement.show(); + }); + + $('#research-outputs').on('click', ' .research-output-actions .cancel', (e) => { + 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(); + }); + + 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 9b0a87b..356e217 100644 --- a/app/views/branded/plans/_research_output_fields.html.erb +++ b/app/views/branded/plans/_research_output_fields.html.erb @@ -1,16 +1,22 @@ <%# locals: { plan, research_output, research_output_types } %> <% other_type_displayed = research_output.research_output_type && research_output.research_output_type.is_other ? '' : 'display:none;' %> +<% display_inputs = research_output.is_default ? '' : "display:none;" %> +<% display_values = research_output.is_default ? "display:none;" : '' %>