anti_scroll_hack.py 507 B

12345678910111213
  1. from nicegui import ui
  2. def setup() -> None:
  3. """Prevent the page from scrolling when closing a dialog."""
  4. # HACK (issue #1404)
  5. # pylint: disable=protected-access
  6. def _handle_value_change(sender, value, on_value_change=ui.dialog._handle_value_change) -> None:
  7. ui.query('html').classes(**{'add' if value else 'remove': 'has-dialog'})
  8. on_value_change(sender, value)
  9. # pylint: disable=method-assign
  10. ui.dialog._handle_value_change = _handle_value_change # type: ignore