diff --git a/CHANGELOG.md b/CHANGELOG.md index 6665fce9..029ea5ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## [0.0.1] - In development +- Remove `InlineFieldRenderer`. - Simplify size parameters, only accept "sm", "md", "lg". - Use `bootstrap_alert` in `bootstrap_messages`. - Document approach to form rendering in `docs/forms.rst`. diff --git a/src/django_bootstrap5/renderers.py b/src/django_bootstrap5/renderers.py index f3d2bb53..2c422acd 100644 --- a/src/django_bootstrap5/renderers.py +++ b/src/django_bootstrap5/renderers.py @@ -472,15 +472,10 @@ def get_label_class(self): return label_class def get_label(self): + """Return value for label.""" if self.show_label == "skip": return None - elif isinstance(self.widget, CheckboxInput): - label = None - else: - label = self.field.label - if self.layout == "horizontal" and not label: - return mark_safe(" ") - return label + return self.field.label def add_label(self, html): label = self.get_label() @@ -505,18 +500,19 @@ def get_form_group_class(self): def wrap_label_and_field(self, html): return render_form_group(html, self.get_form_group_class()) + def get_field_html(self): + """Return HTML for field.""" + self.add_widget_attrs() + field_html = self.field.as_widget(attrs=self.widget.attrs) + self.restore_widget_attrs() + return field_html + def _render(self): - # See if we're not excluded if self.field.name in self.exclude.replace(" ", "").split(","): return "" - # Hidden input requires no special treatment if self.field.is_hidden: return text_value(self.field) - # Render the widget - self.add_widget_attrs() - html = self.field.as_widget(attrs=self.widget.attrs) - self.restore_widget_attrs() - # Start post render + html = self.get_field_html() html = self.post_widget_render(html) html = self.append_to_checkbox_field(html) html = self.wrap_widget(html) @@ -526,25 +522,3 @@ def _render(self): html = self.add_label(html) html = self.wrap_label_and_field(html) return html - - -class InlineFieldRenderer(FieldRenderer): - """Inline field renderer.""" - - def add_error_attrs(self): - field_title = self.widget.attrs.get("title", "") - field_title += " " + " ".join([strip_tags(e) for e in self.field_errors]) - self.widget.attrs["title"] = field_title.strip() - - def add_widget_attrs(self): - super().add_widget_attrs() - self.add_error_attrs() - - def append_to_field(self, html): - return html - - def get_field_class(self): - return self.field_class - - def get_label_class(self): - return merge_css_classes(self.label_class, "sr-only")