56 lines
1.8 KiB
Twig
56 lines
1.8 KiB
Twig
{#
|
|
/**
|
|
* @file
|
|
* Default theme implementation for views to display rows in a responsive grid.
|
|
*
|
|
* Available variables:
|
|
* - attributes: HTML attributes for the wrapping element.
|
|
* - title: The title of this group of rows.
|
|
* - view: The view object.
|
|
* - rows: The rows contained in this view.
|
|
* - options: The view plugin style options.
|
|
* - alignment: a string set to either 'horizontal' or 'vertical'.
|
|
* - columns: A number representing the max number of columns.
|
|
* - cell_min_width: A number representing the minimum width of the grid cell.
|
|
* - grid_gutter: A number representing the space between the grid cells.
|
|
* - items: A list of grid items.
|
|
* - attributes: HTML attributes for each row or column.
|
|
* - content: A list of columns or rows. Each row or column contains:
|
|
* - attributes: HTML attributes for each row or column.
|
|
* - content: The row or column contents.
|
|
*
|
|
* @see template_preprocess_views_view_grid_responsive()
|
|
*
|
|
* @ingroup themeable
|
|
*/
|
|
#}
|
|
|
|
{{ attach_library('views/views.responsive-grid') }}
|
|
|
|
{%
|
|
set classes = [
|
|
'views-view-responsive-grid',
|
|
'views-view-responsive-grid--' ~ options.alignment,
|
|
]
|
|
%}
|
|
|
|
{% set responsive_grid_styles = [
|
|
'--views-responsive-grid--column-count:' ~ options.columns ~ ';',
|
|
'--views-responsive-grid--cell-min-width:' ~ options.cell_min_width ~ 'px;',
|
|
'--views-responsive-grid--layout-gap:' ~ options.grid_gutter ~ 'px;',
|
|
]
|
|
%}
|
|
|
|
{% if title %}
|
|
<h3>{{ title }}</h3>
|
|
{% endif %}
|
|
<div{{ attributes.addClass(classes).setAttribute('style', responsive_grid_styles|join()) }}>
|
|
{% for item in items %}
|
|
<div class="views-view-responsive-grid__item">
|
|
<div class="views-view-responsive-grid__item-inner">
|
|
{{- item.content -}}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|