forked from fixin.me/fixin.me
form_controller.connect() now blurs the previously focused element and explicitly focuses the [autofocus] element when a form is inserted into the DOM (via Turbo Stream). Only runs when an [autofocus] element is present, so closing forms and other stream updates are unaffected. Remove all onclick='this.blur()' inline handlers from templates — they were a workaround for the same autofocus problem, now solved properly via the Stimulus lifecycle. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
<div class="rightside-area buttongrid">
|
|
<% if current_user.at_least(:active) %>
|
|
<%= image_link_to t('.new_unit'), 'plus-outline', new_unit_path,
|
|
id: dom_id(Unit, :new, :link), data: {turbo_stream: true} %>
|
|
<% end %>
|
|
<%= image_link_to t('.import_units'), 'download-outline', default_units_path,
|
|
class: 'tools-area' %>
|
|
</div>
|
|
|
|
<%# TODO: remove? form can be inserted directly, e.g. at the end of index %>
|
|
<%= tag.div id: :unit_form %>
|
|
|
|
<table class="main-area items-table">
|
|
<thead>
|
|
<tr>
|
|
<th><%= Unit.human_attribute_name(:symbol) %></th>
|
|
<th class="hexpand"><%= Unit.human_attribute_name(:description) %></th>
|
|
<th><%= Unit.human_attribute_name(:multiplier) %></th>
|
|
<% if current_user.at_least(:active) %>
|
|
<th><%= t :actions %></th>
|
|
<th></th>
|
|
<% end %>
|
|
</tr>
|
|
<%= tag.tr id: "unit_", hidden: true,
|
|
data: {controller: 'drag',
|
|
action: 'dragover->drag#over drop->drag#drop dragenter->drag#enter dragleave->drag#leave',
|
|
drag_drop_id_value: 'unit_',
|
|
drag_drop_id_param_value: 'unit[base_id]'} do %>
|
|
<th colspan="5"><%= t '.top_level_drop' %></th>
|
|
<% end %>
|
|
</thead>
|
|
<tbody id="units">
|
|
<%= render(@units) || render_no_items %>
|
|
</tbody>
|
|
</table>
|