104 lines
No EOL
4.7 KiB
HTML
104 lines
No EOL
4.7 KiB
HTML
<!-- FIELD: {{ field_name }} ({{ field_type }}) -->
|
|
{% if field_type != 'hidden' and field_label %}
|
|
<label for="{{ field_name }}" {% if label_attrs %}{% for k,v in label_attrs.items() %} {{k}}{% if v is not sameas true
|
|
%}="{{ v }}" {% endif %} {% endfor %}{% endif %}>
|
|
{% if link_href %}
|
|
<a href="{{ link_href }}" class="link-success link-underline link-underline-opacity-0 fw-semibold">
|
|
{% endif %}
|
|
{{ field_label }}
|
|
{% if link_href %}
|
|
</a>
|
|
{% endif %}
|
|
</label>
|
|
{% endif %}
|
|
|
|
{% if field_type == 'select' %}
|
|
{#
|
|
<select name="{{ field_name }}" id="{{ field_name }}" {% if attrs %}{% for k,v in attrs.items() %} {{k}}{% if v is not
|
|
sameas true %}="{{ v }}" {% endif %} {% 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>
|
|
{% endfor %}
|
|
{% else %}
|
|
<option value="">-- No selection available --</option>
|
|
{% endif %}
|
|
</select>
|
|
#}
|
|
{% if options %}
|
|
{% if value %}
|
|
{% set opts = options or [] %}
|
|
{% set selected = opts | selectattr('value', 'equalto', value) | list %}
|
|
{% if not selected %}
|
|
{# try again with string coercion to handle int vs str mismatch #}
|
|
{% set selected = opts | selectattr('value', 'equalto', value|string) | list %}
|
|
{% endif %}
|
|
{% set sel = selected[0] if selected else none %}
|
|
|
|
{% if sel %}
|
|
{% set sel_label = sel['label'] %}
|
|
{% elif value_label %}
|
|
{% set sel_label = value_label %}
|
|
{% else %}
|
|
{% set sel_label = "-- Select --" %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% set sel_label = "-- Select --" %}
|
|
{% endif %}
|
|
<button type="button" class="btn btn-outline-dark d-block w-100 text-start dropdown-toggle inventory-dropdown"
|
|
id="{{ field_name }}-button" data-bs-toggle="dropdown" data-value="{{ value }}">{{ sel_label }}</button>
|
|
<div class="dropdown-menu pt-0" id="{{ field_name }}-dropdown">
|
|
<input type="text" class="form-control mt-0 border-top-0 border-start-0 border-end-0 rounded-bottom-0"
|
|
id="{{ field_name }}-filter" placeholder="Filter..." oninput="DropDown.utilities.filterList('{{ field_name }}')">
|
|
{% for opt in options %}
|
|
<li><a class="dropdown-item{% if opt.value|string == value|string %} active{% endif %}"
|
|
data-value="{{ opt['value'] }}" onclick="DropDown.utilities.selectItem('{{ field_name }}', '{{ opt['value'] }}')"
|
|
id="{{ field_name }}-{{ opt['value'] }}">{{ opt['label'] }}</a></li>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<button class="btn btn-outline-dark d-block w-100 text-start dropdown-toggle disabled inventory-dropdown" disabled>-- No
|
|
selection available --</button>
|
|
{% endif %}
|
|
<input type="hidden" name="{{ field_name }}" id="{{ field_name }}" value="{{ value }}">
|
|
|
|
{% elif field_type == 'textarea' %}
|
|
<textarea name="{{ field_name }}" id="{{ field_name }}" {% if attrs %}{% for k,v in attrs.items() %} {{k}}{% if v is not
|
|
sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif %}>{{ value if value else "" }}</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}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif
|
|
%}>
|
|
|
|
{% elif field_type == 'hidden' %}
|
|
<input type="hidden" name="{{ field_name }}" id="{{ field_name }}" value="{{ value if value else "" }}">
|
|
|
|
{% elif field_type == 'display' %}
|
|
<div {% if attrs %}{% for k,v in attrs.items() %} {{k}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor
|
|
%}{% endif %}>{{ value_label if value_label else (value if value else "") }}</div>
|
|
|
|
{% elif field_type == "date" %}
|
|
<input type="date" name="{{ field_name }}" id="{{ field_name }}" value="{{ value if value else "" }}" {% if attrs %}{%
|
|
for k,v in attrs.items() %} {{k}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif %}>
|
|
|
|
{% elif field_type == "time" %}
|
|
<input type="time" name="{{ field_name }}" id="{{ field_name }}" value="{{ value if value else "" }}" {% if attrs %}{%
|
|
for k,v in attrs.items() %} {{k}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif %}>
|
|
|
|
{% elif field_type == "datetime" %}
|
|
<input type="datetime-local" name="{{ field_name }}" id="{{ field_name }}" value="{{ value if value else "" }}" {% if
|
|
attrs %}{% for k,v in attrs.items() %} {{k}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif
|
|
%}>
|
|
|
|
{% else %}
|
|
<input type="text" name="{{ field_name }}" id="{{ field_name }}" value="{{ value if value else "" }}" {% if attrs %}{%
|
|
for k,v in attrs.items() %} {{k}}{% if v is not sameas true %}="{{ v }}" {% endif %} {% endfor %}{% endif %}>
|
|
{% endif %}
|
|
|
|
{% if help %}
|
|
<div class="form-text">{{ help }}</div>
|
|
{% endif %} |