{% from "../../_charts/chart-card/view.njk" import dprChartCard %}
{% from "../scorecard-group/view.njk" import dprScoreCardGroup %}
{% from "../dashboard-list/view.njk" import dprDashboardList %}

{% macro dprDashboardVisualisation(visualisation, loopIndex) %}
  {% set type = visualisation.type %}
  {% set id = visualisation.id %}
  {% set title = visualisation.title %}
  {% set description = visualisation.description %}
  {% set data = visualisation.data %}
  {% set isEnabled = visualisation.isEnabled %}
  {% set visualisationLabelId = "visualisation-title-" + loopIndex %}

  <div
    class="dashboard-visualisation-container"
    id="{{ id }}-dash-section-visualisation"
    tabindex="0"
    aria-labelledby="{{ visualisationLabelId }}"
  >
    {% if title %}
      <h3 id="{{ visualisationLabelId }}" class="govuk-heading-m">{{ title }}</h3>
    {% endif %}

    {% if description %}
      <p class="govuk-body">{{ description | dpr.safe }}</p>
    {% endif %}

    {% if not isEnabled %}
      <p class="govuk-body">This visualisation type is not supported yet.</p>
    {% else %}
      {% if type === 'scorecard-group' %}

        {{ dprScoreCardGroup(id, data) }}
      {% elif type === 'list' %}

        {{ dprDashboardList(data) }}
      {% else %}

        {{ dprChartCard(id, data) }}
      {% endif %}
    {% endif %}
  </div>
{% endmacro %}
