You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

52 lines
1.9 KiB

from typing import Any, Literal, Optional, Union
from .. import globals, outbox # pylint: disable=redefined-builtin
ARG_MAP = {
'close_button': 'closeBtn',
'multi_line': 'multiLine',
}
# pylint: disable=unused-argument
def notify(message: Any, *,
position: Literal[
'top-left',
'top-right',
'bottom-left',
'bottom-right',
'top',
'bottom',
'left',
'right',
'center',
] = 'bottom',
close_button: Union[bool, str] = False,
type: Optional[Literal[ # pylint: disable=redefined-builtin
'positive',
'negative',
'warning',
'info',
'ongoing',
]] = None,
color: Optional[str] = None,
multi_line: bool = False,
**kwargs: Any,
) -> None:
"""Notification
Displays a notification on the screen.
:param message: content of the notification
:param position: position on the screen ("top-left", "top-right", "bottom-left", "bottom-right", "top", "bottom", "left", "right" or "center", default: "bottom")
:param close_button: optional label of a button to dismiss the notification (default: `False`)
:param type: optional type ("positive", "negative", "warning", "info" or "ongoing")
:param color: optional color name
:param multi_line: enable multi-line notifications
Note: You can pass additional keyword arguments according to `Quasar's Notify API <https://quasar.dev/quasar-plugins/notify#notify-api>`_.
"""
options = {ARG_MAP.get(key, key): value for key, value in locals().items() if key != 'kwargs' and value is not None}
options['message'] = str(message)
options.update(kwargs)
outbox.enqueue_message('notify', options, globals.get_client().id)