Report Examples Parent-child report

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">
    
              <div class="dpr-report-heading__title">
                <span class="govuk-caption-l">Example report</span>
                <h1 class="govuk-heading-l">
                  Parent Child template
                </h1>
              </div>
    
              <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>
    
            <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_1746799041171/feedback?reportUrl=/async/report/test-report-1/variantId-26/request/tblId_1746799041171/report&amp;reportSearch=%3Fcolumns%3Dsection1%26columns%3Dfield1" 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-1">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-1">Example 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-1">A report with parent and child datasets using the parent-child template</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-1">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-2">09/05/2025, 14:57:23</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-1">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-1">Example 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-1">A report with parent and child datasets using the parent-child template</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-1">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-2">09/05/2025, 14:57:23</p>
                      </td>
                    </tr>
    
                  </tbody>
                </table>
              </div>
    
            </div>
          </div>
    
        </div>
    
        <div class="report-template-container  ">
    
          <div class="dpr-sync-report-actions">
    
            <div class="dpr-columns-section-wrapper">
    
              <div class="columns-section-button">
                <details class="govuk-details">
                  <summary class="govuk-details__summary">
                    <span class="govuk-details__summary-text">
                      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 class="dpr-report-totals">
            <p class="govuk-body"></p>
          </div>
    
          <div class='dpr-table-container'>
    
            <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">one</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string">Parent row 1</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string" colspan="2">
                        <div class='dpr-child-report'>
                          <h3>Child Report</h3>
                          <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>
                      </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">two</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string">Parent row 2</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string" colspan="2">
                        <div class='dpr-child-report'>
                          <h3>Child Report</h3>
                          <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>
                      </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">three</td>
    
                      <td class="govuk-table__cell govuk-table__cell--string">Parent row 3</td>
    
                    </tr>
    
                    <tr class="govuk-table__row">
    
                      <td class="govuk-table__cell govuk-table__cell--string" colspan="2">
                        <div class='dpr-child-report'>
                          <h3>Child Report</h3>
                          <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>
                      </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": "Example report",
      "name": "Parent Child template",
      "description": "A report with parent and child datasets using the parent-child template",
      "requestedTimestamp": "09/05/2025, 14:57:23",
      "reportId": "test-report-1",
      "tableId": "tblId_1746799041171",
      "id": "variantId-26",
      "executionId": "exId_1746799041171",
      "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_1746799041171/report",
      "reportSearch": "?columns=section1&columns=field1",
      "encodedSearch": "%3Fcolumns%3Dsection1%26columns%3Dfield1",
      "search": "?columns=section1&columns=field1",
      "pathname": "/async/report/test-report-1/variantId-26/request/tblId_1746799041171/report",
      "dataTable": {
        "head": null,
        "rows": [
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "one",
              "format": "string",
              "classes": ""
            },
            {
              "fieldName": "field1",
              "text": "Parent row 1",
              "format": "string",
              "classes": ""
            }
          ],
          [
            {
              "format": "string",
              "html": "<div class='dpr-child-report'><h3>Child Report</h3><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>",
              "colspan": 2
            }
          ],
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "two",
              "format": "string",
              "classes": ""
            },
            {
              "fieldName": "field1",
              "text": "Parent row 2",
              "format": "string",
              "classes": ""
            }
          ],
          [
            {
              "format": "string",
              "html": "<div class='dpr-child-report'><h3>Child Report</h3><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>",
              "colspan": 2
            }
          ],
          [
            {
              "text": "First",
              "classes": "govuk-table__header"
            },
            {
              "text": "Second",
              "classes": "govuk-table__header"
            }
          ],
          [
            {
              "fieldName": "section1",
              "text": "three",
              "format": "string",
              "classes": ""
            },
            {
              "fieldName": "field1",
              "text": "Parent row 3",
              "format": "string",
              "classes": ""
            }
          ],
          [
            {
              "format": "string",
              "html": "<div class='dpr-child-report'><h3>Child Report</h3><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>",
              "colspan": 2
            }
          ]
        ],
        "rowCount": 3,
        "colCount": 2
      }
    } %}
    
    {{ dprReportWrapper(data) }}