code: widget implementation, almost there

This commit is contained in:
2024-02-02 21:48:41 +01:00
parent e8ddfb25fa
commit 6e0a71b7de
18 changed files with 482 additions and 127 deletions
+9 -15
View File
@@ -1,26 +1,20 @@
{% extends base|none("admin/base.jinja") %}
{% macro input(name, value="", type="text") -%}
<input type="{{ type }}" name="{{ name }}" value="{{ value }}" placeholder="">
{%- endmacro %}
{% block content %}
{% from "/admin/items/items.jinja" import field_widget %}
<div class="ui container">
<h1>Create {{item_model.name}} in {{item_info.name}}</h1>
<form action="{{item_model.add_url}}" method="POST" class="ui form">
<!--noformat-->
{% set fields = item_info.fields %}
{% for field in fields %}
{% if item %}
{% set field_value = item.fields[field]|none("") %}
{% else %}
{% set field_value = "" %}
{% endif %}
<div class="inline field">
<label>{{field|capitalize}}</label>
{{ input(field, field_value) }}
</div>
{% for field_name, field_defs in fields %}
{% if item %}
{% set field_value = item.fields[field_name]|none("") %}
{% else %}
{% set field_value = "" %}
{% endif %}
{{ field_widget(field_name, field_defs, field_value) }}
{% endfor %}
<button class="ui button" type="submit">Create</button>
</form>