mirror of
https://gitlab.com/veilid/veilid-dot-com.git
synced 2024-10-01 01:05:53 -04:00
54 lines
1.6 KiB
Twig
54 lines
1.6 KiB
Twig
{
|
|
{# data #}
|
|
"data": [
|
|
{% if items is defined %}
|
|
{% for item in items %}
|
|
{% include 'partials/data.json.twig' with {'item': item} only %}{% if not loop.last %},{% endif ~%}
|
|
{% endfor %}
|
|
{% else %}
|
|
{% include 'partials/data.json.twig' with {'item': page} only -%}
|
|
{% endif %}
|
|
]
|
|
{#- meta #}
|
|
{% block meta %}
|
|
{% if meta is not defined and page.paginator.pages is defined %}
|
|
{% set meta = {'totalPages': page.paginator.totalpages} %}
|
|
{% endif %}
|
|
{% if meta is defined %},
|
|
"meta": {
|
|
{% for key, value in meta %}
|
|
"{{ key }}": {{ value|json_encode() }}{% if not loop.last %},{% endif %}
|
|
{% endfor ~%}
|
|
}
|
|
{%- endif %}
|
|
{% endblock meta %}
|
|
{# links #}
|
|
{% block links %}
|
|
{% if links is not defined and page.paginator.pages is defined %}
|
|
{% set links = {
|
|
'self': url(page.paginator.links.self, {canonical: true, format: 'json'}),
|
|
'first': url(page.paginator.links.first, {canonical: true, format: 'json'}),
|
|
'last': url(page.paginator.links.last, {canonical: true, format: 'json'})
|
|
} %}
|
|
{% if page.paginator.links.prev is defined %}
|
|
{% set links = links|merge({'prev': url(page.paginator.links.prev, {canonical: true, format: 'json'})}) %}
|
|
{% endif %}
|
|
{% if page.paginator.links.next is defined %}
|
|
{% set links = links|merge({'next': url(page.paginator.links.next, {canonical: true, format: 'json'})}) %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if links is defined %},
|
|
"links": {
|
|
"self": "{{ links.self }}",
|
|
"first": "{{ links.first }}",
|
|
{% if links.prev is defined %}
|
|
"prev": "{{ links.prev }}",
|
|
{% endif %}
|
|
{% if links.next is defined %}
|
|
"next": "{{ links.next }}",
|
|
{% endif %}
|
|
"last": "{{ links.last }}"
|
|
}
|
|
{%- endif %}
|
|
{% endblock links ~%}
|
|
} |