wijjit.tags.input.DataGridExtension

class wijjit.tags.input.DataGridExtension(environment)[source]

Jinja2 extension for {% datagrid %} tag.

Syntax:

{% datagrid id="my_grid" data=grid_data columns=["Name", "Age", "City"]
            width=60 height=15 %}
{% enddatagrid %}

{% datagrid id="inventory" data=items
            columns=[
                {"key": "name", "label": "Product", "width": 20},
                {"key": "qty", "label": "Qty", "width": 8},
                {"key": "price", "label": "Price", "width": 10}
            ]
            show_row_numbers=True %}
{% enddatagrid %}
Parameters:

environment (Environment)

__init__(environment)
Parameters:

environment (Environment)

Return type:

None

Methods

__init__(environment)

attr(name[, lineno])

Return an attribute node for the current extension.

bind(environment)

Create a copy of this extension bound to another environment.

call_method(name[, args, kwargs, dyn_args, ...])

Call a method of the extension.

filter_stream(stream)

It's passed a TokenStream that can be used to filter tokens returned.

parse(parser)

Parse the datagrid tag.

preprocess(source, name[, filename])

This method is called before the actual lexing and can be used to preprocess the source.

Attributes

identifier

priority

the priority of that extension.

tags

if this extension parses this is the list of tags it's listening to.

tags: t.Set[str] = {'datagrid'}

if this extension parses this is the list of tags it’s listening to.

parse(parser)[source]

Parse the datagrid tag.

Parameters:

parser (jinja2.parser.Parser) – Jinja2 parser

Returns:

Parsed node tree

Return type:

jinja2.nodes.CallBlock

identifier: t.ClassVar[str] = 'wijjit.tags.input.DataGridExtension'