{% macro digitalmarketplaceQuestionBoolean(params) %} {%- from "govuk_frontend_jinja/components/radios/macro.html" import govukRadios -%} {%- from "digitalmarketplace_frontend_jinja/components/question-format-hint/macro.html" import digitalmarketplaceQuestionFormatHint -%} {% set name = params.question.id %} {% 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 %} {% set valueToQuestions = {} %} {% if params.question.followup %} {% for questionId in params.question.followup %} {% for value in params.question.followup[questionId] %} {% if value in valueToQuestions %} {% set _valueToQuestions = valueToQuestions.__setitem__(value, valueToQuestions[value] + " " + questionId) %} {% else %} {% set _valueToQuestions = valueToQuestions.__setitem__(value, questionId) %} {% endif %} {% endfor %} {% endfor %} {% endif %} {% set options = [ { "label": "Yes", "value": true }, { "label": "No", "value": false } ] %} {% set items = [] %} {% for option in options %} {% set item = { "text": option.label, 'value': option.value, "checked": option.value == params.data[name] if params.data } %} {% if valueToQuestions[option.value] %} {% set data_targets = [] %} {% for data_target in valueToQuestions[option.value].split(" ") %} {% if params.list_multi_question_index != undefined %} {% set _data_targets = data_targets.append("{}-{}".format(data_target, params.list_multi_question_index)) %} {% else %} {% set _data_targets = data_targets.append(data_target) %} {% endif %} {% endfor %} {% set _item = item.__setitem__('attributes', { 'data-target': " ".join(data_targets) }) %} {% endif %} {% set _items = items.append(item) %} {% endfor %} {% if params.errors and params.errors[name] %} {% set errorMessage = { "text": params.errors[name]["message"] } %} {% elif params.frameworkReusedFrom and params.data and not params.data[name] is undefined %} {% set errorMessage = { "text": "This answer is from your " + params.frameworkReusedFrom + " declaration", "visuallyHiddenText": "Notice" } %} {% set formGroupClasses = "dm-form-group--declaration-reuse" %} {% endif %} {{ govukRadios({ "name": name, "idPrefix": "input-" + name, "classes": "govuk-radios--inline", "fieldset": { "legend": { "html": questionText, "classes": "govuk-fieldset__legend--m" } }, "items": items, "formGroup": { "classes": formGroupClasses }, "hint": { "html": digitalmarketplaceQuestionFormatHint(params.question) } if params.question.hint or params.question.question_advice, "errorMessage": errorMessage if errorMessage }) }} {% endmacro %}