menu_documentation.py 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. from nicegui import ui
  2. from ..documentation_tools import text_demo
  3. def main_demo() -> None:
  4. with ui.row().classes('w-full items-center'):
  5. result = ui.label().classes('mr-auto')
  6. with ui.button(icon='menu'):
  7. with ui.menu() as menu:
  8. ui.menu_item('Menu item 1', lambda: result.set_text('Selected item 1'))
  9. ui.menu_item('Menu item 2', lambda: result.set_text('Selected item 2'))
  10. ui.menu_item('Menu item 3 (keep open)',
  11. lambda: result.set_text('Selected item 3'), auto_close=False)
  12. ui.separator()
  13. ui.menu_item('Close', on_click=menu.close)
  14. def more() -> None:
  15. @text_demo('Custom Context Menu', '''
  16. Using [Quasar's `context-menu`](https://quasar.dev/vue-components/menu#context-menu) and `touch-position` props,
  17. you can create custom context menus.
  18. These open by right-clicking on the parent.
  19. ''')
  20. def custom_context_menu() -> None:
  21. with ui.image('https://picsum.photos/id/377/640/360'):
  22. with ui.menu().props('context-menu touch-position'):
  23. ui.menu_item('Flip horizontally')
  24. ui.menu_item('Flip vertically')
  25. ui.separator()
  26. ui.menu_item('Reset')