{% macro digitalmarketplaceQuestionListMultiquestion(params) %} {%- from "govuk_frontend_jinja/components/fieldset/macro.html" import govukFieldset -%} {%- from "govuk_frontend_jinja/components/button/macro.html" import govukButton -%} {%- from "govuk_frontend_jinja/components/error-message/macro.html" import govukErrorMessage -%} {%- from "govuk_frontend_jinja/components/details/macro.html" import govukDetails -%} {%- from "digitalmarketplace_frontend_jinja/components/question/macro.html" import digitalmarketplaceQuestion -%} {%- from "digitalmarketplace_frontend_jinja/components/summary-content/macro.html" import digitalmarketplaceSummaryContent -%} {% set name = params.question.id %} {% if params.errors and params.errors[name] %} {% set errorMessage = { "text": params.errors[name]["message"] } %} {% endif %} {% if params.question.questions -%}
{% call govukFieldset({ "legend": { "text": params.question.question, "classes": 'govuk-fieldset__legend--m' }, "attributes": { 'data-module': "dm-question-list-multiquestion", 'data-max-number-of-items': params.question.number_of_items, 'data-server-side': ('server_side_options' in params) | string | lower } }) %} {% if params.question.question_advice %}
{{ params.question.question_advice | safe }}
{% endif %} {% if errorMessage %} {{ govukErrorMessage({ "id": "input-" + name + "-error", "text": errorMessage.text }) | trim | indent(2) }} {% endif %} {% if 'server_side_options' in params %}
{% for index in range(0, params.server_side_options.number_of_items_added)%} {% set multi_question = params.question.questions[index] %} {% if multi_question.questions -%}
{% call govukDetails({ "summaryText": multi_question.question }) %} {% for question in multi_question.questions %}

{{ question.name if question.name else question.question }}

{{ digitalmarketplaceSummaryContent({ "type": question.type, "value": params.data[question.id] }) }}
{% endfor %} {% endcall%}
{% if params.server_side_options.number_of_items_added > 1 %}
{{ govukButton({ "html": 'Remove item {}'.format(index + 1), "classes": 'govuk-button--secondary dm-list-multiquestion__item-remove', "href": url_for(params.server_side_options.remove_endpoint, item_number=index, **params.server_side_options.endpoint_values) })}}
{% endif %}
{%- endif %} {% endfor %}
{% if params.server_side_options.number_of_items_added < params.question.number_of_items %}
{{ govukButton({ "html": 'Add item ({} remaining)'.format(params.question.number_of_items - params.server_side_options.number_of_items_added), "classes": 'govuk-button--secondary dm-list-multiquestion__item-add', "href": url_for(params.server_side_options.add_endpoint, item_number=params.server_side_options.number_of_items_added, **params.server_side_options.endpoint_values) })}}
{% endif %} {% else %}
{% for multi_question in params.question.questions %} {% if multi_question.questions -%}
{% call govukFieldset({ "legend": { "text": multi_question.question, "classes": 'govuk-fieldset__legend--m' } }) %} {% if multi_question.question_advice %}
{{ multi_question.question_advice | safe }}
{% endif %}
{% for question in multi_question.questions %}
{{ digitalmarketplaceQuestion({ "type": question.type, "question": question, "data": params.data, "errors": params.errors, "frameworkReusedFrom": params.frameworkReusedFrom }) }}
{% endfor %}
{% endcall %}
{%- endif %} {% endfor %}
{{ govukButton({ "html": 'Remove item 0', "classes": 'govuk-button--secondary dm-list-multiquestion__item-remove govuk-visually-hidden', "type": 'button' })}}
{{ govukButton({ "html": 'Add item (0 remaining)', "classes": 'govuk-button--secondary dm-list-multiquestion__item-add govuk-visually-hidden', "type": 'button' })}}
{%- endif %} {% endcall %}
{%- endif %} {% endmacro %}