{# /** * @file * Theme override for a 'select' #type element. * * @see ./core/themes/stable/templates/form/select.html.twig */ #} {% if attributes.hasClass('error') %} {% set _invalid = true %} {% endif %} {% if attributes.multiple is not empty %} {% set _multiple = true %} {% set _multiple_placeholder = 'Select'|t %} {% set _multiple_search_text = 'Filter results'|t %} {% set _multiple_all_text = 'Select all'|t %} {% set _multiple_search_no_results_text = 'No results'|t %} {% set _multiple_clear_all_text = 'Clear all'|t %} {% set _multiple_close_text = 'Close'|t %} {% endif %} {% if disabled %} {% set _disabled = true %} {% endif %} {% set _options = [] %} {% for option in options %} {% set optgroup = [] %} {% if option.type == 'optgroup' %} {% set group_options = [] %} {% for sub_option in option.options %} {% set group_options = group_options|merge([{ value: sub_option.value, label: sub_option.label, selected: sub_option.selected|default(false), disabled: sub_option.disabled|default(false), }]) %} {% endfor %} {% set optgroup = optgroup|merge({ 'label': option.label, 'options': group_options, }) %} {% set _options = _options|merge([{ 'optgroup': optgroup, }]) %} {% elseif option.type == 'option' %} {% set _options = _options|merge([{ value: option.value, label: option.label, selected: option.selected|default(false), disabled: option.disabled|default(false), }]) %} {% endif %} {% endfor %} {% set _extra_attributes = [] %} {% for name,value in attributes %} {% set _extra_attributes = _extra_attributes|merge([{'name': name, 'value': value}]) %} {% endfor %} {% set selectImage = [ 'ewrc_survey_rate_your_overall_experience', 'ewrc_survey_simpler_access', 'ewrc_survey_clearer_forms', 'ewrc_survey_safer_data', 'ewrc_survey_more_interactive' ] %} {% if attributes.name|render in selectImage %} {% include 'themes/custom/ewrc_theme/templates/form/image-select.html.twig' %} {% else %} {% include 'themes/custom/ewrc_theme/components/twig-component-select/ecl-select.html.twig' with { id: attributes.id, name: attributes.name, extra_group_classes: 'ecl-u-mt-none', invalid: _invalid|default(false), disabled: _disabled|default(false), multiple: _multiple|default(false), options: _options|default([]), multiple_placeholder: _multiple_placeholder|default(''), multiple_search_text: _multiple_search_text|default(''), multiple_all_text: _multiple_all_text|default(''), multiple_clear_all_text: _multiple_clear_all_text|default(''), multiple_close_text: _multiple_close_text|default(''), extra_attributes: _extra_attributes, icon_path: ecl_icon_path, } %} {% endif %}