Don't render index on Unit actions

This commit is contained in:
cryptogopher 2024-12-22 01:31:14 +01:00
parent d726e92445
commit 0659c1e1c1
6 changed files with 16 additions and 10 deletions

View File

@ -32,32 +32,29 @@ class UnitsController < ApplicationController
def update
if @unit.update(unit_params.except(:base_id))
flash.now[:notice] = t('.success', unit: @unit)
run_and_render :index
else
render :edit
end
end
# TODO: Avoid double table width change by first un-hiding table header,
# then displaying index, e.g. by re-displaying header in index
def rebase
permitted = params.require(:unit).permit(:base_id)
permitted.merge!(multiplier: 1) if permitted[:base_id].blank? && @unit.multiplier != 1
@previous_base = @unit.base
@unit.update!(permitted)
@before = @unit.successive
if @unit.multiplier_previously_changed?
flash.now[:notice] = t(".multiplier_reset", unit: @unit)
end
ensure
# TODO: Avoid double table width change by first un-hiding table header,
# then displaying index, e.g. by re-displaying header in index
run_and_render :index
end
def destroy
@unit.destroy!
flash.now[:notice] = t('.success', unit: @unit)
ensure
run_and_render :index
end
private

View File

@ -123,7 +123,7 @@ module ApplicationHelper
def render_no_items
tag.tr id: :no_items do
tag.td t('.no_items'), colspan: 10, class: 'hint'
tag.td t("#{controller_name}.no_items"), colspan: 10, class: 'hint'
end
end

View File

@ -0,0 +1,3 @@
<%= turbo_stream.replace @unit.base unless @unit.base.nil? %>
<%= turbo_stream.remove @unit %>
<%= turbo_stream.append(:units, render_no_items) if current_user.units.empty? %>

View File

@ -1 +1,4 @@
<% render_errors @unit %>
<%= turbo_stream.remove @unit %>
<%= turbo_stream.replace @previous_base unless @previous_base.nil? %>
<%= turbo_stream.replace @unit.base unless @unit.base.nil? || @previous_base == @unit.base %>
<%= @before.nil? ? turbo_stream.append(:units, @unit) : turbo_stream.before(@before, @unit) %>

View File

@ -0,0 +1,3 @@
<%= turbo_stream.close_form dom_id(@unit, :edit) %>
<%= turbo_stream.replace @unit.base unless @unit.base.nil? %>
<%= turbo_stream.replace @unit %>

View File

@ -56,13 +56,13 @@ en:
units: Units
users: Users
units:
no_items: There are no configured units. You can Add some or Import from defaults.
unit:
new_subunit: Subunit
delete_unit: Delete
index:
new_unit: Add unit
import_units: Import
no_items: There are no configured units. You can Add some or Import from defaults.
top_level_drop: Drop here to reposition into top-level unit
new:
none: none