float_element.py 651 B

123456789101112131415161718192021222324
  1. import justpy as jp
  2. from typing import Callable
  3. from .value_element import ValueElement
  4. class FloatElement(ValueElement):
  5. def __init__(self,
  6. view: jp.HTMLBaseComponent,
  7. *,
  8. value: float,
  9. format: str = None,
  10. on_change: Callable,
  11. ):
  12. self.format = format
  13. super().__init__(view, value=value, on_change=on_change)
  14. def value_to_view(self, value: float):
  15. if value is None:
  16. return None
  17. elif self.format is None:
  18. return str(value)
  19. else:
  20. return self.format % float(value)