view default/input/field.html @ 53:dfef430a26ef

input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
author Goffi <goffi@goffi.org>
date Fri, 27 Oct 2017 18:55:25 +0200
parents 87680eed9e25
children f76ec90e0e1e
line wrap: on
line source

{% macro choices(name, choices_list, checked=none) %}
    {% for choice, label in choices_list %}
        <div class="form_input">
            <input id="{{name|next_gidx}}" type="radio" name="{{name}}" value="{{choice}}"{{" checked" if checked==choice}}><label for="{{name|cur_gidx}}">{{label}}</label>
        </div>
    {% endfor %}
{% endmacro %}

{% macro int(name, label="", init=0) %}
    <span class="form_input">
        <label id="{{name|next_gidx}}">{{label}}</label><input id="{{name|cur_gidx}}" type="number" name="{{name}}" value="{{init}}" step="1" min="0">
    </span>
{% endmacro %}

{% macro text(name, label="", placeholder="", required=false) %}
    {# single line text field
       additional kwargs will be passed as attributes #}
    <span class="form_input">
        <label id="{{name|next_gidx}}">{{label}}</label><input id="{{name|cur_gidx}}" type="text" name="{{name}}" placeholder="{{placeholder}}" {{"required" if required}} {{kwargs|xmlattr}}>
    </span>
{% endmacro %}

{% macro password(name, label="", required=false) %}
    {# password field
       additional kwargs will be passed as attributes #}
    <span class="form_input">
        <label id="{{name|next_gidx}}">{{label}}</label><input id="{{name|cur_gidx}}" type="password" name="{{name}}" {{"required" if required}} {{kwargs|xmlattr}}>
    </span>
{% endmacro %}

{% macro email(name, label="", required=false) %}
    {# email field
       additional kwargs will be passed as attributes #}
    <span class="form_input">
        <label id="{{name|next_gidx}}">{{label}}</label><input id="{{name|cur_gidx}}" type="email" name="{{name}}" {{"required" if required}} {{kwargs|xmlattr}}>
    </span>
{% endmacro %}

{% macro textarea(name, rows=10, cols=50, placeholder='') %}
    <textarea name="{{name}}" rows="{{rows}}" cols="{{cols}}" placeholder="{{placeholder}}"></textarea>
{% endmacro %}

{% macro meta(name, value) %}
    <input type="hidden" name="{{name}}" value="{{value}}">
{% endmacro %}

{% macro submit(text=_("Send")) %}
    <input class="form_submit" type="submit" value="{{text}}">
{% endmacro %}