mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-14 23:44:56 -05:00
Adds ability to have inline radio buttons using the fieldset.inline functionality from gov.uk elements. Then implements this for the radio buttons for choosing postage class. Also overrides the gov uk elements styling for the inline radio buttons to place them slightly closer together as this looks better.
64 lines
2.1 KiB
HTML
64 lines
2.1 KiB
HTML
{% from "components/select-input.html" import select, select_list, select_nested, select_wrapper, select_input %}
|
|
|
|
{% macro radios(field, hint=None, disable=[], option_hints={}, hide_legend=False, inline=False) %}
|
|
{{ select(field, hint, disable, option_hints, hide_legend, input="radio", inline=inline) }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio_list(options, child_map, disable=[], option_hints={}) %}
|
|
{{ select_list(options, child_map, disable, option_hints, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radios_nested(field, child_map, hint=None, disable=[], option_hints={}, hide_legend=False) %}
|
|
{{ select_nested(field, child_map, hint, disable, option_hints, hide_legend, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio(option, disable=[], option_hints={}, data_target=None, as_list_item=False) %}
|
|
{{ select_input(option, disable, option_hints, data_target, as_list_item, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio_select(
|
|
field,
|
|
hint=None,
|
|
wrapping_class='form-group'
|
|
) %}
|
|
<div class="{{ wrapping_class }} {% if field.errors %} form-group-error{% endif %}">
|
|
<fieldset>
|
|
<legend class="form-label">
|
|
{{ field.label.text }}
|
|
{% if field.errors %}
|
|
<span class="error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}">
|
|
{{ field.errors[0] }}
|
|
</span>
|
|
{% endif %}
|
|
</legend>
|
|
<div class="radio-select" data-module="radio-select" data-categories="{{ field.categories|join(',') }}">
|
|
<div class="radio-select-column">
|
|
{% for option in field %}
|
|
<div class="multiple-choice">
|
|
{{ option }}
|
|
<label for="{{ option.id }}">
|
|
{{ option.label.text }}
|
|
</label>
|
|
</div>
|
|
{% if loop.first %}
|
|
</div>
|
|
<div class="radio-select-column">
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro conditional_radio_panel(id) %}
|
|
<div class="conditional-radios-panel js-hidden" id="{{ id }}">
|
|
{{ caller() }}
|
|
</div>
|
|
{% endmacro %}
|