1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from typing import Any, Callable, Optional
- from ..element import Element
- from ..events import ClickEventArguments, handle_event
- from .mixins.disableable_element import DisableableElement
- from .mixins.text_element import TextElement
- class List(Element):
- def __init__(self) -> None:
- """List
- A list element based on Quasar's `QList <https://quasar.dev/vue-components/list-and-list-items#qlist-api>`_ component.
- It provides a container for list items.
- """
- super().__init__('q-list')
- class ListItem(DisableableElement):
- def __init__(self, on_click: Optional[Callable[..., Any]] = None) -> None:
- """List Item
- Creates a list item based on Quasar's `QItem <https://quasar.dev/vue-components/list-and-list-items#qitem-api>`_ component.
- The item should be placed inside a list element.
- """
- super().__init__(tag='q-item')
- if on_click:
- self._props['clickable'] = True
- self.on('click', lambda e: handle_event(on_click, ClickEventArguments(sender=self, client=self.client)))
- class ListItemSection(Element):
- def __init__(self) -> None:
- """
- List Item Section
- Creates an item section based on Quasar's `QItemList <https://quasar.dev/vue-components/list-and-list-items#qitemsection-api>`_ component.
- The section should be placed inside a list item element.
- """
- super().__init__('q-item-section')
- class ListItemLabel(TextElement):
- def __init__(self, text: str = '') -> None:
- """
- List Item Label
- Creates an item label based on Quasar's `QItemLabel <https://quasar.dev/vue-components/list-and-list-items#qitemlabel-api>`_ component.
- :param text: text to be displayed (default: '')
- """
- super().__init__(tag='q-item-label', text=text)
|