expansion.py 861 B

123456789101112131415161718192021222324252627
  1. from typing import Optional
  2. from .mixins.disableable_element import DisableableElement
  3. from .mixins.value_element import ValueElement
  4. class Expansion(ValueElement, DisableableElement):
  5. def __init__(self, text: Optional[str] = None, *, icon: Optional[str] = None, value: bool = False) -> None:
  6. '''Expansion Element
  7. Provides an expandable container.
  8. :param text: title text
  9. :param icon: optional icon (default: None)
  10. :param value: whether the expansion should be opened on creation (default: `False`)
  11. '''
  12. super().__init__(tag='q-expansion-item', value=value, on_value_change=None)
  13. if text is not None:
  14. self._props['label'] = text
  15. self._props['icon'] = icon
  16. def open(self) -> None:
  17. self.value = True
  18. def close(self) -> None:
  19. self.value = False