Report Examples Parent-child report

This is an example report using the parent-child template

Contents

    <div class="govuk-width-container">
      <div class="govuk-width-container report-list-container">
    
        <div class="dpr-reports-heading-container govuk-!-margin-top-5">
    
          <div class="dpr-report-header">
    
            <div class="dpr-report-heading__actions">
    
              <div class="report-actions" data-dpr-module='report-actions'>
                <div class="moj-button-menu"></div>
    
                <div class="dpr-display-none">
    
                </div>
              </div>
    
            </div>
    
            <div class="dpr-report-heading">
              <div class="dpr-report-heading__title">
                <span class="govuk-caption-l">A Test Report</span>
                <h1 class="govuk-heading-l">
                  Parent Child Template
                </h1>
              </div>
            </div>
    
            <div id="dpr-download-message" class="dpr-download-message--hidden govuk-!-margin-bottom-6" data-dpr-module='download-message'>
              <article class="moj-ticket-panel" aria-label="Sub navigation 1">
    
                <section class="moj-ticket-panel__content moj-ticket-panel__content--blue" aria-label="Section 1">
                  <h2 class="govuk-heading-m">To download this report</h2>
                  <p><a href="/download/test-report-1/variantId-26/tblId_1747313850286/feedback?reportUrl=/async/report/test-report-1/variantId-26/request/tblId_1747313850286/report" class="govuk-link govuk-link--no-visited-state">Fill out a form</a>, which will take about 1 minute to complete.</p>
                  <p>You can then download the report whenever you need it.</p>
                </section>
    
              </article>
    
            </div>
    
            <details class="govuk-details dpr-meta-data-details">
              <summary class="govuk-details__summary">
                <span class="govuk-details__summary-text">
                  Report details
                </span>
              </summary>
              <div class="govuk-details__text">
    
                <div class="dpr-request-details">
    
                  <table class="dpr-request-details__table">
                    <tbody>
    
                      <tr>
                        <td class="dpr-request-details__table-heading">
                          <p class="govuk-body-m dpr-request-details__table-heading_name">Name:</p>
                        </td>
                        <td>
                          <h1 class="govuk-heading-s govuk-!-margin-bottom-0">Parent Child Template</h1>
                        </td>
                      </tr>
    
                      <tr>
                        <td class="dpr-request-details__table-heading">
                          <p class="govuk-body-m dpr-request-details__table-heading_name">Product:</p>
                        </td>
                        <td>
                          <h1 class="govuk-heading-s govuk-!-margin-bottom-0">A Test Report</h1>
                        </td>
                      </tr>
    
                      <tr>
                        <td class="dpr-request-details__table-heading">
                          <p class="govuk-body-m dpr-request-details__table-heading_name">Description:</p>
                        </td>
                        <td>
                          <p class="govuk-body-m govuk-!-margin-bottom-0">A report with parent and child datasets</p>
                        </td>
                      </tr>
    
                      <tr>
                        <td class="dpr-request-details__table-heading">
                          <p class="govuk-body-m dpr-request-details__table-heading_name">Classification:</p>
                        </td>
                        <td>
                          <p class="govuk-body-m govuk-!-margin-bottom-0">OFFICIAL</p>
                        </td>
                      </tr>
    
                      <tr>
                        <td class="dpr-request-details__table-heading">
                          <p class="govuk-body-m dpr-request-details__table-heading_name">Requested at:</p>
                        </td>
                        <td>
                          <p class="govuk-body-m govuk-!-margin-bottom-0">15/05/2025, 13:57:32</p>
                        </td>
                      </tr>
    
                    </tbody>
                  </table>
                </div>
    
              </div>
            </details>
    
            <div class="dpr-report-details-print">
    
              <div class="dpr-request-details">
    
                <table class="dpr-request-details__table">
                  <tbody>
    
                    <tr>
                      <td class="dpr-request-details__table-heading">
                        <p class="govuk-body-m dpr-request-details__table-heading_name">Name:</p>
                      </td>
                      <td>
                        <h1 class="govuk-heading-s govuk-!-margin-bottom-0">Parent Child Template</h1>
                      </td>
                    </tr>
    
                    <tr>
                      <td class="dpr-request-details__table-heading">
                        <p class="govuk-body-m dpr-request-details__table-heading_name">Product:</p>
                      </td>
                      <td>
                        <h1 class="govuk-heading-s govuk-!-margin-bottom-0">A Test Report</h1>
                      </td>
                    </tr>
    
                    <tr>
                      <td class="dpr-request-details__table-heading">
                        <p class="govuk-body-m dpr-request-details__table-heading_name">Description:</p>
                      </td>
                      <td>
                        <p class="govuk-body-m govuk-!-margin-bottom-0">A report with parent and child datasets</p>
                      </td>
                    </tr>
    
                    <tr>
                      <td class="dpr-request-details__table-heading">
                        <p class="govuk-body-m dpr-request-details__table-heading_name">Classification:</p>
                      </td>
                      <td>
                        <p class="govuk-body-m govuk-!-margin-bottom-0">OFFICIAL</p>
                      </td>
                    </tr>
    
                    <tr>
                      <td class="dpr-request-details__table-heading">
                        <p class="govuk-body-m dpr-request-details__table-heading_name">Requested at:</p>
                      </td>
                      <td>
                        <p class="govuk-body-m govuk-!-margin-bottom-0">15/05/2025, 13:57:32</p>
                      </td>
                    </tr>
    
                  </tbody>
                </table>
              </div>
    
            </div>
    
            <div class="dpr-report-interactive-actions">
    
              <div class="dpr-columns-section-wrapper">
                <div class="dpr-columns-section-heading">
                  <p class="govuk-body"><strong>Columns</strong></p>
                </div>
    
                <div class="dpr-interactive-filters-accordion">
    
                  <div class="columns-section-button">
                    <details class="govuk-details">
                      <summary class="govuk-details__summary">
                        <span class="govuk-details__summary-text">
                          Show columns (2 of 2 shown)
                        </span>
                      </summary>
                      <div class="govuk-details__text">
    
                        <form data-dpr-module="columns" class="dpr-columns-form">
                          <div class="columns-container">
    
                            <div class="govuk-form-group govuk-!-margin-bottom-3">
    
                              <fieldset class="govuk-fieldset" aria-label="columns checkboxes">
    
                                <legend class="govuk-fieldset__legend govuk-label govuk-!-font-weight-bold">
    
                                  Select report columns
    
                                </legend>
    
                                <div class="govuk-checkboxes govuk-checkboxes--small" data-module="govuk-checkboxes">
    
                                  <div class="govuk-checkboxes__item">
                                    <input class="govuk-checkboxes__input" id="columns" name="columns" type="checkbox" value="section1" checked>
                                    <label class="govuk-label govuk-checkboxes__label" for="columns">
                                      First
                                    </label>
    
                                  </div>
    
                                  <div class="govuk-checkboxes__item">
                                    <input class="govuk-checkboxes__input" id="columns-2" name="columns" type="checkbox" value="field1" checked>
                                    <label class="govuk-label govuk-checkboxes__label" for="columns-2">
                                      Second
                                    </label>
    
                                  </div>
    
                                </div>
    
                              </fieldset>
    
                            </div>
    
                          </div>
    
                          <div class="govuk-button-group">
    
                            <button type="submit" class="govuk-button govuk-button govuk-!-margin-bottom-0 dpr-apply-columns-button" data-module="govuk-button">
                              Apply columns
                            </button>
    
                            <a class="govuk-link govuk-link--no-visited-state dpr-reset-columns-button" href="#">Reset columns</a>
                          </div>
                        </form>
    
                      </div>
                    </details>
    
                  </div>
                </div>
              </div>
    
            </div>
          </div>
    
        </div>
    
        <div class="report-template-container  ">
    
          <div class="dpr-report-totals">
            <p class="govuk-body"></p>
          </div>
    
          <div class='dpr-table-container dpr-table-container--parent-child'>
    
            <div id="table-container" class='dpr-table-container' data-dpr-module="data-table">
              <div class="dpr-overflow-gradient" id="dpr-overflow-gradient"></div>
              <div class="dpr-table-wrapper" id="dpr-table-wrapper">
                <table class="govuk-table" id="dpr-data-table" data-classification="" data-col-length="2">
    
                  <tbody class="govuk-table__body">
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__header">First</td>
    
                      <td class="govuk-table__cell govuk-table__header">Second</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">one</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">Parent row 1</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-child-report-cell" colspan="2">
                        <div class='dpr-child-report'>
                          <h3 class="govuk-heading-s">Child Report</h3>
                          <div class="dpr-child-report_table">
                            <table class='govuk-table'>
                              <thead class='govuk-table__head'>
                                <th scope='col' class='govuk-table__header'>Field2</th>
                                <th scope='col' class='govuk-table__header'>Field3</th>
                              </thead>
                              <tbody class='govuk-table__body'>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 1</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 1</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 1</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                              </tbody>
                            </table>
                          </div>
                        </div>
                      </td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__header">First</td>
    
                      <td class="govuk-table__cell govuk-table__header">Second</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">two</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">Parent row 2</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-child-report-cell" colspan="2">
                        <div class='dpr-child-report'>
                          <h3 class="govuk-heading-s">Child Report</h3>
                          <div class="dpr-child-report_table">
                            <table class='govuk-table'>
                              <thead class='govuk-table__head'>
                                <th scope='col' class='govuk-table__header'>Field2</th>
                                <th scope='col' class='govuk-table__header'>Field3</th>
                              </thead>
                              <tbody class='govuk-table__body'>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 2</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 2</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 2</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                              </tbody>
                            </table>
                          </div>
                        </div>
                      </td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__header">First</td>
    
                      <td class="govuk-table__cell govuk-table__header">Second</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">three</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-parent-cell">Parent row 3</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string dpr-child-report-cell" colspan="2">
                        <div class='dpr-child-report'>
                          <h3 class="govuk-heading-s">Child Report</h3>
                          <div class="dpr-child-report_table">
                            <table class='govuk-table'>
                              <thead class='govuk-table__head'>
                                <th scope='col' class='govuk-table__header'>Field2</th>
                                <th scope='col' class='govuk-table__header'>Field3</th>
                              </thead>
                              <tbody class='govuk-table__body'>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 3</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 3</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                                <tr class='govuk-table__row'>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 3</td>
                                  <td class='govuk-table__cell govuk-table__cell--string '>Other value</td>
                                </tr>
                              </tbody>
                            </table>
                          </div>
                        </div>
                      </td>
    
                    </tr>
    
                  </tbody>
                </table>
    
              </div>
            </div>
    
          </div>
    
          <div class='govuk-!-margin-bottom-6'>
    
            <div class="dpr-report-totals">
              <p class="govuk-body"></p>
            </div>
    
          </div>
    
        </div>
    
      </div>
    </div>
    

    
    {%- from "dpr/components/_reports/report-wrapper/view.njk" import dprReportWrapper -%}
    
    {% set data = {
      "columns": {
        "name": "columns",
        "options": [
          {
            "text": "First",
            "value": "section1",
            "disabled": false
          },
          {
            "text": "Second",
            "value": "field1",
            "disabled": false
          }
        ],
        "text": "Select report columns",
        "value": [
          "section1",
          "field1"
        ]
      },
      "filterData": {
        "filters": [],
        "selectedFilters": []
      },
      "count": 100,
      "csrfToken": "csrfToken",
      "classification": "OFFICIAL",
      "template": "parent-child",
      "loadType": "async",
      "type": "report",
      "actions": [
      ],
      "canDownload": false,
      "printable": true,
      "reportName": "A Test Report",
      "name": "Parent Child Template",
      "description": "A report with parent and child datasets",
      "requestedTimestamp": "15/05/2025, 13:57:32",
      "reportId": "test-report-1",
      "tableId": "tblId_1747313850286",
      "id": "variantId-26",
      "executionId": "exId_1747313850286",
      "querySummary": [],
      "requestUrl": {
        "fullUrl": "http://localhost:3010/async/report/test-report-1/variantId-26/request",
        "pathname": "/async/report/test-report-1/variantId-26/request",
        "search": ""
      },
      "reportUrl": "/async/report/test-report-1/variantId-26/request/tblId_1747313850286/report",
      "reportSearch": null,
      "search": null,
      "pathname": "/async/report/test-report-1/variantId-26/request/tblId_1747313850286/report",
      "dataTable": [{
        "head": null,
        "rows": [
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "one",
              "format": "string",
              "classes": "dpr-parent-cell"
            },
            {
              "fieldName": "field1",
              "text": "Parent row 1",
              "format": "string",
              "classes": "dpr-parent-cell"
            }
          ],
          [
            {
              "classes": "dpr-child-report-cell",
              "format": "string",
              "html": "<div class='dpr-child-report'><h3 class=\"govuk-heading-s\">Child Report</h3><div class=\"dpr-child-report_table\"><table class='govuk-table'><thead class='govuk-table__head'><th scope='col' class='govuk-table__header'>Field2</th><th scope='col' class='govuk-table__header'>Field3</th></thead><tbody class='govuk-table__body'><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 1</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 1</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 1</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr></tbody></table></div></div>",
              "colspan": 2
            }
          ],
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "two",
              "format": "string",
              "classes": "dpr-parent-cell"
            },
            {
              "fieldName": "field1",
              "text": "Parent row 2",
              "format": "string",
              "classes": "dpr-parent-cell"
            }
          ],
          [
            {
              "classes": "dpr-child-report-cell",
              "format": "string",
              "html": "<div class='dpr-child-report'><h3 class=\"govuk-heading-s\">Child Report</h3><div class=\"dpr-child-report_table\"><table class='govuk-table'><thead class='govuk-table__head'><th scope='col' class='govuk-table__header'>Field2</th><th scope='col' class='govuk-table__header'>Field3</th></thead><tbody class='govuk-table__body'><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 2</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 2</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 2</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr></tbody></table></div></div>",
              "colspan": 2
            }
          ],
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "three",
              "format": "string",
              "classes": "dpr-parent-cell"
            },
            {
              "fieldName": "field1",
              "text": "Parent row 3",
              "format": "string",
              "classes": "dpr-parent-cell"
            }
          ],
          [
            {
              "classes": "dpr-child-report-cell",
              "format": "string",
              "html": "<div class='dpr-child-report'><h3 class=\"govuk-heading-s\">Child Report</h3><div class=\"dpr-child-report_table\"><table class='govuk-table'><thead class='govuk-table__head'><th scope='col' class='govuk-table__header'>Field2</th><th scope='col' class='govuk-table__header'>Field3</th></thead><tbody class='govuk-table__body'><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child one - parent 3</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child three - parent 3</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr><tr class='govuk-table__row'><td class='govuk-table__cell govuk-table__cell--string '>Child two - parent 3</td><td class='govuk-table__cell govuk-table__cell--string '>Other value</td></tr></tbody></table></div></div>",
              "colspan": 2
            }
          ]
        ],
        "rowCount": 3,
        "colCount": 2
      }]
    } %}
    
    {{ dprReportWrapper(data) }}