Extend custom FormBuilder to DRY in forms

Closes #8
Closes #45
This commit is contained in:
2025-01-01 16:26:58 +01:00
parent 3379794c6b
commit a6e3833fd0
3 changed files with 53 additions and 17 deletions

View File

@@ -1,26 +1,22 @@
<%= tabular_fields_for @unit do |form| %>
<%= tabular_fields_for @unit, form: form_tag do |form| %>
<%- tag.tr id: row, class: "form", onkeydown: "processKey(event)",
data: {link: link, form: form_tag, hidden_row: hidden_row} do %>
<td class="<%= class_names({subunit: @unit.base}) %>">
<%= form.text_field :symbol, form: form_tag, required: true, autofocus: true, size: 12,
maxlength: @unit.class.type_for_attribute(:symbol).limit, autocomplete: "off" %>
<%= form.text_field :symbol, required: true, autofocus: true, size: 12 %>
</td>
<td>
<%= form.text_area :description, form: form_tag, cols: 30, rows: 1, escape: false,
maxlength: @unit.class.type_for_attribute(:description).limit, autocomplete: "off" %>
<%= form.text_area :description, cols: 30, rows: 1, escape: false %>
</td>
<td>
<% unless @unit.base.nil? %>
<%= form.hidden_field :base_id, form: form_tag %>
<%= form.number_field :multiplier, form: form_tag, required: true,
size: 10, autocomplete: "off",
**number_attributes(@unit.class.type_for_attribute(:multiplier)) %>
<%= form.hidden_field :base_id %>
<%= form.number_field :multiplier, required: true, size: 10 %>
<% end %>
</td>
<td class="actions">
<%= form.button form: form_tag %>
<%= form.button %>
<%= image_link_to t(:cancel), "close-outline", units_path, class: 'dangerous',
name: :cancel, onclick: render_turbo_stream('form_close', {row: row}) %>
</td>