{% import 'macros/form.html' as form %} {%- set options=[] -%} {%- set form_restrict_choices_to=field.get('form_restrict_choices_to') -%} {%- if not h.scheming_field_required(field) or field.get('form_include_blank_choice', false) -%} {%- do options.append({'value': '', 'text': ''}) -%} {%- endif -%} {%- for c in h.scheming_field_choices(field) -%} {%- if not form_restrict_choices_to or c.value in form_restrict_choices_to -%} {%- do options.append({ 'value': c.value|string, 'text': h.scheming_language_text(c.label) }) -%} {%- endif -%} {%- endfor -%} {%- if field.get('sorted_choices') -%} {%- set options = options|sort(case_sensitive=false, attribute='text') -%} {%- endif -%} {%- if data[field.field_name] -%} {%- set option_selected = data[field.field_name]|string -%} {%- else -%} {%- set option_selected = None -%} {%- endif -%} {% call form.select( field.field_name, id='field-' + field.field_name, label=h.scheming_language_text(field.label), options=options, selected=option_selected, error=errors[field.field_name], classes=['control-medium'], attrs=field.form_attrs if 'form_attrs' in field else { "data-module": "autocomplete" }, is_required=h.scheming_field_required(field) ) %} {%- snippet 'scheming/form_snippets/help_text.html', field=field -%} {% endcall %}