Tabler Datagrid#
- class Datagrid(*items: wildewidgets.widgets.datagrid.DatagridItem | tuple[str, str] | tuple[str, str, dict[str, Any]], **kwargs: Any)[source]#
Bases:
BlockImplements a Tabler Data grid It contains
DatagridItemobjects.Examples
Add
DatagridItemobjects to this in one of these ways:As constructor arguments:
>>> item1 = DatagridItem(title='foo', content='bar', url="https://example.com") >>> item2 = DatagridItem(title='baz', content='barney') >>> item3 = ['foo', 'bar'] >>> grid = Datagrid(item1, item2, item3)
By using
add_blockwith aDatagridItem:>>> grid = Datagrid(item1, item2, item3) >>> grid.add_block(DatagridItem(title='foo', content='bar'))
By using
add_item:>>> grid = Datagrid(item1, item2, item3) >>> grid.add_item('foo', 'bar')
- Parameters:
*items – a list of
datagrid-itemdefinitions or
:param *:py:class:DatagridItem objects.:
- add_item(title: str, content: str | wildewidgets.widgets.base.Block | list[str | wildewidgets.widgets.base.Block], url: str | None = None, **kwargs: Any) None[source]#
Add a
DatagridItemto our block contents, withdatagrid-titleoftitleand datagrid.Examples
Start with our grid:
>>> dg = DataGrid()
Add a simple key/value:
>>> dg.add_item('Version', '1.2.3')
Add a block as the value, and wrap it in a
wildewdigets.Link:>>> dg.add_item( 'Gravatar', Image(src=static('myapp/images/gravatar.png'), alt='MyGravatar'), url='https://www.google.com' )
Add a list of blocks as the value:
>>> dg.add_item( 'Contributors', [ ImageLink( src=static('myapp/images/fred-gravatar.png', alt='Fred' url='https://www.fred.com' ), ImageLink( src=static('myapp/images/barney-gravatar.png', alt='Barney' url='https://www.barney.com' ) ], css_class='d-flex flex-row' )
Note
To add a
DatagridItemdirectly, useadd_block.- Keyword Arguments:
title – the
datagrid-titleof thedatagrid-itemcontent – the
datagrid-contentof thedatagrid-itemurl – URL to use to turn content into a hyperlink
**kwargs – additional keyword arguments passed to the
DatagridItemconstructor
- class DatagridItem(*blocks: Any, title: str | None = None, url: str | None = None, **kwargs: Any)[source]#
Bases:
BlockImplements a Tabler datagrid-item It should be used with
Datagrid.Note
Unlike
wildewidgets.widgets.base.Block,DatagridItemrequires eithercontentsto be set, or the block contents to be provided as positional arguments.Examples
Create a
DatagridItemwith a title and content:from wildewidgets import DatagridItem, Datagrid item = DatagridItem( "This is the content of the item.", title="My Item", url="https://example.com" ) grid = Datagrid(item) # or grid = Datagrid() grid.add_item(item)
- Parameters:
*blocks – strings or
wildewidgets.widgets.base.Blockobjects to add to ourdatagrid-item. Ifcontentsis not set, these blocks will be used as the contents of thedatagrid-item.- Keyword Arguments:
title – the
datagrid-titleof thedatagrid-itemurl – URL to use to turn content into a hyperlink
- Raises:
ValueError – either the
titlewas empty, or no contents were providedImproperlyConfigured –
urlwas set, and there is more than one block incontents
- add_blocks() None[source]#
Add our content.
If
urlis set, and there is only one block incontents, wrap that block in awildewidgets.Link.- Raises:
ImproperlyConfigured –
urlwas set, and there is more than one block incontents