mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
render_cell(value, column, table, database, datasette)
The render_cell plugin hook previously was only passed value. It is now passed (value, column, table, database, datasette).
This commit is contained in:
parent
9e1fca4b01
commit
2e836f72d9
10 changed files with 127 additions and 25 deletions
|
|
@ -36,5 +36,5 @@ def publish_subcommand(publish):
|
|||
|
||||
|
||||
@hookspec(firstresult=True)
|
||||
def render_cell(value):
|
||||
def render_cell(value, column, table, database, datasette):
|
||||
"Customize rendering of HTML table cell values"
|
||||
|
|
|
|||
|
|
@ -54,6 +54,10 @@ class Results:
|
|||
self.truncated = truncated
|
||||
self.description = description
|
||||
|
||||
@property
|
||||
def columns(self):
|
||||
return [d[0] for d in self.description]
|
||||
|
||||
def __iter__(self):
|
||||
return iter(self.rows)
|
||||
|
||||
|
|
|
|||
|
|
@ -501,10 +501,16 @@ class BaseView(RenderMixin):
|
|||
display_rows = []
|
||||
for row in results.rows:
|
||||
display_row = []
|
||||
for value in row:
|
||||
for column, value in zip(results.columns, row):
|
||||
display_value = value
|
||||
# Let the plugins have a go
|
||||
plugin_value = pm.hook.render_cell(value=value)
|
||||
plugin_value = pm.hook.render_cell(
|
||||
value=value,
|
||||
column=column,
|
||||
table=None,
|
||||
database=name,
|
||||
datasette=self.ds,
|
||||
)
|
||||
if plugin_value is not None:
|
||||
display_value = plugin_value
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -167,7 +167,13 @@ class RowTableShared(BaseView):
|
|||
continue
|
||||
|
||||
# First let the plugins have a go
|
||||
plugin_display_value = pm.hook.render_cell(value=value)
|
||||
plugin_display_value = pm.hook.render_cell(
|
||||
value=value,
|
||||
column=column,
|
||||
table=table,
|
||||
database=database,
|
||||
datasette=self.ds,
|
||||
)
|
||||
if plugin_display_value is not None:
|
||||
display_value = plugin_display_value
|
||||
elif isinstance(value, dict):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue