diff --git a/src/servala/frontend/forms/renderers.py b/src/servala/frontend/forms/renderers.py index f8cdb5d..90ce926 100644 --- a/src/servala/frontend/forms/renderers.py +++ b/src/servala/frontend/forms/renderers.py @@ -16,13 +16,20 @@ class VerticalFormRenderer(TemplatesSetting): form_template_name = "frontend/forms/form.html" field_template_name = "frontend/forms/vertical_field.html" + def get_class_names(self, input_type): + if input_type == "checkbox": + return "form-check-input" + return "form-control" + def render(self, template_name, context, request=None): if field := context.get("field"): - if field.field.widget.input_type == "checkbox": - class_name = "form-check-input" - else: - class_name = "form-control" field.build_widget_attrs = inject_class( - field.build_widget_attrs, class_name + field.build_widget_attrs, + self.get_class_names(field.field.widget.input_type), ) return super().render(template_name, context, request) + + +class InlineFormRenderer(VerticalFormRenderer): + form_template_name = "frontend/forms/form.html" + field_template_name = "frontend/forms/inline_field.html" diff --git a/src/servala/frontend/templates/frontend/base.html b/src/servala/frontend/templates/frontend/base.html index 62c6b33..87c8a1c 100644 --- a/src/servala/frontend/templates/frontend/base.html +++ b/src/servala/frontend/templates/frontend/base.html @@ -8,6 +8,7 @@ +