1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{% extends "base_admin.html" %}
{% block title %}{{ model.display_name }} · {{ design.project_name | default('RustIO') }}{% endblock %}
{% block admin_content %}
{# Page header — breadcrumb + title on the left, actions on the right.
The grid layout (.rio-page-header) keeps the actions vertically
centred regardless of breadcrumb-vs-no-breadcrumb height. #}
Home
/
{{ model.display_name }}
{{ model.display_name }}
{% if permissions.create %}
+ Add {{ model.singular_name | lower }}
{% endif %}
{# Toolbar — search input + summary count. Filter chips and bulk
actions land when the Rust side surfaces them; until then the
toolbar is the single search field plus a record-count caption. #}
{% if pagination is defined and pagination.total > 0 %}
Showing {{ pagination.from }}–{{ pagination.to }} of {{ pagination.total }}
{% else %}
{{ total | default(0) }} record{% if total != 1 %}s{% endif %}
{% endif %}
{% if rows | length == 0 %}
No {{ model.display_name | lower }} yet
Get started by creating your first {{ model.singular_name | lower }}. It only takes a moment.
{% if permissions.create %}
+ Add {{ model.singular_name | lower }}
{% endif %}
{% else %}
{% for col in columns %}
{{ col.label }}
{% endfor %}
{% if permissions.edit or permissions.delete %}
{% endif %}
{% for row in rows %}
{% for cell in row.cells %}
{{ cell | safe }}
{% endfor %}
{% if permissions.edit or permissions.delete %}
{% if permissions.edit %}
Edit
{% endif %}
{% if permissions.delete %}
Delete
{% endif %}
{% endif %}
{% endfor %}
{% if pagination is defined and pagination.pages > 1 %}
Showing {{ pagination.from }}–{{ pagination.to }} of {{ pagination.total }}
{% for page in pagination.links %}
{{ page.label }}
{% endfor %}
{% endif %}
{% endif %}
{% endblock %}