Skip to content

Commit 6f00ab6

Browse files
Fix merged table rendering in Python env (#3739)
Co-authored-by: Precious Onyenaucheya <[email protected]>
1 parent 83a9a22 commit 6f00ab6

File tree

1 file changed

+4
-19
lines changed

1 file changed

+4
-19
lines changed

src/components/table/_macro.njk

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,6 @@
22
{% from "components/button/_macro.njk" import onsButton %}
33
{% from "components/icon/_macro.njk" import onsIcon %}
44
{% set variants = params.variants if params.variants %}
5-
{% set hasRowSpan = false %}
6-
{% for row in params.thList %}
7-
{% for th in row.ths %}
8-
{% if th.rowspan %}
9-
{% set hasRowSpan = true %}
10-
{% endif %}
11-
{% endfor %}
12-
{% endfor %}
13-
14-
{% for row in params.trs %}
15-
{% for td in row.tds %}
16-
{% if td.rowspan %}
17-
{% set hasRowSpan = true %}
18-
{% endif %}
19-
{% endfor %}
20-
{% endfor %}
215

226
<div class="ons-table-scrollable ons-table-scrollable--on">
237
<div
@@ -26,15 +10,16 @@
2610
role="region"
2711
aria-label="{{ params.caption }}. {{ params.ariaLabel | default('Scrollable table') }}"
2812
>
13+
{# Uses multiple loops to set the rowspan class so that it can work in both nunjucks and jinja2 environments due to the scoping rules of each language #}
2914
<table
3015
{% if params.id %}id="{{ params.id }}"{% endif %}
31-
class="ons-table{{ ' ' + params.tableClasses if params.tableClasses else '' }}{% if hasRowSpan %}{{ ' ' }}ons-table--has-rowspan{% endif %}{% if variants %}{% if variants is not string %}{% for variant in variants %}{{ ' ' }}ons-table--{{ variant }}{% endfor %}{% else %}{{ ' ' }}ons-table--{{ variants }}{% endif %}{% endif %}"
16+
class="ons-table{{ ' ' + params.tableClasses if params.tableClasses else '' }}{% for row in params.thList %}{% for th in row.ths %}{% if th.rowspan %}{{ ' ' }}ons-table--has-rowspan{% endif %}{% endfor %}{% endfor %}{% for row in params.trs %}{% for td in row.tds %}{% if td.rowspan %}{{ ' ' }}ons-table--has-rowspan{% endif %}{% endfor %}{% endfor %}{% if variants %}{% if variants is not string %}{% for variant in variants %}{{ ' ' }}ons-table--{{ variant }}{% endfor %}{% else %}{{ ' ' }}ons-table--{{ variants }}{% endif %}{% endif %}"
3217
{% if params.sortBy and 'sortable' in variants %}
3318
data-aria-sort="{{ params.sortBy }}" data-aria-asc="{{ params.ariaAsc }}" data-aria-desc="{{ params.ariaDesc }}"
3419
{% endif %}
3520
>
3621
{% if params.caption %}
37-
<caption class="ons-table__caption{{ " ons-u-vh" if params.hideCaption }}">
22+
<caption class="ons-table__caption{{ ' ons-u-vh' if params.hideCaption }}">
3823
{{ params.caption }}
3924
</caption>
4025
{% endif %}
@@ -43,7 +28,7 @@
4328
{% if params.thList %}
4429
{% set thGroups = params.thList %}
4530
{% else %}
46-
{% set thGroups = [ { ths: params.ths } ] %}
31+
{% set thGroups = [ { "ths": params.ths } ] %}
4732
{% endif %}
4833
{% for headerCols in thGroups %}
4934
<tr class="ons-table__row">

0 commit comments

Comments
 (0)