You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
5.7 KiB
HTML
202 lines
5.7 KiB
HTML
{% macro form_begin(args) %}
|
|
{% set label = args.pop('label') %}
|
|
{% set columns = args.pop('columns') %}
|
|
{% set last_column = args.pop('last_column', true) %}
|
|
{% set required = args.pop('required', false) %}
|
|
{% set hotkeys = args.pop('hotkeys', none) %}
|
|
{% set row = args.pop('row', true) %}
|
|
{% set no_label = args.pop('no_label', false) %}
|
|
{% set label_wrap = args.pop('label_wrap', true) %}
|
|
{% if row %}
|
|
<div class="row">
|
|
{% endif %}
|
|
<div
|
|
class="{% if columns %}medium-{{ columns }} {% endif %}columns form__item{% if last_column %} end{% endif %}"
|
|
{% if hotkeys %}data-hotkey="{{ hotkeys }}"{% endif %}
|
|
>
|
|
{% if not no_label %}
|
|
<label>
|
|
{{ _(label) }}
|
|
{% if required %}
|
|
({{ _('required') }})
|
|
{% endif %}
|
|
{% if not label_wrap %}
|
|
</label>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% macro form_end(args) %}
|
|
{% set help_text = args.pop('help_text', none) %}
|
|
{% set row = args.pop('row', true) %}
|
|
{% set no_label = args.pop('no_label', false) %}
|
|
{% set label_wrap = args.pop('label_wrap', true) %}
|
|
{% if not no_label and label_wrap %}
|
|
</label>
|
|
{% endif %}
|
|
{% if help_text %}
|
|
<p class="help-text">{{ _(help_text)|safe }}</p>
|
|
{% endif %}
|
|
</div>
|
|
{% if row %}
|
|
</div>
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% macro form_attr(form_class, args) %}
|
|
{% set disabled = args.pop('disabled', false) %}
|
|
{% set required = args.pop('required', false) %}
|
|
{% set autofocus = args.pop('autofocus', false) %}
|
|
{% set date = args.pop('date', false) %}
|
|
{% set time = args.pop('time', false) %}
|
|
class="{{ form_class }}{% if extra_class %} {{ extra_class }}{% endif %}"
|
|
{% if disabled %}disabled{% endif %}
|
|
{% if required %}required{% endif %}
|
|
{% if autofocus %}autofocus data-autofocus{% endif %}
|
|
{% if date %}data-pick-date{% endif %}
|
|
{% if time %}data-pick-time{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% macro container_attr(container_class, args) %}
|
|
{% set extra_class = args.pop('extra_class', none) %}
|
|
class="{{ container_class }}{% if extra_class %} {{ extra_class }}{% endif %}"
|
|
{% endmacro %}
|
|
|
|
{% macro select(options, name='', value='', args) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('select-container', args) }}
|
|
>
|
|
<select
|
|
name="{{ name }}"
|
|
{{ form_attr('select', args) }}
|
|
>
|
|
{% for k, v in options %}
|
|
<option value="{{ k }}"{% if value == k %} selected{% endif %}>
|
|
{{ _(v) }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_select(columns=5, args) %}
|
|
{{ form_begin({columns:columns}|assign(args)) }}
|
|
{{ select({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns}|assign(args)) }}
|
|
{% endmacro %}
|
|
|
|
{% macro radio(options, name='', value='', args) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('radiobox-container', args) }}
|
|
>
|
|
{% for k, v in options %}
|
|
<label class="radiobox">
|
|
<input
|
|
value="{{ k }}"
|
|
type="radio"
|
|
name="{{ name }}"
|
|
{{ form_attr('radiobox__input', args) }}
|
|
{% if value == k %} checked{% endif %}
|
|
/> {{ _(v) }}
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_radio(columns=5, args) %}
|
|
{{ form_begin({columns:columns, label_wrap:false}|assign(args)) }}
|
|
{{ radio({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns, label_warp:false}|assign(args)) }}
|
|
{% endmacro %}
|
|
|
|
{% macro image_radio(options, name='', value='', image_class='', args) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('radiobox-container with-image', args) }}
|
|
>
|
|
{% for k, v in options %}
|
|
<label class="radiobox with-image">
|
|
<input
|
|
value="{{ k }}"
|
|
type="radio"
|
|
name="{{ name }}"
|
|
{{ form_attr('radiobox__input', args) }}
|
|
{% if value == k %} checked{% endif %}
|
|
/>
|
|
<div class="radiobox__image-container" data-tooltip="{{ _(v) }}">
|
|
<div class="radiobox__image {{ image_class.format(k) }}"></div>
|
|
</div>
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_image_radio(columns=8, args) %}
|
|
{{ form_begin({columns:columns, label_warp:false}|assign(args)) }}
|
|
{{ image_radio({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns, label_warp:false}|assign(args)) }}
|
|
{% endmacro %}
|
|
|
|
{% macro text(name='', value='', placeholder='', type='text', args) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('textbox-container', args) }}
|
|
>
|
|
<input
|
|
type="{{ type }}"
|
|
name="{{ name }}"
|
|
value="{{ value }}"
|
|
placeholder="{{ placeholder }}"
|
|
{{ form_attr('textbox', args) }}
|
|
>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_text(columns=5, args) %}
|
|
{{ form_begin({columns:columns}|assign(args)) }}
|
|
{{ text({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns}|assign(args)) }}
|
|
{% endmacro %}
|
|
|
|
{% macro textarea(name='', value='', placeholder='', args) %}
|
|
{% set markdown = args.pop('markdown', false) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('textarea-container', args) }}
|
|
>
|
|
<textarea
|
|
name="{{ name }}"
|
|
placeholder="{{ placeholder }}"
|
|
{% if markdown %}data-markdown{% endif %}
|
|
{{ form_attr('textbox', args) }}
|
|
>{{ value }}</textarea>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_textarea(columns=8) %}
|
|
{{ form_begin({columns:columns}|assign(args)) }}
|
|
{{ textarea({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns}|assign(args)) }}
|
|
{% endmacro %}
|
|
|
|
{% macro checkbox(label='', name='', value=false, args) %}
|
|
<div
|
|
name="form_item_{{ name }}"
|
|
{{ container_attr('checkbox-container', args) }}
|
|
>
|
|
<label class="checkbox">
|
|
<input type="checkbox" name="{{ name }}"{% if value %} checked{% endif %}
|
|
{{ form_attr('checkbox', args) }}
|
|
>{{ _(label) }}
|
|
</label>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro form_checkbox(columns=5, args) %}
|
|
{{ form_begin({columns:columns, no_label:true}|assign(args)) }}
|
|
{{ checkbox({columns:columns}|assign(args)) }}
|
|
{{ form_end({columns:columns, no_label:true}|assign(args)) }}
|
|
{% endmacro %}
|