{% macro digitalmarketplaceQuestionSelect(params) %} {%- from "govuk_frontend_jinja/components/select/macro.html" import govukSelect -%} {%- from "digitalmarketplace_frontend_jinja/components/question-format-hint/macro.html" import digitalmarketplaceQuestionFormatHint -%} {% set name = params.question.id %} {% set items = [] %} {% set default_option = params.question.default_option | default({})%} {% set questionText = params.question.question + " ({})".format(params.question.optional_text if params.question.optional_text else "optional") if params.question.optional else params.question.question %} {% if params.errors and params.errors[name] %} {% set errorMessage = { "text": params.errors[name]["message"] } %} {% elif params.frameworkReusedFrom and params.data and params.data[name] %} {% set errorMessage = { "text": "This answer is from your " + params.frameworkReusedFrom + " declaration", "visuallyHiddenText": "Notice" } %} {% set formGroupClasses = "dm-form-group--declaration-reuse" %} {% endif %} {% set default_value = default_option.value if default_option.value else default_option.label | default("") %} {% set default_item = { "text": default_option.label, "value": default_value, "selected": default_value == params.data[name] if params.data } %} {% set _items = items.append(default_item) %} {% for option in params.question.options %} {% set value = option.value if option.value else option.label %} {% set _items = items.append({ "text": option.label, "value": value, "selected": value == params.data[name] if params.data }) %} {% endfor %} {{ govukSelect({ "name": name, "id": "input-" + name, "label": { "html": questionText, "classes": "govuk-label--m" }, "formGroup": { "classes": formGroupClasses }, "items": items, "hint": { "html": digitalmarketplaceQuestionFormatHint(params.question) } if params.question.hint or params.question.question_advice, "errorMessage": errorMessage if errorMessage }) }} {% endmacro %}