3
0
Fork 0

fix: add render_percent() method for Grid

also shortcut for grid.set_renderer()
This commit is contained in:
Lance Edgar 2025-01-25 22:34:49 -06:00
parent a66312b667
commit 29d3183a88
2 changed files with 34 additions and 0 deletions

View file

@ -612,6 +612,7 @@ class Grid:
* ``'date'`` -> :meth:`render_date()`
* ``'datetime'`` -> :meth:`render_datetime()`
* ``'quantity'`` -> :meth:`render_quantity()`
* ``'percent'`` -> :meth:`render_percent()`
Renderer overrides are tracked via :attr:`renderers`.
"""
@ -622,6 +623,7 @@ class Grid:
'date': self.render_date,
'datetime': self.render_datetime,
'quantity': self.render_quantity,
'percent': self.render_percent,
}
if renderer in builtins:
@ -1884,6 +1886,20 @@ class Grid:
dt = getattr(obj, key)
return self.app.render_datetime(dt)
def render_percent(self, obj, key, value, **kwargs):
"""
Column renderer for percentage values.
This calls
:meth:`~wuttjamaican:wuttjamaican.app.AppHandler.render_percent()`
for the return value.
This is not used automatically but you can use it explicitly::
grid.set_renderer('foo', 'percent')
"""
return self.app.render_percent(value, **kwargs)
def render_quantity(self, obj, key, value):
"""
Column renderer for quantity values.