add entities per page dropdown

This commit is contained in:
Manuel Gugger 2022-07-26 22:34:33 +02:00
parent 130a2b4098
commit 38792b0fb5
3 changed files with 107 additions and 73 deletions

View File

@ -1,25 +1,31 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
<form method="post"> <article>
{% for model_field in view_model.fields -%} <form method="post">
{% if model_field.select_list != "" %} {% for model_field in view_model.fields -%}
<select name="{{ model_field.field_name }}"> <label for="{{ model_field.field_name }}">
{% if model_field.is_option %} {{ model_field.field_name }}
<option value="" selected></option> {% if model_field.select_list != "" %}
{% else %} <select name="{{ model_field.field_name }}">
<option value="" selected disabled>Select</option> {% if model_field.is_option %}
{% endif %} <option value="" selected></option>
{% for select_list_item in select_lists[model_field.field_name] -%} {% else %}
<option value="{{ select_list_item[0] }}">{{ select_list_item[1] }}</option> <option value="" selected disabled>Select</option>
{% endif %}
{% for select_list_item in select_lists[model_field.field_name] -%}
<option value="{{ select_list_item[0] }}">{{ select_list_item[1] }}</option>
{%- endfor %}
</select>
{% else %}
<input type="{{ model_field.html_input_type }}" name="{{ model_field.field_name }}"
placeholder="{{ model_field.field_name }}" aria-label="{{ model_field.field_name }}">
<!-- required="" -->
{% endif %}
</label>
{%- endfor %} {%- endfor %}
</select> <button type="submit">Save</button>
{% else %} <a href="{{ list_link }}" role="button" class="secondary">Cancel</a>
<input type="{{ model_field.html_input_type }}" name="{{ model_field.field_name }}" </form>
placeholder="{{ model_field.field_name }}" aria-label="{{ model_field.field_name }}"><!-- required="" --> </article>
{% endif %}
{%- endfor %}
<button type="submit">Save</button>
<a href="{{ list_link }}" role="button" class="secondary">Cancel</a>
</form>
{% endblock content %} {% endblock content %}

View File

@ -1,24 +1,33 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
<form method="post"> <article>
<div> <form method="post">
{% for model_field in view_model.fields -%} <div>
{% if model_field.select_list != "" %} {% for model_field in view_model.fields -%}
<select name="{{ model_field.field_name }}"> <label for="{{ model_field.field_name }}">
{% if model_field.is_option %} {{ model_field.field_name }}
<option value=""></option> {% if model_field.select_list != "" %}
<select name="{{ model_field.field_name }}">
{% if model_field.is_option %}
<option value=""></option>
{% endif %}
{% for select_list_item in select_lists[model_field.field_name] -%}
<option {% if select_list_item[0]==model.values | get(key=model_field.field_name) %} selected {%
endif %} value="{{ select_list_item[0] }}">{{ select_list_item[1] }}</option>
{%- endfor %}
</select>
</label>
{% else %}
<input type="{{ model_field.html_input_type }}" value="{{ model.values | get(key=model_field.field_name) }}"
name="{{ model_field.field_name }}" placeholder="{{ model_field.field_name }}"
aria-label="{{ model_field.field_name }}"><!-- required="" -->
{% endif %} {% endif %}
{% for select_list_item in select_lists[model_field.field_name] -%} </label>
<option {% if select_list_item[0] == model.values | get(key=model_field.field_name) %} selected {% endif %} value="{{ select_list_item[0] }}">{{ select_list_item[1] }}</option>
{%- endfor %} {%- endfor %}
</select> <button type="submit">Save</button>
{% else %} <a href="{{ list_link }}" role="button" class="secondary">Cancel</a>
<input type="{{ model_field.html_input_type }}" value="{{ model.values | get(key=model_field.field_name) }}" name="{{ model_field.field_name }}" placeholder="{{ model_field.field_name }}" aria-label="{{ model_field.field_name }}"><!-- required="" --> </div>
{% endif %} </form>
{%- endfor %} </article>
<button type="submit">Save</button>
<a href="{{ list_link }}" role="button" class="secondary">Cancel</a>
</div>
</form>
{% endblock content %} {% endblock content %}

View File

@ -1,45 +1,64 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
<a href="create" role="button">&#43;</a>
<table role="grid"> <article>
<thead> <div class="grid">
<tr> <div>
<th>{{ view_model.primary_key }}</th> <a href="create" role="button">&#43;</a>
{% for model_field in view_model.fields -%} </div>
<th>{{ model_field.field_name }}</th> </div>
<table role="grid">
<thead>
<tr>
<th>{{ view_model.primary_key }}</th>
{% for model_field in view_model.fields -%}
<th>{{ model_field.field_name }}</th>
{%- endfor %}
<th>
<!-- Edit Action -->
<!-- Delete Action -->
</th>
</tr>
</thead>
<tbody hx-confirm="Are you sure?" hx-target="closest tr" hx-swap="outerHTML">
{% for entity in entities -%}
<tr>
<td>{{ entity.primary_key }}</td>
{% for model_field in view_model.fields -%}
<td>{{ entity.values | get(key=model_field.field_name) }}</td>
{%- endfor %}
<td>
<a href="edit/{{ entity.primary_key }}">&#9998;</a>
<a href="#" hx-post="delete/{{ entity.primary_key }}">&#128465;</a>
</td>
</tr>
{%- endfor %} {%- endfor %}
<th> </tbody>
<!-- Edit Action --> <tfoot>
<!-- Delete Action --> <tr>
</th> <td colspan="{{ view_model.fields | length + 2 }}">
</tr>
</thead>
<tbody hx-confirm="Are you sure?" hx-target="closest tr" hx-swap="outerHTML">
{% for entity in entities -%}
<tr>
<td>{{ entity.primary_key }}</td>
{% for model_field in view_model.fields -%}
<td>{{ entity.values | get(key=model_field.field_name) }}</td>
{%- endfor %}
<td>
<a href="edit/{{ entity.primary_key }}">&#9998;</a>
<a href="#" hx-post="delete/{{ entity.primary_key }}">&#128465;</a>
</td>
</tr>
{%- endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="{{ num_pages + 2 }}">
<div>
<a href="?page={{ page - 1 }}&entities_per_page={{ entities_per_page }}">&laquo;</a> <a href="?page={{ page - 1 }}&entities_per_page={{ entities_per_page }}">&laquo;</a>
{% for i in range(end=num_pages) %} {% for i in range(end=num_pages) %}
<a href="?page={{ i + 1 }}&entities_per_page={{ entities_per_page }}">{{ i + 1 }}</a> <a href="?page={{ i + 1 }}&entities_per_page={{ entities_per_page }}">{{ i + 1 }}</a>
{%- endfor %} {%- endfor %}
<a href="?page={{ page + 1 }}&entities_per_page={{ entities_per_page }}">&raquo;</a> <a href="?page={{ page + 1 }}&entities_per_page={{ entities_per_page }}">&raquo;</a>
</td> </td>
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<div class="grid">
<div>
<form>
<label for="entities_per_page">Entities per Page
<select name="entities_per_page" onchange="this.form.submit()">
{% for a in [10,20,50,100,] %}
<option {% if entities_per_page == a %}selected{% endif %} value="{{ a }}">{{ a }}</option>
{% endfor %}
</select>
</label>
</form>
</div>
</div>
</article>
{% endblock content %} {% endblock content %}