Improvements to render_form.

This commit is contained in:
Yaro Kasear 2025-09-17 16:11:55 -05:00
parent 7f6cbf66fb
commit 25589a79d3
3 changed files with 316 additions and 91 deletions

View file

@ -1,16 +1,37 @@
<label for="{{ field_name }}">{{ field_label }}</label>
{% if field_type == 'select' %}
<select name="{{ field_name }}" {%- if not options %}disabled{% endif %}>
<select name="{{ field_name }}" id="{{ field_name }}"
{% if attrs %}{% for k,v in attrs.items() %} {{k}}-"{{v}}" {% endfor %}{% endif %}
{%- if not options %} disabled{% endif %}>
{% if options %}
<option value="">-- Select --</option>
{% for opt in options %}
<option value="{{ opt.value }}" {% if opt.value|string == value|string %}selected{% endif %}>{{ opt.label }}</option>
<option value="{{ opt.value }}" {% if opt.value|string == value|string %}selected{% endif %}>
{{ opt.label }}
</option>
{% endfor %}
{% else %}
<option value="">-- No selection available --</option>
{% endif %}
</select>
{% elif field_type == 'textarea' %}
<textarea name="{{ field_name }}" id="{{ field_name }}"
{% if attrs %}{% for k,v in attrs.items() %} {{k}}="{{v}}"{% endfor %}{% endif %}>{{ value }}</textarea>
{% elif field_type == 'checkbox' %}
<input type="checkbox" name="{{ field_name }}" id="{{ field_name }}"
value="1"
{% if value %}checked{% endif %}
{% if attrs %}{% for k,v in attrs.items() %} {{k}}="{{v}}"{% endfor %}{% endif %}>
{% else %}
<input type="text" name="{{ field_name }}" value="{{ value }}">
<input type="text" name="{{ field_name }}" id="{{ field_name }}"
value="{{ value }}"
{% if attrs %}{% for k,v in attrs.items() %} {{k}}="{{v}}"{% endfor %}{% endif %}>
{% endif %}
{% if help %}
<div>{{ help }}</div>
{% endif %}