You are here

views-view-flipped-table.html.twig in Views Flipped Table 8

Template to display a view as a table with rows and columns flipped.

See also

template_preprocess_views_flipped_table()

File

templates/views-view-flipped-table.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Template to display a view as a table with rows and columns flipped.
  5. *
  6. * @see template_preprocess_views_flipped_table()
  7. *
  8. * @ingroup themeable
  9. */
  10. #}
  11. {%
  12. set classes = [
  13. 'cols-' ~ flipped_header|length,
  14. responsive ? 'responsive-enabled',
  15. sticky ? 'sticky-enabled',
  16. ]
  17. %}
  18. <table{{ attributes.addClass(classes) }}>
  19. {% if caption_needed %}
  20. <caption>
  21. {% if caption %}
  22. {{ caption }}
  23. {% else %}
  24. {{ title }}
  25. {% endif %}
  26. {% if (summary is not empty) or (description is not empty) %}
  27. <details>
  28. {% if summary is not empty %}
  29. <summary>{{ summary }}</summary>
  30. {% endif %}
  31. {% if description is not empty %}
  32. {{ description }}
  33. {% endif %}
  34. </details>
  35. {% endif %}
  36. </caption>
  37. {% endif %}
  38. {% if first_row_header %}
  39. <thead>
  40. <tr>
  41. {% if show_labels %}
  42. {% if header[flipped_header_field_name].default_classes %}
  43. {%
  44. set column_classes = [
  45. 'views-field',
  46. 'views-field-' ~ flipped_header_field_name,
  47. ]
  48. %}
  49. {% endif %}
  50. <th{{ header[flipped_header_field_name].attributes.addClass(column_classes).setAttribute('scope', 'row') }}>
  51. {{ header[flipped_header_field_name].content }}
  52. </th>
  53. {% endif %}
  54. {% for key, column in flipped_header %}
  55. {% if column.default_classes %}
  56. {%
  57. set column_classes = [
  58. 'views-field'
  59. ]
  60. %}
  61. {% for field in column.fields %}
  62. {% set column_classes = column_classes|merge(['views-field-' ~ field]) %}
  63. {% endfor %}
  64. {% endif %}
  65. <th{{ column.attributes.addClass(column_classes) }}>
  66. {%- if column.wrapper_element -%}
  67. <{{ column.wrapper_element }}>
  68. {%- if column.url -%}
  69. <a href="{{ column.url }}" title="{{ column.title }}">{{ column.content }}{{ column.sort_indicator }}</a>
  70. {%- else -%}
  71. {{ column.content }}{{ column.sort_indicator }}
  72. {%- endif -%}
  73. </{{ column.wrapper_element }}>
  74. {%- else -%}
  75. {%- if column.url -%}
  76. <a href="{{ column.url }}" title="{{ column.title }}">{{ column.content }}{{ column.sort_indicator }}</a>
  77. {%- else -%}
  78. {{- column.content }}{{ column.sort_indicator }}
  79. {%- endif -%}
  80. {%- endif -%}
  81. </th>
  82. {% endfor %}
  83. </tr>
  84. </thead>
  85. {% endif %}
  86. <tbody>
  87. {% for field_name, row in rows_flipped %}
  88. <tr>
  89. {% if header[field_name] and show_labels %}
  90. {% set header_column = header[field_name] %}
  91. {% if header_column.default_classes %}
  92. {%
  93. set column_classes = [
  94. 'views-field',
  95. 'views-field-' ~ field_name,
  96. ]
  97. %}
  98. {% endif %}
  99. <th{{ header_column.attributes.addClass(column_classes).setAttribute('scope', 'row') }}>
  100. {%- if header_column.wrapper_element -%}
  101. <{{ header_column.wrapper_element }}>
  102. {%- if header_column.url -%}
  103. <a href="{{ header_column.url }}" title="{{ header_column.title }}">{{ header_column.content }}{{ header_column.sort_indicator }}</a>
  104. {%- else -%}
  105. {{ header_column.content }}{{ header_column.sort_indicator }}
  106. {%- endif -%}
  107. </{{ header_column.wrapper_element }}>
  108. {%- else -%}
  109. {%- if header_column.url -%}
  110. <a href="{{ header_column.url }}" title="{{ header_column.title }}">{{ header_column.content }}{{ header_column.sort_indicator }}</a>
  111. {%- else -%}
  112. {{- header_column.content }}{{ header_column.sort_indicator }}
  113. {%- endif -%}
  114. {%- endif -%}
  115. </th>
  116. {% endif %}
  117. {% for index, item in row.columns %}
  118. {% if item.default_classes %}
  119. {%
  120. set column_classes = [
  121. 'views-field'
  122. ]
  123. %}
  124. {% for field in column.fields %}
  125. {% set column_classes = column_classes|merge(['views-field-' ~ field]) %}
  126. {% endfor %}
  127. {% endif %}
  128. <td{{ item.attributes.addClass(column_classes) }}>
  129. {% for content in item.content %}
  130. {{ content.field_output }}
  131. {% endfor %}
  132. </td>
  133. {% endfor %}
  134. </tr>
  135. {% endfor %}
  136. </tbody>
  137. </table>