Files
Iliyan Angelov c67067a2a4 Mail
2025-09-14 23:24:25 +03:00

30 lines
926 B
Python

from crispy_forms.bootstrap import Accordion
from crispy_forms.layout import Field
class FloatingField(Field):
template = "bootstrap5/layout/floating_field.html"
class BS5Accordion(Accordion):
"""
Bootstrap5 Accordion menu object. It wraps `AccordionGroup` objects in a
container. It also allows the usage of accordion-flush, introduced in bootstrap5::
BS5Accordion(
AccordionGroup("group name", "form_field_1", "form_field_2"),
AccordionGroup("another group name", "form_field"),
flush=True,
always_open=True
)
"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.flush = kwargs.pop("flush", False)
self.always_open = kwargs.pop("always_open", False)
if self.always_open:
for accordion_group in self.fields:
accordion_group.always_open = True