2015-08-17 17:00:26 -07:00
{ #
/**
* @file
* Default theme implementation for displaying a view as a table.
*
* Available variables:
* - attributes: Remaining HTML attributes for the element.
* - class: HTML classes that can be used to style contextually through CSS.
* - title : The title of this group of rows.
* - header: The table header columns.
* - attributes: Remaining HTML attributes for the element.
* - content: HTML classes to apply to each header cell, indexed by
* the header's key.
* - default_classes: A flag indicating whether default classes should be
* used.
* - caption_needed: Is the caption tag needed.
* - caption: The caption for this table.
* - accessibility_description: Extended description for the table details.
* - accessibility_summary: Summary for the table details.
* - rows: Table row items. Rows are keyed by row number.
* - attributes: HTML classes to apply to each row.
* - columns: Row column items. Columns are keyed by column number.
* - attributes: HTML classes to apply to each column.
* - content: The column content.
* - default_classes: A flag indicating whether default classes should be
* used.
* - responsive: A flag indicating whether table is responsive.
* - sticky: A flag indicating whether table header is sticky.
*
* @see template_preprocess_views_view_table()
*
* @ingroup themeable
*/
#}
{ %
set classes = [
'cols-' ~ header|length,
responsive ? 'responsive-enabled',
sticky ? 'sticky-enabled',
]
%}
<table {{ attributes .addClass ( classes ) }} >
{% if caption_needed %}
<caption>
{% if caption %}
{{ caption }}
{% else %}
{{ title }}
{% endif %}
{% if ( summary is not empty ) or ( description is not empty ) %}
<details>
{% if summary is not empty %}
<summary> {{ summary }} </summary>
{% endif %}
{% if description is not empty %}
{{ description }}
{% endif %}
</details>
{% endif %}
</caption>
{% endif %}
{% if header %}
<thead>
<tr>
{% for key , column in header %}
{% if column .default_classes %}
{ %
set column_classes = [
'views-field',
'views-field-' ~ fields[key],
]
%}
{% endif %}
<th {{ column .attributes .addClass ( column_classes ) .setAttribute ( 'scope' , 'col' ) }} >
2015-09-04 13:20:09 -07:00
{% - if column .wrapper_element -%}
< {{ column .wrapper_element }} >
{% - if column .url -%}
<a href=" {{ column .url }} " title=" {{ column .title }} "> {{ column .content }} {{ column .sort_indicator }} </a>
{% - else -%}
{{ column .content }} {{ column .sort_indicator }}
{% - endif -%}
</ {{ column .wrapper_element }} >
{% - else -%}
{% - if column .url -%}
<a href=" {{ column .url }} " title=" {{ column .title }} "> {{ column .content }} {{ column .sort_indicator }} </a>
{% - else -%}
{{ - column .content }} {{ column .sort_indicator }}
{% - endif -%}
{% - endif -%}
2015-08-17 17:00:26 -07:00
</th>
{% endfor %}
</tr>
</thead>
{% endif %}
<tbody>
{% for row in rows %}
<tr {{ row .attributes }} >
{% for key , column in row .columns %}
{% if column .default_classes %}
{ %
set column_classes = [
'views-field'
]
%}
{% for field in column .fields %}
{% set column_classes = column_classes | merge ( [ 'views-field-' ~ field ] ) %}
{% endfor %}
{% endif %}
<td {{ column .attributes .addClass ( column_classes ) }} >
2015-09-04 13:20:09 -07:00
{% - if column .wrapper_element -%}
< {{ column .wrapper_element }} >
{% for content in column .content %}
{{ content .separator }} {{ content .field_output }}
{% endfor %}
</ {{ column .wrapper_element }} >
{% - else -%}
{% for content in column .content %}
{{ - content .separator }} {{ content .field_output -}}
{% endfor %}
{% - endif %}
2015-08-17 17:00:26 -07:00
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>