diff --git a/app/javascript/controllers/form_controller.js b/app/javascript/controllers/form_controller.js index 2f92cf5..94a4a2e 100644 --- a/app/javascript/controllers/form_controller.js +++ b/app/javascript/controllers/form_controller.js @@ -1,6 +1,14 @@ import { Controller } from "@hotwired/stimulus" export default class extends Controller { + connect() { + const autofocusEl = this.element.querySelector('[autofocus]') + if (autofocusEl) { + document.activeElement?.blur() + autofocusEl.focus() + } + } + processKey(event) { switch (event.key) { case "Escape": diff --git a/app/views/measurements/_readout.html.erb b/app/views/measurements/_readout.html.erb index ab1c864..4220aa5 100644 --- a/app/views/measurements/_readout.html.erb +++ b/app/views/measurements/_readout.html.erb @@ -4,7 +4,7 @@ <% 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 %> diff --git a/app/views/measurements/_wide_table.html.erb b/app/views/measurements/_wide_table.html.erb index e9be2be..f3ca21d 100644 --- a/app/views/measurements/_wide_table.html.erb +++ b/app/views/measurements/_wide_table.html.erb @@ -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) %> diff --git a/app/views/measurements/index.html.erb b/app/views/measurements/index.html.erb index 7f24cf2..7acc8be 100644 --- a/app/views/measurements/index.html.erb +++ b/app/views/measurements/index.html.erb @@ -2,7 +2,7 @@
<% 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', diff --git a/app/views/quantities/_quantity.html.erb b/app/views/quantities/_quantity.html.erb index a21996c..f0aaedb 100644 --- a/app/views/quantities/_quantity.html.erb +++ b/app/views/quantities/_quantity.html.erb @@ -8,7 +8,7 @@ <%= link_to quantity, edit_quantity_path(quantity), class: 'link', - onclick: 'this.blur();', data: {turbo_stream: true} %> + data: {turbo_stream: true} %> <%= quantity.description %> <%= quantity.default_unit&.symbol %> @@ -16,7 +16,7 @@ <% if current_user.at_least(:active) %> <%= image_link_to t('.new_subquantity'), 'plus-outline', new_quantity_path(quantity), - id: dom_id(quantity, :new, :link), onclick: 'this.blur();', data: {turbo_stream: true} %> + id: dom_id(quantity, :new, :link), data: {turbo_stream: true} %> <%= image_button_to_if quantity.destroyable?, t('.destroy'), 'delete-outline', quantity_path(quantity), method: :delete %> diff --git a/app/views/quantities/index.html.erb b/app/views/quantities/index.html.erb index c52c6fe..80276b9 100644 --- a/app/views/quantities/index.html.erb +++ b/app/views/quantities/index.html.erb @@ -1,7 +1,7 @@
<% if current_user.at_least(:active) %> <%= image_link_to t('.new_quantity'), 'plus-outline', new_quantity_path, - id: dom_id(Quantity, :new, :link), onclick: 'this.blur();', + id: dom_id(Quantity, :new, :link), data: {turbo_stream: true} %> <% end %> <%#= image_link_to t('.import_quantities'), 'download-outline', default_quantities_path, diff --git a/app/views/units/_unit.html.erb b/app/views/units/_unit.html.erb index 1608d4d..12ac8c2 100644 --- a/app/views/units/_unit.html.erb +++ b/app/views/units/_unit.html.erb @@ -7,7 +7,7 @@ drag_drop_id_param_value: 'unit[base_id]'} do %> - <%= link_to unit, edit_unit_path(unit), class: 'link', onclick: 'this.blur();', + <%= link_to unit, edit_unit_path(unit), class: 'link', data: {turbo_stream: true} %> <%= unit.description %> @@ -17,7 +17,7 @@ <% unless unit.base_id? %> <%= image_link_to t('.new_subunit'), 'plus-outline', new_unit_path(unit), - id: dom_id(unit, :new, :link), onclick: 'this.blur();', data: {turbo_stream: true} %> + id: dom_id(unit, :new, :link), data: {turbo_stream: true} %> <% end %> <%= image_button_to_if unit.movable?, t('.destroy'), 'delete-outline', unit_path(unit), diff --git a/app/views/units/index.html.erb b/app/views/units/index.html.erb index 42652c3..30b91bf 100644 --- a/app/views/units/index.html.erb +++ b/app/views/units/index.html.erb @@ -1,7 +1,7 @@
<% if current_user.at_least(:active) %> <%= image_link_to t('.new_unit'), 'plus-outline', new_unit_path, - id: dom_id(Unit, :new, :link), onclick: 'this.blur();', data: {turbo_stream: true} %> + 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' %>