From c1f26e9bf043d6ad5221541396f359d083a33456 Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Thu, 26 Dec 2019 19:34:16 +0100 Subject: [PATCH] Updated create/edit/destroy to work in readouts view --- app/controllers/measurements_controller.rb | 17 ++++++++++++++--- app/views/measurements/_index.html.erb | 3 ++- app/views/measurements/_readouts.html.erb | 8 ++++---- app/views/measurements/create_readouts.js.erb | 4 ++++ app/views/measurements/destroy.js.erb | 2 +- app/views/measurements/edit.js.erb | 6 ++++-- app/views/measurements/readouts.js.erb | 3 +++ app/views/measurements/toggle_column.js.erb | 3 --- 8 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 app/views/measurements/create_readouts.js.erb create mode 100644 app/views/measurements/readouts.js.erb delete mode 100644 app/views/measurements/toggle_column.js.erb diff --git a/app/controllers/measurements_controller.rb b/app/controllers/measurements_controller.rb index ab3a76e..06e8575 100644 --- a/app/controllers/measurements_controller.rb +++ b/app/controllers/measurements_controller.rb @@ -22,7 +22,12 @@ class MeasurementsController < ApplicationController @measurement = @project.measurements.new(measurement_params) if @measurement.save flash[:notice] = 'Created new measurement' - prepare_measurements + if session[:m_filters][:scope].empty? + prepare_measurements + else + prepare_readouts + render :create_readouts + end else @measurement.readouts.new if @measurement.readouts.empty? render :new @@ -35,8 +40,13 @@ class MeasurementsController < ApplicationController def update if @measurement.update(measurement_params) flash[:notice] = 'Updated measurement' - prepare_measurements - render :index + if session[:m_filters][:scope].empty? + prepare_measurements + render :index + else + prepare_readouts + render :readouts + end else render :edit end @@ -65,6 +75,7 @@ class MeasurementsController < ApplicationController def toggle_column @measurement.column_view.toggle_column!(@quantity) prepare_readouts + render :readouts end private diff --git a/app/views/measurements/_index.html.erb b/app/views/measurements/_index.html.erb index f4487be..930a28d 100644 --- a/app/views/measurements/_index.html.erb +++ b/app/views/measurements/_index.html.erb @@ -11,7 +11,8 @@ <% @measurements.each do |m| %> <% next if m.new_record? %> - + <%= format_datetime(m) %>
diff --git a/app/views/measurements/_readouts.html.erb b/app/views/measurements/_readouts.html.erb index 12b9e7f..683aa1c 100644 --- a/app/views/measurements/_readouts.html.erb +++ b/app/views/measurements/_readouts.html.erb @@ -8,7 +8,7 @@ <%= l(:field_taken_at_date) %> <% @quantities.each do |q| %> -
+
<%= link_to '', toggle_column_measurement_path(@measurement, quantity_id: q.id), {class: "icon icon-close", method: :post, remote: true} %>
@@ -22,7 +22,7 @@ <% @measurements.each_with_index do |m, index| %> <% row_class = "measurement #{cycle('odd', 'even')}" %> - + <%= format_datetime(m) %> <% @requested_r[index].each do |*, value| %> @@ -37,8 +37,8 @@ else rows = 1 end %> - - <%= format_datetime(m) %> + + <%= format_datetime(m) %> <% @requested_r[index].each do |q_name, value| %> diff --git a/app/views/measurements/create_readouts.js.erb b/app/views/measurements/create_readouts.js.erb new file mode 100644 index 0000000..1ed5667 --- /dev/null +++ b/app/views/measurements/create_readouts.js.erb @@ -0,0 +1,4 @@ +$('div[id^=flash_]').remove(); +$('#content').prepend('<%= j render_flash_messages %>'); +$('#new-measurement').empty(); +$('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); diff --git a/app/views/measurements/destroy.js.erb b/app/views/measurements/destroy.js.erb index c82772a..d7f10fb 100644 --- a/app/views/measurements/destroy.js.erb +++ b/app/views/measurements/destroy.js.erb @@ -1,5 +1,5 @@ $('div[id^=flash_]').remove(); $('#content').prepend('<%= j render_flash_messages %>'); <% if @measurement.destroyed? %> - $('tr[id=measurement-<%= @measurement.id %>]').remove(); + $('tr[id=measurement-<%= @measurement.id %>]').nextUntil('tr.primary').addBack().remove(); <% end %> diff --git a/app/views/measurements/edit.js.erb b/app/views/measurements/edit.js.erb index 4a375bf..cfe4907 100644 --- a/app/views/measurements/edit.js.erb +++ b/app/views/measurements/edit.js.erb @@ -1,4 +1,6 @@ $('div[id^=flash_]').remove(); $('#content').prepend('<%= j render_flash_messages %>'); -$('tr[id=measurement-<%= @measurement.id %>]').nextUntil('tr.measurement').remove(); -$('tr[id=measurement-<%= @measurement.id %>]').after('
<%= j render partial: "measurements/edit_form" %>
'); +$('tr[id=measurement-<%= @measurement.id %>]').nextUntil('tr.primary', ':not(.measurement)') + .remove(); +$('tr[id=measurement-<%= @measurement.id %>]').nextAll('tr.primary').first() + .before('
<%= j render partial: "measurements/edit_form" %>
'); diff --git a/app/views/measurements/readouts.js.erb b/app/views/measurements/readouts.js.erb new file mode 100644 index 0000000..8a2cc7f --- /dev/null +++ b/app/views/measurements/readouts.js.erb @@ -0,0 +1,3 @@ +$('div[id^=flash_]').remove(); +$('#content').prepend('<%= j render_flash_messages %>'); +$('#readouts').html('<%= j render partial: 'measurements/readouts' %>'); diff --git a/app/views/measurements/toggle_column.js.erb b/app/views/measurements/toggle_column.js.erb deleted file mode 100644 index 5011ac6..0000000 --- a/app/views/measurements/toggle_column.js.erb +++ /dev/null @@ -1,3 +0,0 @@ -$('div[id^=flash_]').remove(); -$('#content').prepend('<%= escape_javascript(render_flash_messages) %>'); -$('#readouts').html('<%= escape_javascript(render partial: 'measurements/readouts') %>');