123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- from nicegui import ui
- from . import doc
- @doc.demo(ui.slide_item)
- def main_demo() -> None:
- with ui.list().props('bordered separator'):
- with ui.slide_item('Slide me left or right') as slide_item_1:
- slide_item_1.left('Left', color='green')
- slide_item_1.right('Right', color='red')
- with ui.slide_item('Slide me up or down') as slide_item_2:
- slide_item_2.top('Top', color='blue')
- slide_item_2.bottom('Bottom', color='purple')
- @doc.demo('More complex layout', '''
- You can fill the slide item and its action slots with custom UI elements.
- ''')
- def complex_demo():
- with ui.list().props('bordered'):
- with ui.slide_item() as slide_item:
- with ui.item():
- with ui.item_section().props('avatar'):
- ui.icon('person')
- with ui.item_section():
- ui.item_label('Alice A. Anderson')
- ui.item_label('CEO').props('caption')
- with slide_item.left(on_slide=lambda: ui.notify('Calling...')):
- with ui.item(on_click=slide_item.reset):
- with ui.item_section().props('avatar'):
- ui.icon('phone')
- ui.item_section('Call')
- with slide_item.right(on_slide=lambda: ui.notify('Texting...')):
- with ui.item(on_click=slide_item.reset):
- ui.item_section('Text')
- with ui.item_section().props('avatar'):
- ui.icon('message')
- @doc.demo('Slide handlers', '''
- An event handler can be triggered when a specific side is selected.
- ''')
- def slide_callbacks():
- with ui.list().props('bordered'):
- with ui.slide_item('Slide me', on_slide=lambda e: ui.notify(f'Slide: {e.side}')) as slide_item:
- slide_item.left('A', on_slide=lambda e: ui.notify(f'A ({e.side})'))
- slide_item.right('B', on_slide=lambda e: ui.notify(f'B ({e.side})'))
- @doc.demo('Resetting the slide item', '''
- After a slide action has occurred, the slide item can be reset back to its initial state using the ``reset`` method.
- ''')
- def slide_reset():
- with ui.list().props('bordered'):
- with ui.slide_item() as slide_item:
- ui.item('Slide me')
- with slide_item.left(color='blue'):
- ui.item('Left')
- with slide_item.right(color='purple'):
- ui.item('Right')
- ui.button('Reset', on_click=slide_item.reset)
- doc.reference(ui.slide_item)
|