1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-10 07:55:21 +02:00

refactor: move number_field and date_field into metaprogramming block

This commit is contained in:
Guilherme Mena 2025-04-21 15:55:55 +00:00
parent e66fa0d534
commit 6f611a2769

View file

@ -1,6 +1,7 @@
class StyledFormBuilder < ActionView::Helpers::FormBuilder
# Fields that visually inherit from "text field"
class_attribute :text_field_helpers, default: field_helpers - [ :label, :check_box, :radio_button, :fields_for, :fields, :hidden_field, :file_field ]
class_attribute :text_field_helpers,
default: (field_helpers - [ :label, :check_box, :radio_button, :fields_for, :fields, :hidden_field, :file_field ]) + [ :number_field, :date_field ]
# Wraps "text" inputs with custom structure + base styles
text_field_helpers.each do |selector|
@ -63,29 +64,6 @@ class StyledFormBuilder < ActionView::Helpers::FormBuilder
super(value, merged_options)
end
def number_field(method, options = {})
base_classes = "form-field__input text-ellipsis text-subdued"
merged_options = options.merge(
class: [ base_classes, options[:class] ].compact.join(" ")
)
label = build_label(method, options)
field = super(method, merged_options)
build_styled_field(label, field, merged_options)
end
def date_field(method, options = {})
base_classes = "form-field__input text-ellipsis text-subdued"
merged_options = options.merge(
class: [ base_classes, options[:class] ].compact.join(" ")
)
label = build_label(method, options)
field = super(method, merged_options)
build_styled_field(label, field, merged_options)
end
private