upload_documentation.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from nicegui import ui
  2. from ..documentation_tools import text_demo
  3. def main_demo() -> None:
  4. ui.upload(on_upload=lambda e: ui.notify(f'Uploaded {e.name}')).classes('max-w-full')
  5. def more() -> None:
  6. @text_demo('Upload restrictions', '''
  7. In this demo, the upload is restricted to a maximum file size of 1 MB.
  8. When a file is rejected, a notification is shown.
  9. ''')
  10. def upload_restrictions() -> None:
  11. ui.upload(on_upload=lambda e: ui.notify(f'Uploaded {e.name}'),
  12. on_rejected=lambda: ui.notify('Rejected!'),
  13. max_file_size=1_000_000).classes('max-w-full')
  14. @text_demo('Show file content', '''
  15. In this demo, the uploaded markdown file is shown in a dialog.
  16. ''')
  17. def show_file_content() -> None:
  18. from nicegui import events
  19. with ui.dialog().props('full-width') as dialog:
  20. with ui.card():
  21. content = ui.markdown()
  22. def handle_upload(e: events.UploadEventArguments):
  23. text = e.content.read().decode('utf-8')
  24. content.set_content(text)
  25. dialog.open()
  26. ui.upload(on_upload=handle_upload).props('accept=.md').classes('max-w-full')