Module: AdminSuite::UI::FieldRendererRegistry
- Defined in:
- lib/admin_suite/ui/field_renderer_registry.rb
Class Method Summary collapse
-
.default_handler ⇒ Object
Fallback for unregistered field types: a plain text input.
- .handlers ⇒ Object
- .register(type, &block) ⇒ Object
- .render(type, view:, f:, field:, resource:, field_class:) ⇒ Object
Class Method Details
.default_handler ⇒ Object
Fallback for unregistered field types: a plain text input. Keeps the registry total so callers never need a secondary rendering path.
17 18 19 20 21 22 |
# File 'lib/admin_suite/ui/field_renderer_registry.rb', line 17 def default_handler @default_handler ||= ->(_view, f, field, _resource, field_class) { f.text_field(field.name, class: field_class, placeholder: field.placeholder, readonly: field.readonly) } end |
.handlers ⇒ Object
7 8 9 |
# File 'lib/admin_suite/ui/field_renderer_registry.rb', line 7 def handlers @handlers ||= {} end |
.register(type, &block) ⇒ Object
11 12 13 |
# File 'lib/admin_suite/ui/field_renderer_registry.rb', line 11 def register(type, &block) handlers[type.to_sym] = block end |
.render(type, view:, f:, field:, resource:, field_class:) ⇒ Object
24 25 26 27 |
# File 'lib/admin_suite/ui/field_renderer_registry.rb', line 24 def render(type, view:, f:, field:, resource:, field_class:) handler = handlers[type.to_sym] || default_handler handler.call(view, f, field, resource, field_class) end |