forked from fixin.me/fixin.me
Fix autofocus on dynamically inserted forms, remove this.blur() handlers
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>
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<td>
|
||||
<% if current_user.at_least(:active) %>
|
||||
<%= link_to readout.quantity, edit_measurement_path(readout),
|
||||
class: 'link', onclick: 'this.blur();', data: {turbo_stream: true} %>
|
||||
class: 'link', data: {turbo_stream: true} %>
|
||||
<% else %>
|
||||
<%= readout.quantity %>
|
||||
<% end %>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<% if current_user.at_least(:active) %>
|
||||
<%= link_to format("%.10g", readout.value),
|
||||
edit_measurement_path(readout, view: :wide),
|
||||
class: 'link', onclick: 'this.blur();',
|
||||
class: 'link',
|
||||
data: {turbo_stream: true} %>
|
||||
<% else %>
|
||||
<%= format("%.10g", readout.value) %>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="rightside-area buttongrid" data-controller="measurements-view">
|
||||
<% if current_user.at_least(:active) %>
|
||||
<%= image_link_to t('.new_measurement'), 'plus-outline', new_measurement_path,
|
||||
id: :new_measurement_link, onclick: 'this.blur();',
|
||||
id: :new_measurement_link,
|
||||
data: {turbo_stream: true} %>
|
||||
<% end %>
|
||||
<%= image_button_tag '', 'view-rows', name: nil, type: 'button',
|
||||
|
||||
Reference in New Issue
Block a user