{# /** * @file * Theme override 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. * - summary_element: A render array with table summary information (if any). * * @see template_preprocess_views_view_table() */ #} {% set classes = [ 'views-table', 'views-view-table', 'cols-' ~ header|length, responsive ? 'responsive-enabled', sticky ? 'position-sticky', ] %} {% if caption_needed %} {% if caption %} {{ caption }} {% else %} {{ title }} {% endif %} {% if (summary_element is not empty) %} {{ summary_element }} {% endif %} {% endif %} {% if header %} {% for key, column in header %} {% if column.default_classes %} {% set column_classes = [ 'views-field', 'views-field-' ~ fields[key], ] %} {% endif %} {%- if column.wrapper_element -%} <{{ column.wrapper_element }}> {%- if column.url -%} {{ column.content }}{{ column.sort_indicator }} {%- else -%} {{ column.content }}{{ column.sort_indicator }} {%- endif -%} {%- else -%} {%- if column.url -%} {{ column.content }}{{ column.sort_indicator }} {%- else -%} {{- column.content }}{{ column.sort_indicator }} {%- endif -%} {%- endif -%} {% endfor %} {% endif %} {% for row in rows %} {% 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 %} {%- if column.wrapper_element -%} <{{ column.wrapper_element }}> {% for content in column.content %} {{ content.separator }}{{ content.field_output }} {% endfor %} {%- else -%} {% for content in column.content %} {{- content.separator }}{{ content.field_output -}} {% endfor %} {%- endif %} {% endfor %} {% endfor %}