<%= error_messages_for @measurement %>
<% if @measurement.routine.persisted? %> <%= render partial: 'measurement_routines/show_form', locals: {routine: @measurement.routine} %> <% else %> <%= render partial: 'measurement_routines/form', locals: {routine: @measurement.routine} %> <% end %>

<%= measurement_f.date_field :taken_at_date, required: true %> <%= measurement_f.time_field :taken_at_time, value: format_time(@measurement.taken_at), required: true, no_label: true %>

<%= measurement_f.collection_select :source_id, @project.sources, :id, :name, {required: false, include_blank: t('.null_source')} %>

<%= measurement_f.text_area :notes, cols: 40, rows: 1, style: "width: 95%;" %>

<%= measurement_f.fields_for :readouts, index: '', child_index: '' do |readout_f| %> <%# byebug %>

<%= readout_f.hidden_field :id %> <%= readout_f.hidden_field :_destroy %> <% required = readout_f.object == @measurement.readouts.first %> <%= readout_f.select :quantity_id, quantity_options(:measurement), {include_blank: true, required: required, label: (required ? :field_readouts : '')} %> <%= readout_f.number_field :value, {size: 8, step: :any, no_label: true} %> <%= readout_f.collection_select :unit_id, @project.units, :id, :shortname, {no_label: true} %> <%= link_to t(".button_delete_readout"), '#', class: 'icon icon-del', style: (@measurement.readouts.many? ? '' : 'display:none'), onclick: 'deleteReadout(event); return false;' %>

<% end %>

<%= link_to t(".button_new_readout"), '#', class: 'icon icon-add', onclick: 'newReadout(event); return false;' %>

<%= javascript_tag do %> function newReadout(event) { var form = $(event.target).closest('form'); var readout = form.find('p.readout:visible:last'); var new_readout = readout.clone().insertAfter(readout); new_readout.find('label:first').hide(); new_readout.find('input, select:first').val(''); form.find('p.readout:visible a.icon-del').show(); } function deleteReadout(event) { var form = $(event.target).closest('form'); var readout = $(event.target).closest('p.readout'); if (readout.find('input[id$=__id]').val()) { readout.hide(); readout.find('input[id$=__destroy]').val('1'); } else { readout.remove(); } form.find('p.readout:visible:first label:first').show(); if (form.find('p.readout:visible').length <= 1) { form.find('p.readout:visible a.icon-del').hide(); } } <% end %>