diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index c4132b5..02d4998 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -57,16 +57,7 @@ :focus-visible { outline: none; } -/* NOTE: move to higher priority layer instead of using !important? */ -[disabled] { - border-color: var(--color-border-gray) !important; - color: var(--color-border-gray) !important; - /* NOTE: cannot set cursor with `pointer-events: none`; can be fixed by setting - * `cursor` on wrapping element. - cursor: not-allowed; */ - fill: var(--color-border-gray) !important; - pointer-events: none !important; -} + /* [hidden] submit elements cannot have `display` set as it makes them visible. */ [hidden] { display: none !important; @@ -584,17 +575,11 @@ form table select { display: flex; gap: 0.8em; } -.hflex.reverse { - flex-direction: row-reverse; -} .hflex.centered { justify-content: center; } -.hint { - color: var(--color-table-gray); - font-style: italic; - font-size: 0.9rem; - text-align: center; +.vexpand { + width: 100%; } .vflex { display: flex; diff --git a/app/controllers/readouts_controller.rb b/app/controllers/readouts_controller.rb index e47f271..01ec0fe 100644 --- a/app/controllers/readouts_controller.rb +++ b/app/controllers/readouts_controller.rb @@ -1,16 +1,23 @@ class ReadoutsController < ApplicationController - before_action :find_quantities, only: [:new] - before_action :find_quantity, only: [:discard] + before_action :find_quantity, only: [:new, :discard] before_action :find_prev_quantities, only: [:new, :discard] def new - @quantities -= @prev_quantities - # TODO: raise ParameterInvalid if new_quantities.empty? - @readouts = current_user.readouts.build(@quantities.map { |q| {quantity: q} }) + new_quantities = + case params[:button] + when 'children' + @quantity.subquantities + when 'subtree' + @quantity.progenies + else + [@quantity] + end + new_quantities -= @prev_quantities + @readouts = current_user.readouts.build(new_quantities.map { |q| {quantity: q} }) @user_units = current_user.units.ordered - quantities = @prev_quantities + @quantities + quantities = @prev_quantities + new_quantities @superquantity = current_user.quantities .common_ancestors(quantities.map(&:parent_id)).first end @@ -24,9 +31,6 @@ class ReadoutsController < ApplicationController private - def find_quantities - @quantities = current_user.quantities.find(params[:quantity]) - end def find_quantity @quantity = current_user.quantities.find_by!(id: params[:id]) diff --git a/app/views/measurements/_form.html.erb b/app/views/measurements/_form.html.erb index 8f1470a..976a614 100644 --- a/app/views/measurements/_form.html.erb +++ b/app/views/measurements/_form.html.erb @@ -1,28 +1,23 @@ -<%= tabular_form_with model: Measurement.new, id: :measurement_form, - class: 'topside-area vflex', html: {onkeydown: 'formProcessKey(event)'} do |form| %> -