Bases: Component
A value under its label, with an optional unit.
cg.ui.Stat("Sessions", 12)
cg.ui.Stat("Coverage", 0.8, unit="ratio")
Source code in capturegraph-lib/capturegraph/ui/stat.py
| class Stat(Component):
"""A ``value`` under its ``label``, with an optional ``unit``.
```python
cg.ui.Stat("Sessions", 12)
cg.ui.Stat("Coverage", 0.8, unit="ratio")
```
"""
label: str
value: float | str
unit: str | None = None
def html(self, render: Render) -> str:
"""The value large, its unit beside it, the label beneath."""
shown = f"{self.value:g}" if isinstance(self.value, float) else str(self.value)
parts = [text(shown)]
if self.unit is not None:
parts.append(element("span", {"class": "cg-stat-unit"}, text(self.unit)))
return element(
"div",
{"class": "cg-stat"},
element("span", {"class": "cg-stat-value"}, *parts),
element("span", {"class": "cg-stat-label"}, text(self.label)),
)
|
html(render)
The value large, its unit beside it, the label beneath.
Source code in capturegraph-lib/capturegraph/ui/stat.py
| def html(self, render: Render) -> str:
"""The value large, its unit beside it, the label beneath."""
shown = f"{self.value:g}" if isinstance(self.value, float) else str(self.value)
parts = [text(shown)]
if self.unit is not None:
parts.append(element("span", {"class": "cg-stat-unit"}, text(self.unit)))
return element(
"div",
{"class": "cg-stat"},
element("span", {"class": "cg-stat-value"}, *parts),
element("span", {"class": "cg-stat-label"}, text(self.label)),
)
|