Source code for highcharts_core.options.loading

from typing import Optional

from validator_collection import validators

from highcharts_core import constants
from highcharts_core.metaclasses import HighchartsMeta


[docs]class Loading(HighchartsMeta): """The loading options control the appearance of the loading screen that covers the plot area on chart operations. This screen only appears after an explicit call to ``chart.showLoading()`` in the browser. It is a utility for developers to communicate to the end user that something is going on, for example while retrieving new data via an XHR connection. .. hint:: The "Loading..." text itself is **not** part of this configuration object, but is instead part of the :meth:`.language <Options.language>` configuration. """ def __init__(self, **kwargs): self._hide_duration = None self._label_style = None self._show_duration = None self._style = None self.hide_duration = kwargs.get('hide_duration', None) self.label_style = kwargs.get('label_style', None) self.show_duration = kwargs.get('show_duration', None) self.style = kwargs.get('style', None) @property def _dot_path(self) -> Optional[str]: """The dot-notation path to the options key for the current class. :rtype: :class:`str <python:str>` or :obj:`None <python:None>` """ return 'loading' @property def hide_duration(self) -> Optional[int]: """The duration in milliseconds of the fade out effect. Defaults to ``100``. :rtype: :class:`int <python:int>` or :obj:`None <python:None>` """ return self._hide_duration @hide_duration.setter def hide_duration(self, value): self._hide_duration = validators.integer(value, allow_empty = True, minimum = 0) @property def label_style(self) -> Optional[str | dict]: """CSS styles applied to the loading label's ``<span>``. Defaults to ``'{"fontWeight": "bold", "position": "relative", "top": "45%"}'``. :rtype: :class:`str <python:str>` or :obj:`None <python:None>` """ return self._label_style @label_style.setter def label_style(self, value): try: self._style = validators.dict(value, allow_empty = True) except (ValueError, TypeError): self._style = validators.string(value, allow_empty = True, coerce_value = True) @property def show_duration(self) -> Optional[int]: """The duration in milliseconds of the fade in effect. Defaults to ``100``. :rtype: :class:`int <python:int>` or :obj:`None <python:None>` """ return self._show_duration @show_duration.setter def show_duration(self, value): self._show_duration = validators.integer(value, allow_empty = True, minimum = 0) @property def style(self) -> Optional[str | dict]: """CSS styles for the loading screen that covers the plot area. Defaults to ``'{"position": "absolute", "backgroundColor": "#ffffff", "opacity": 0.5, "textAlign": "center"}'``. :rtype: :class:`str <python:str>` or :obj:`None <python:None>` """ return self._style @style.setter def style(self, value): try: self._style = validators.dict(value, allow_empty = True) except (ValueError, TypeError): self._style = validators.string(value, allow_empty = True, coerce_value = True) @classmethod def _get_kwargs_from_dict(cls, as_dict): kwargs = { 'hide_duration': as_dict.get('hideDuration', None), 'label_style': as_dict.get('labelStyle', None), 'show_duration': as_dict.get('showDuration', None), 'style': as_dict.get('style', None), } return kwargs def _to_untrimmed_dict(self, in_cls = None) -> dict: untrimmed = { 'hideDuration': self.hide_duration, 'labelStyle': self.label_style, 'showDuration': self.show_duration, 'style': self.style } return untrimmed