{% macro generate_table(table) -%} {% set cell_macros = { 'currency': render_currency, 'icon': render_icon, 'progress': render_progress, 'progress-stacked': render_progress_stacked, 'str': render_str, 'default': render_default, } %} {%- if table.head %} {%- for head in table.head %} {% if head.type == 'str' -%} {%- endif -%} {% endfor %} {%- endif %} {%- if table.rows %} {%- for row_type, row in table.rows %} {%- for cell in row -%} {{ cell.render(cell_macros) }} {%- endfor -%} {% endfor %} {% endif %}
1 %} colspan="{{ head.colspan }}"{% endif %}>{{ head.data }}
{%- endmacro %} {% macro generate_cell(cell) %} 1 %} colspan="{{cell.colspan}}" {%- endif -%} {%- if cell.qtip %} title="{{ cell.qtip }}" {%- endif -%} {%- if cell.classes %} class="{{ ' '.join(cell.classes) }}" {%- endif -%} > {{- caller() -}} {%- endmacro %} ## Cell macros ## currency cell {%- macro render_currency(cell) -%} {%- call generate_cell(cell) -%} {{ format_currency(cell.data, '', locale=session.lang) }} {%- endcall -%} {%- endmacro -%} ## icon cell {% macro render_icon(cell) -%} {%- call generate_cell(cell) -%} {%- endcall -%} {%- endmacro %} ## progress cell {% macro render_progress(cell) %} {%- call generate_cell(cell) %} {{ cell.data[1] }} {% endcall -%} {% endmacro %} ## progress-stacked cell {% macro render_progress_stacked(cell) %} {%- call generate_cell(cell) %} {% for width in cell.data[0] -%} {%- endfor %} {{ cell.data[1] }} {% endcall -%} {% endmacro %} ## str cell {%- macro render_str(cell) -%} {%- call generate_cell(cell) -%} {{ cell.data }} {%- endcall -%} {%- endmacro -%} ## default cell {%- macro render_default(cell) -%} {%- call generate_cell(cell) -%} {%- endcall -%} {%- endmacro -%}