@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.8 → 4.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/all.js +6 -8
- package/dpr/all.js.map +3 -3
- package/dpr/all.scss +296 -414
- package/dpr/all.ts +6 -11
- package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js +3 -2
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
- package/dpr/components/_charts/chart/ChartTimeseries.ts +4 -2
- package/dpr/components/_charts/chart/clientClass.js +1 -0
- package/dpr/components/_charts/chart/clientClass.js.map +2 -2
- package/dpr/components/_charts/chart/clientClass.ts +1 -0
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/clientClass.js +1 -1
- package/dpr/components/_reports/report-heading/report-actions/clientClass.js.map +7 -0
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/clientClass.ts +1 -1
- package/dpr/components/_reports/report-heading/report-actions/types.d.js.map +7 -0
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/types.d.ts +1 -1
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.js.map +1 -1
- package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.test.ts +2 -2
- package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/clientClass.js +1 -3
- package/dpr/components/_reports/report-heading/report-columns/report-columns-form/clientClass.js.map +7 -0
- package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/clientClass.ts +1 -3
- package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.js.map +1 -1
- package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/utils.js +1 -1
- package/dpr/components/_reports/report-heading/report-columns/report-columns-form/utils.js.map +7 -0
- package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/utils.ts +2 -2
- package/dpr/components/_reports/{report-columns → report-heading/report-columns}/view.njk +1 -1
- package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/clientClass.js +1 -1
- package/dpr/components/_reports/report-heading/report-download-message/clientClass.js.map +7 -0
- package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/clientClass.ts +1 -1
- package/dpr/components/_reports/{report-filters → report-heading/report-filters}/view.njk +1 -1
- package/dpr/components/_reports/report-heading/view.njk +4 -4
- package/dpr/components/_reports/report-page/report-print-message/view.njk +10 -0
- package/dpr/components/_reports/report-page/report-template/report-no-data-message/styles.scss +8 -0
- package/dpr/components/_reports/report-page/report-template/report-no-data-message/view.njk +11 -0
- package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/clientClass.js +1 -1
- package/dpr/components/_reports/report-page/report-template/report-pagination/clientClass.js.map +7 -0
- package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/clientClass.ts +1 -1
- package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/types.d.js.map +1 -1
- package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.js.map +1 -1
- package/dpr/components/_reports/report-page/report-template/report-section/parent-child-template/styles.scss +88 -0
- package/dpr/components/_reports/report-page/report-template/report-section/parent-child-template/view.njk +29 -0
- package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/clientClass.js +17 -10
- package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/clientClass.js.map +7 -0
- package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/clientClass.ts +20 -10
- package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/style.scss +35 -185
- package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/types.d.js.map +7 -0
- package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/types.d.ts +2 -2
- package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/view.njk +27 -0
- package/dpr/components/_reports/report-page/report-template/report-section/styles.scss +33 -0
- package/dpr/components/_reports/report-page/report-template/report-section/view.njk +58 -0
- package/dpr/components/_reports/{report-summary-table → report-page/report-template/report-summary-table}/styles.scss +21 -4
- package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.js.map +1 -1
- package/dpr/components/_reports/report-page/report-template/styles.scss +5 -0
- package/dpr/components/_reports/report-page/report-template/template-config.js +66 -0
- package/dpr/components/_reports/report-page/report-template/template-config.js.map +7 -0
- package/dpr/components/_reports/report-page/report-template/template-config.ts +45 -0
- package/dpr/components/_reports/report-page/report-template/utils.js +82 -0
- package/dpr/components/_reports/report-page/report-template/utils.js.map +7 -0
- package/dpr/components/_reports/report-page/report-template/utils.ts +100 -0
- package/dpr/components/_reports/report-page/report-template/view.njk +61 -0
- package/dpr/components/_reports/{report-wrapper → report-page}/styles.scss +7 -5
- package/dpr/components/_reports/report-page/view.njk +26 -0
- package/dpr/components/card-group/view.njk +0 -4
- package/dpr/components/report-list/utils.js +11 -3
- package/dpr/components/report-list/utils.js.map +2 -2
- package/dpr/components/report-list/utils.ts +11 -1
- package/dpr/components/report-list/view.njk +2 -2
- package/dpr/components/show-more/style.scss +3 -4
- package/dpr/data/reportingClient.js.map +2 -2
- package/dpr/data/reportingClient.ts +4 -4
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/controller.ts +0 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +207 -56
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.ts +333 -64
- package/dpr/routes/journeys/view-report/async/report/utils.js +9 -17
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/report/utils.ts +12 -22
- package/dpr/routes/journeys/view-report/report.njk +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.ts +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js +38 -11
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/utils.ts +39 -14
- package/dpr/routes/journeys/view-report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/utils.ts +1 -1
- package/dpr/services/reportingService.js.map +2 -2
- package/dpr/services/reportingService.ts +2 -2
- package/dpr/types/ReportQuery.js +1 -1
- package/dpr/types/ReportQuery.js.map +1 -1
- package/dpr/types/ReportQuery.ts +1 -1
- package/dpr/types/UserReports.js.map +1 -1
- package/dpr/types/UserReports.ts +3 -3
- package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.js +193 -0
- package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.js.map +7 -0
- package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.ts +203 -0
- package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/types.d.js.map +7 -0
- package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/types.d.ts +36 -0
- package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.js +114 -0
- package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.js.map +7 -0
- package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.ts +117 -0
- package/dpr/utils/TemplateBuilder/ReportBuilder/types.d.js.map +7 -0
- package/dpr/utils/TemplateBuilder/ReportBuilder/types.d.ts +6 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.js +202 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.js.map +7 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.ts +246 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.js +17 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.js.map +7 -0
- package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.ts +41 -0
- package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.js → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.js} +6 -8
- package/dpr/utils/TemplateBuilder/SummaryDataHelper/SummaryDataHelper.js.map +7 -0
- package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.test.ts} +4 -4
- package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.ts → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.ts} +6 -9
- package/dpr/utils/TemplateBuilder/TemplateBuilder.js +74 -0
- package/dpr/utils/TemplateBuilder/TemplateBuilder.js.map +7 -0
- package/dpr/utils/TemplateBuilder/TemplateBuilder.ts +68 -0
- package/dpr/utils/definitionUtils.js +22 -2
- package/dpr/utils/definitionUtils.js.map +2 -2
- package/dpr/utils/definitionUtils.ts +26 -1
- package/package.json +1 -1
- package/dpr/DprLoadingHelper.js +0 -51
- package/dpr/DprLoadingHelper.js.map +0 -7
- package/dpr/DprLoadingHelper.ts +0 -27
- package/dpr/components/_reports/report/view.njk +0 -40
- package/dpr/components/_reports/report-actions/clientClass.js.map +0 -7
- package/dpr/components/_reports/report-actions/types.d.js.map +0 -7
- package/dpr/components/_reports/report-columns-form/clientClass.js.map +0 -7
- package/dpr/components/_reports/report-columns-form/utils.js.map +0 -7
- package/dpr/components/_reports/report-data-table/clientClass.js.map +0 -7
- package/dpr/components/_reports/report-data-table/types.d.js.map +0 -7
- package/dpr/components/_reports/report-data-table/utils.js +0 -123
- package/dpr/components/_reports/report-data-table/utils.js.map +0 -7
- package/dpr/components/_reports/report-data-table/utils.test.ts +0 -604
- package/dpr/components/_reports/report-data-table/utils.ts +0 -150
- package/dpr/components/_reports/report-data-table/view.njk +0 -24
- package/dpr/components/_reports/report-data-table-wrapper/view.njk +0 -27
- package/dpr/components/_reports/report-download-message/clientClass.js.map +0 -7
- package/dpr/components/_reports/report-no-data-message/styles.scss +0 -4
- package/dpr/components/_reports/report-no-data-message/view.njk +0 -13
- package/dpr/components/_reports/report-pagination/clientClass.js.map +0 -7
- package/dpr/components/_reports/report-print-message/view.njk +0 -8
- package/dpr/components/_reports/report-template/view.njk +0 -44
- package/dpr/components/_reports/report-wrapper/view.njk +0 -19
- package/dpr/components/loading-anim/styles.scss +0 -117
- package/dpr/components/loading-anim/view.njk +0 -18
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +0 -7
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +0 -202
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +0 -7
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +0 -503
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +0 -224
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +0 -7
- package/dpr/utils/ParentChildDataTableBuilder/types.d.ts +0 -11
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +0 -311
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +0 -7
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +0 -492
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +0 -342
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +0 -7
- package/dpr/utils/SectionedDataTableBuilder/types.d.ts +0 -5
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +0 -146
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +0 -7
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +0 -140
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +0 -150
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.js +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.ts +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/style.scss +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/types.d.js +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.js +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.ts +0 -0
- /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/view.njk +0 -0
- /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/style.scss +0 -0
- /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.js +0 -0
- /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.ts +0 -0
- /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/view.njk +0 -0
- /package/dpr/components/_reports/{report-columns → report-heading/report-columns}/styles.scss +0 -0
- /package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/style.scss +0 -0
- /package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/view.njk +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/style.scss +0 -0
- /package/dpr/components/_reports/{report-data-table → report-page/report-template/report-pagination}/types.d.js +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/types.d.ts +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.js +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.test.ts +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.ts +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/view.njk +0 -0
- /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-section/report-data-table}/types.d.js +0 -0
- /package/dpr/components/_reports/{report-summary-table → report-page/report-template/report-summary-table}/view.njk +0 -0
- /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/style.scss +0 -0
- /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.js +0 -0
- /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.ts +0 -0
- /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/view.njk +0 -0
- /package/dpr/utils/{ParentChildDataTableBuilder → TemplateBuilder/ParentChildDataBuilder}/types.d.js +0 -0
- /package/dpr/utils/{SectionedDataTableBuilder → TemplateBuilder/ReportBuilder}/types.d.js +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{% from "govuk/components/table/macro.njk" import govukTable %}
|
|
2
|
+
{% from "../report-summary-table/view.njk" import dprReportSummary %}
|
|
3
|
+
|
|
4
|
+
{% from "./report-data-table/view.njk" import dprDataTable %}
|
|
5
|
+
{% from "./parent-child-template/view.njk" import dprParentChildTemplate %}
|
|
6
|
+
|
|
7
|
+
{% macro dprReportSection(renderData, template, classification) %}
|
|
8
|
+
{% set sections = renderData.sections %}
|
|
9
|
+
|
|
10
|
+
<div id="dpr-report-sections">
|
|
11
|
+
{% for section in sections %}
|
|
12
|
+
{% set sectionTitle = section.title %}
|
|
13
|
+
{% set sectionCount = section.count %}
|
|
14
|
+
{% set data = section.data %}
|
|
15
|
+
{% set summaries = section.summaries %}
|
|
16
|
+
{% if sectionTitle %}
|
|
17
|
+
{% set sectionLabelId = "section-title-" + loop.index %}
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
<div
|
|
21
|
+
id="dpr-{{ template }}-section-{{ loop.index }}"
|
|
22
|
+
class="dpr-{{ template }}-section dpr-report-section"
|
|
23
|
+
{% if sectionLabelId %} aria-labelledby="{{ sectionLabelId }}" {% endif %}
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
{% if sectionTitle %}
|
|
27
|
+
<div class="dpr-report-section__title">
|
|
28
|
+
<h2 id="{{ sectionLabelId }}" class="govuk-heading-m">{{ sectionTitle }}
|
|
29
|
+
{% if template !== 'summary-section' %}
|
|
30
|
+
<span class="govuk-caption-m">{{ sectionCount }} results</span>
|
|
31
|
+
{% endif %}
|
|
32
|
+
</h2>
|
|
33
|
+
</div>
|
|
34
|
+
{% endif %}
|
|
35
|
+
|
|
36
|
+
{# section header summary tables #}
|
|
37
|
+
{{ dprReportSummary(summaries, 'section-header') }}
|
|
38
|
+
|
|
39
|
+
{# report template #}
|
|
40
|
+
{% if template === 'parent-child' or template === 'parent-child-section' %}
|
|
41
|
+
|
|
42
|
+
{{ dprParentChildTemplate(data, classification, template, sectionLabelId or 'dpr-report-name') }}
|
|
43
|
+
|
|
44
|
+
{% elif template !== 'summary-section' %}
|
|
45
|
+
|
|
46
|
+
<div id="dpr-{{ template }}-section-data-{{ loop.index }}" class="dpr-{{ template }}-section__data">
|
|
47
|
+
{{ dprDataTable(data, classification, template, sectionLabelId or 'dpr-report-name', loop.index) }}
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
{% endif %}
|
|
51
|
+
|
|
52
|
+
{# section footer summary tables #}
|
|
53
|
+
{{ dprReportSummary(summaries, 'section-footer') }}
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
{% endfor %}
|
|
57
|
+
</div>
|
|
58
|
+
{% endmacro %}
|
|
@@ -3,20 +3,22 @@
|
|
|
3
3
|
position: relative;
|
|
4
4
|
row-gap: 15px;
|
|
5
5
|
flex-flow: column wrap;
|
|
6
|
+
margin-top: govuk-spacing(6);
|
|
6
7
|
|
|
7
8
|
.dpr-summary-container {
|
|
8
9
|
min-width: 200px;
|
|
9
10
|
width: fit-content;
|
|
10
11
|
|
|
11
12
|
.govuk-table {
|
|
12
|
-
border: solid 1px govuk-colour(
|
|
13
|
+
border: solid 1px govuk-colour('mid-grey');
|
|
13
14
|
margin-bottom: 0;
|
|
14
15
|
|
|
15
|
-
th,
|
|
16
|
+
th,
|
|
17
|
+
td {
|
|
16
18
|
padding: 10px;
|
|
17
19
|
}
|
|
18
20
|
th {
|
|
19
|
-
background-color: govuk-colour(
|
|
21
|
+
background-color: govuk-colour('light-grey');
|
|
20
22
|
border-bottom: 0px;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -36,4 +38,19 @@
|
|
|
36
38
|
margin-bottom: 30px;
|
|
37
39
|
}
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
@media print {
|
|
42
|
+
.dpr-summary-container-group {
|
|
43
|
+
.dpr-summary-container {
|
|
44
|
+
.govuk-table {
|
|
45
|
+
th,
|
|
46
|
+
td {
|
|
47
|
+
padding: govuk-spacing(1);
|
|
48
|
+
}
|
|
49
|
+
th {
|
|
50
|
+
background-color: govuk-colour('light-grey');
|
|
51
|
+
border-bottom: 0px;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../../dpr/components/_reports/report-page/report-template/report-totals/utils.ts"],
|
|
4
4
|
"sourcesContent": ["export const getTotals = (pageSize: number, currentPage: number, totalRows: number, rowCount: number): string => {\n let totals = ''\n\n const currentRangeStart = (currentPage - 1) * pageSize\n const currentRangeEnd = currentRangeStart + rowCount\n\n if (currentRangeStart === 0 && totalRows === currentRangeEnd) {\n totals = totalRows === 1 ? `${totalRows} total result` : `${totalRows} total results`\n } else {\n totals =\n totalRows > 0\n ? `Showing <strong>${\n currentRangeStart + 1\n }</strong> to <strong>${currentRangeEnd}</strong> of <strong>${totalRows}</strong> results`\n : `0-0 of 0`\n }\n\n return totals\n}\n\nexport default {\n getTotals,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAAY,CAAC,UAAkB,aAAqB,WAAmB,aAA6B;AAC/G,MAAI,SAAS;AAEb,QAAM,qBAAqB,cAAc,KAAK;AAC9C,QAAM,kBAAkB,oBAAoB;AAE5C,MAAI,sBAAsB,KAAK,cAAc,iBAAiB;AAC5D,aAAS,cAAc,IAAI,GAAG,SAAS,kBAAkB,GAAG,SAAS;AAAA,EACvE,OAAO;AACL,aACE,YAAY,IACR,mBACE,oBAAoB,CACtB,wBAAwB,eAAe,wBAAwB,SAAS,sBACxE;AAAA,EACR;AAEA,SAAO;AACT;AAEA,IAAO,gBAAQ;AAAA,EACb;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var template_config_exports = {};
|
|
20
|
+
__export(template_config_exports, {
|
|
21
|
+
templateConfig: () => templateConfig
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(template_config_exports);
|
|
24
|
+
const templateConfig = {
|
|
25
|
+
list: {
|
|
26
|
+
pagination: true,
|
|
27
|
+
sort: true,
|
|
28
|
+
print: true,
|
|
29
|
+
totals: true
|
|
30
|
+
},
|
|
31
|
+
"list-section": {
|
|
32
|
+
pagination: true,
|
|
33
|
+
sort: true,
|
|
34
|
+
print: true,
|
|
35
|
+
totals: true
|
|
36
|
+
},
|
|
37
|
+
"parent-child": {
|
|
38
|
+
pagination: true,
|
|
39
|
+
sort: true,
|
|
40
|
+
print: true,
|
|
41
|
+
totals: true
|
|
42
|
+
},
|
|
43
|
+
"parent-child-section": {
|
|
44
|
+
pagination: true,
|
|
45
|
+
sort: true,
|
|
46
|
+
print: true,
|
|
47
|
+
totals: true
|
|
48
|
+
},
|
|
49
|
+
"summary-section": {
|
|
50
|
+
pagination: true,
|
|
51
|
+
sort: true,
|
|
52
|
+
print: true,
|
|
53
|
+
totals: true
|
|
54
|
+
},
|
|
55
|
+
summary: {
|
|
56
|
+
pagination: true,
|
|
57
|
+
sort: true,
|
|
58
|
+
print: true,
|
|
59
|
+
totals: true
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
63
|
+
0 && (module.exports = {
|
|
64
|
+
templateConfig
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=template-config.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../dpr/components/_reports/report-page/report-template/template-config.ts"],
|
|
4
|
+
"sourcesContent": ["export interface TemplateConfig {\n pagination: boolean\n sort: boolean\n print: boolean\n totals: boolean\n}\n\nexport const templateConfig: Record<string, TemplateConfig> = {\n list: {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n 'list-section': {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n 'parent-child': {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n 'parent-child-section': {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n 'summary-section': {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n summary: {\n pagination: true,\n sort: true,\n print: true,\n totals: true,\n },\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,iBAAiD;AAAA,EAC5D,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,wBAAwB;AAAA,IACtB,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,mBAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface TemplateConfig {
|
|
2
|
+
pagination: boolean
|
|
3
|
+
sort: boolean
|
|
4
|
+
print: boolean
|
|
5
|
+
totals: boolean
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const templateConfig: Record<string, TemplateConfig> = {
|
|
9
|
+
list: {
|
|
10
|
+
pagination: true,
|
|
11
|
+
sort: true,
|
|
12
|
+
print: true,
|
|
13
|
+
totals: true,
|
|
14
|
+
},
|
|
15
|
+
'list-section': {
|
|
16
|
+
pagination: true,
|
|
17
|
+
sort: true,
|
|
18
|
+
print: true,
|
|
19
|
+
totals: true,
|
|
20
|
+
},
|
|
21
|
+
'parent-child': {
|
|
22
|
+
pagination: true,
|
|
23
|
+
sort: true,
|
|
24
|
+
print: true,
|
|
25
|
+
totals: true,
|
|
26
|
+
},
|
|
27
|
+
'parent-child-section': {
|
|
28
|
+
pagination: true,
|
|
29
|
+
sort: true,
|
|
30
|
+
print: true,
|
|
31
|
+
totals: true,
|
|
32
|
+
},
|
|
33
|
+
'summary-section': {
|
|
34
|
+
pagination: true,
|
|
35
|
+
sort: true,
|
|
36
|
+
print: true,
|
|
37
|
+
totals: true,
|
|
38
|
+
},
|
|
39
|
+
summary: {
|
|
40
|
+
pagination: true,
|
|
41
|
+
sort: true,
|
|
42
|
+
print: true,
|
|
43
|
+
totals: true,
|
|
44
|
+
},
|
|
45
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var utils_exports = {};
|
|
30
|
+
__export(utils_exports, {
|
|
31
|
+
createReportTemplateData: () => createReportTemplateData,
|
|
32
|
+
default: () => utils_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(utils_exports);
|
|
35
|
+
var import_SummaryDataHelper = require("../../../../utils/TemplateBuilder/SummaryDataHelper/SummaryDataHelper");
|
|
36
|
+
var import_DataTableBuilder = __toESM(require("../../../../utils/DataTableBuilder/DataTableBuilder"));
|
|
37
|
+
var import_ReportBuilder = require("../../../../utils/TemplateBuilder/ReportBuilder/ReportBuilder");
|
|
38
|
+
var import_ParentChildDataBuilder = require("../../../../utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder");
|
|
39
|
+
var import_definitionUtils = require("../../../../utils/definitionUtils");
|
|
40
|
+
const buildListTable = (definition, columns, reportData, summariesData, reportQuery) => {
|
|
41
|
+
const { variant, specification } = (0, import_definitionUtils.validateDefinition)(definition);
|
|
42
|
+
const { interactive } = variant;
|
|
43
|
+
const collatedSummarries = new import_SummaryDataHelper.CollatedSummaryBuilder(specification, summariesData).collateDataTableSummaries();
|
|
44
|
+
return new import_DataTableBuilder.default(specification.fields).withSummaries(collatedSummarries).withHeaderOptions({
|
|
45
|
+
columns: columns.value,
|
|
46
|
+
reportQuery,
|
|
47
|
+
interactive: Boolean(interactive)
|
|
48
|
+
}).buildTable(reportData);
|
|
49
|
+
};
|
|
50
|
+
const buildReport = (definition, columns, reportData, summariesData, reportQuery) => {
|
|
51
|
+
return new import_ReportBuilder.ReportBuilder(definition.variant).withData(reportData).withSummaries(summariesData).withColumns(columns.value).withQuery(reportQuery).build();
|
|
52
|
+
};
|
|
53
|
+
const buildParentChildReport = (definition, columns, reportData, childData, reportQuery) => {
|
|
54
|
+
return new import_ParentChildDataBuilder.ParentChildDataBuilder(definition.variant).withData(reportData).withColumns(columns.value).withChildColumns([]).withChildData(childData).withQuery(reportQuery).build();
|
|
55
|
+
};
|
|
56
|
+
const createReportTemplateData = (definition, columns, reportData, childData, summariesData, reportQuery) => {
|
|
57
|
+
const { specification } = (0, import_definitionUtils.validateDefinition)(definition);
|
|
58
|
+
const { template } = specification;
|
|
59
|
+
switch (template) {
|
|
60
|
+
case "list":
|
|
61
|
+
case "summary-section":
|
|
62
|
+
case "summary":
|
|
63
|
+
case "list-section": {
|
|
64
|
+
return buildReport(definition, columns, reportData, summariesData, reportQuery);
|
|
65
|
+
}
|
|
66
|
+
case "parent-child":
|
|
67
|
+
case "parent-child-section": {
|
|
68
|
+
return buildParentChildReport(definition, columns, reportData, childData, reportQuery);
|
|
69
|
+
}
|
|
70
|
+
default: {
|
|
71
|
+
return buildListTable(definition, columns, reportData, summariesData, reportQuery);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var utils_default = {
|
|
76
|
+
createReportTemplateData
|
|
77
|
+
};
|
|
78
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
+
0 && (module.exports = {
|
|
80
|
+
createReportTemplateData
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../dpr/components/_reports/report-page/report-template/utils.ts"],
|
|
4
|
+
"sourcesContent": ["import { components } from '../../../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportQuery from '../../../../types/ReportQuery'\nimport { AsyncSummary } from '../../../../types/UserReports'\nimport { CollatedSummaryBuilder } from '../../../../utils/TemplateBuilder/SummaryDataHelper/SummaryDataHelper'\nimport DataTableBuilder from '../../../../utils/DataTableBuilder/DataTableBuilder'\nimport { Columns } from '../../report-heading/report-columns/report-columns-form/types'\nimport { ChildData } from '../../../../utils/TemplateBuilder/ParentChildDataBuilder/types'\nimport { DataTable } from '../../../../utils/DataTableBuilder/types'\nimport type { Template } from '../../../../types/Templates'\nimport { ReportTemplateData } from '../../../../utils/TemplateBuilder/SectionedDataHelper/types'\nimport { ReportBuilder } from '../../../../utils/TemplateBuilder/ReportBuilder/ReportBuilder'\nimport { ParentChildDataBuilder } from '../../../../utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder'\nimport { validateDefinition } from '../../../../utils/definitionUtils'\n\nconst buildListTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable => {\n const { variant, specification } = validateDefinition(definition)\n const { interactive } = variant\n\n const collatedSummarries = new CollatedSummaryBuilder(specification, summariesData).collateDataTableSummaries()\n return new DataTableBuilder(specification.fields)\n .withSummaries(collatedSummarries)\n .withHeaderOptions({\n columns: columns.value,\n reportQuery,\n interactive: Boolean(interactive),\n })\n .buildTable(reportData)\n}\n\nconst buildReport = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Record<string, string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): ReportTemplateData => {\n return new ReportBuilder(definition.variant)\n .withData(reportData)\n .withSummaries(summariesData)\n .withColumns(columns.value)\n .withQuery(reportQuery)\n .build()\n}\n\nconst buildParentChildReport = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Record<string, string>[],\n childData: ChildData[],\n reportQuery: ReportQuery,\n): ReportTemplateData => {\n return new ParentChildDataBuilder(definition.variant)\n .withData(reportData)\n .withColumns(columns.value)\n .withChildColumns([])\n .withChildData(childData)\n .withQuery(reportQuery)\n .build()\n}\n\nexport const createReportTemplateData = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n childData: ChildData[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable | ReportTemplateData => {\n const { specification } = validateDefinition(definition)\n const { template } = specification\n\n switch (template as Template) {\n case 'list':\n case 'summary-section':\n case 'summary':\n case 'list-section': {\n return buildReport(definition, columns, reportData as Record<string, string>[], summariesData, reportQuery)\n }\n\n case 'parent-child':\n case 'parent-child-section': {\n return buildParentChildReport(definition, columns, reportData as Record<string, string>[], childData, reportQuery)\n }\n\n default: {\n return buildListTable(definition, columns, reportData, summariesData, reportQuery)\n }\n }\n}\n\nexport default {\n createReportTemplateData,\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,+BAAuC;AACvC,8BAA6B;AAM7B,2BAA8B;AAC9B,oCAAuC;AACvC,6BAAmC;AAEnC,MAAM,iBAAiB,CACrB,YACA,SACA,YACA,eACA,gBACc;AACd,QAAM,EAAE,SAAS,cAAc,QAAI,2CAAmB,UAAU;AAChE,QAAM,EAAE,YAAY,IAAI;AAExB,QAAM,qBAAqB,IAAI,gDAAuB,eAAe,aAAa,EAAE,0BAA0B;AAC9G,SAAO,IAAI,wBAAAA,QAAiB,cAAc,MAAM,EAC7C,cAAc,kBAAkB,EAChC,kBAAkB;AAAA,IACjB,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,aAAa,QAAQ,WAAW;AAAA,EAClC,CAAC,EACA,WAAW,UAAU;AAC1B;AAEA,MAAM,cAAc,CAClB,YACA,SACA,YACA,eACA,gBACuB;AACvB,SAAO,IAAI,mCAAc,WAAW,OAAO,EACxC,SAAS,UAAU,EACnB,cAAc,aAAa,EAC3B,YAAY,QAAQ,KAAK,EACzB,UAAU,WAAW,EACrB,MAAM;AACX;AAEA,MAAM,yBAAyB,CAC7B,YACA,SACA,YACA,WACA,gBACuB;AACvB,SAAO,IAAI,qDAAuB,WAAW,OAAO,EACjD,SAAS,UAAU,EACnB,YAAY,QAAQ,KAAK,EACzB,iBAAiB,CAAC,CAAC,EACnB,cAAc,SAAS,EACvB,UAAU,WAAW,EACrB,MAAM;AACX;AAEO,MAAM,2BAA2B,CACtC,YACA,SACA,YACA,WACA,eACA,gBACmC;AACnC,QAAM,EAAE,cAAc,QAAI,2CAAmB,UAAU;AACvD,QAAM,EAAE,SAAS,IAAI;AAErB,UAAQ,UAAsB;AAAA,IAC5B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,aAAO,YAAY,YAAY,SAAS,YAAwC,eAAe,WAAW;AAAA,IAC5G;AAAA,IAEA,KAAK;AAAA,IACL,KAAK,wBAAwB;AAC3B,aAAO,uBAAuB,YAAY,SAAS,YAAwC,WAAW,WAAW;AAAA,IACnH;AAAA,IAEA,SAAS;AACP,aAAO,eAAe,YAAY,SAAS,YAAY,eAAe,WAAW;AAAA,IACnF;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;AAAA,EACb;AACF;",
|
|
6
|
+
"names": ["DataTableBuilder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { components } from '../../../../types/api'
|
|
2
|
+
import Dict = NodeJS.Dict
|
|
3
|
+
import ReportQuery from '../../../../types/ReportQuery'
|
|
4
|
+
import { AsyncSummary } from '../../../../types/UserReports'
|
|
5
|
+
import { CollatedSummaryBuilder } from '../../../../utils/TemplateBuilder/SummaryDataHelper/SummaryDataHelper'
|
|
6
|
+
import DataTableBuilder from '../../../../utils/DataTableBuilder/DataTableBuilder'
|
|
7
|
+
import { Columns } from '../../report-heading/report-columns/report-columns-form/types'
|
|
8
|
+
import { ChildData } from '../../../../utils/TemplateBuilder/ParentChildDataBuilder/types'
|
|
9
|
+
import { DataTable } from '../../../../utils/DataTableBuilder/types'
|
|
10
|
+
import type { Template } from '../../../../types/Templates'
|
|
11
|
+
import { ReportTemplateData } from '../../../../utils/TemplateBuilder/SectionedDataHelper/types'
|
|
12
|
+
import { ReportBuilder } from '../../../../utils/TemplateBuilder/ReportBuilder/ReportBuilder'
|
|
13
|
+
import { ParentChildDataBuilder } from '../../../../utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder'
|
|
14
|
+
import { validateDefinition } from '../../../../utils/definitionUtils'
|
|
15
|
+
|
|
16
|
+
const buildListTable = (
|
|
17
|
+
definition: components['schemas']['SingleVariantReportDefinition'],
|
|
18
|
+
columns: Columns,
|
|
19
|
+
reportData: Dict<string>[],
|
|
20
|
+
summariesData: AsyncSummary[],
|
|
21
|
+
reportQuery: ReportQuery,
|
|
22
|
+
): DataTable => {
|
|
23
|
+
const { variant, specification } = validateDefinition(definition)
|
|
24
|
+
const { interactive } = variant
|
|
25
|
+
|
|
26
|
+
const collatedSummarries = new CollatedSummaryBuilder(specification, summariesData).collateDataTableSummaries()
|
|
27
|
+
return new DataTableBuilder(specification.fields)
|
|
28
|
+
.withSummaries(collatedSummarries)
|
|
29
|
+
.withHeaderOptions({
|
|
30
|
+
columns: columns.value,
|
|
31
|
+
reportQuery,
|
|
32
|
+
interactive: Boolean(interactive),
|
|
33
|
+
})
|
|
34
|
+
.buildTable(reportData)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const buildReport = (
|
|
38
|
+
definition: components['schemas']['SingleVariantReportDefinition'],
|
|
39
|
+
columns: Columns,
|
|
40
|
+
reportData: Record<string, string>[],
|
|
41
|
+
summariesData: AsyncSummary[],
|
|
42
|
+
reportQuery: ReportQuery,
|
|
43
|
+
): ReportTemplateData => {
|
|
44
|
+
return new ReportBuilder(definition.variant)
|
|
45
|
+
.withData(reportData)
|
|
46
|
+
.withSummaries(summariesData)
|
|
47
|
+
.withColumns(columns.value)
|
|
48
|
+
.withQuery(reportQuery)
|
|
49
|
+
.build()
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const buildParentChildReport = (
|
|
53
|
+
definition: components['schemas']['SingleVariantReportDefinition'],
|
|
54
|
+
columns: Columns,
|
|
55
|
+
reportData: Record<string, string>[],
|
|
56
|
+
childData: ChildData[],
|
|
57
|
+
reportQuery: ReportQuery,
|
|
58
|
+
): ReportTemplateData => {
|
|
59
|
+
return new ParentChildDataBuilder(definition.variant)
|
|
60
|
+
.withData(reportData)
|
|
61
|
+
.withColumns(columns.value)
|
|
62
|
+
.withChildColumns([])
|
|
63
|
+
.withChildData(childData)
|
|
64
|
+
.withQuery(reportQuery)
|
|
65
|
+
.build()
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export const createReportTemplateData = (
|
|
69
|
+
definition: components['schemas']['SingleVariantReportDefinition'],
|
|
70
|
+
columns: Columns,
|
|
71
|
+
reportData: Dict<string>[],
|
|
72
|
+
childData: ChildData[],
|
|
73
|
+
summariesData: AsyncSummary[],
|
|
74
|
+
reportQuery: ReportQuery,
|
|
75
|
+
): DataTable | ReportTemplateData => {
|
|
76
|
+
const { specification } = validateDefinition(definition)
|
|
77
|
+
const { template } = specification
|
|
78
|
+
|
|
79
|
+
switch (template as Template) {
|
|
80
|
+
case 'list':
|
|
81
|
+
case 'summary-section':
|
|
82
|
+
case 'summary':
|
|
83
|
+
case 'list-section': {
|
|
84
|
+
return buildReport(definition, columns, reportData as Record<string, string>[], summariesData, reportQuery)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
case 'parent-child':
|
|
88
|
+
case 'parent-child-section': {
|
|
89
|
+
return buildParentChildReport(definition, columns, reportData as Record<string, string>[], childData, reportQuery)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
default: {
|
|
93
|
+
return buildListTable(definition, columns, reportData, summariesData, reportQuery)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export default {
|
|
99
|
+
createReportTemplateData,
|
|
100
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{% from "../../../code-block/view.njk" import dprCodeBlock %}
|
|
2
|
+
|
|
3
|
+
{% from "./report-totals/view.njk" import dprReportTotals %}
|
|
4
|
+
{% from "./report-summary-table/view.njk" import dprReportSummary %}
|
|
5
|
+
{% from "./report-section/view.njk" import dprReportSection %}
|
|
6
|
+
{% from "./report-no-data-message/view.njk" import dprReportNoDataMessage %}
|
|
7
|
+
{% from "./report-pagination/view.njk" import dprReportPagination %}
|
|
8
|
+
|
|
9
|
+
{% macro dprReportTemplate(renderData) %}
|
|
10
|
+
{% set pagination = renderData.pagination %}
|
|
11
|
+
{% set classification = renderData.classification %}
|
|
12
|
+
{% set template = renderData.template %}
|
|
13
|
+
{% set totals = renderData.totals %}
|
|
14
|
+
{% set dataTable = renderData.dataTable %}
|
|
15
|
+
{% set summaries = dataTable.summaries %}
|
|
16
|
+
{% set count = renderData.count %}
|
|
17
|
+
|
|
18
|
+
{% if not count or count === 0 %}
|
|
19
|
+
|
|
20
|
+
<div class="dpr-report-template-container dpr-report-template-container--no-data">
|
|
21
|
+
{{ dprReportNoDataMessage(renderData.requestUrl.fullUrl) }}
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
{% else %}
|
|
25
|
+
|
|
26
|
+
<div class="dpr-report-template-container {% if (printable == false) %}print-hide{% endif %}">
|
|
27
|
+
{# Header summaries #}
|
|
28
|
+
<div class="dpr-report-template__page-summaries dpr-report-template__page-summaries--header">
|
|
29
|
+
{{ dprReportSummary(summaries, 'page-header') }}
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
{# header totals #}
|
|
33
|
+
<div class="dpr-report-template__page-totals dpr-report-template__page-totals--header">
|
|
34
|
+
{{ dprReportTotals(totals) }}
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
{# sections #}
|
|
38
|
+
<div class='dpr-report-template__sections dpr-report-template__sections--{{ template }}'>
|
|
39
|
+
{{ dprReportSection(dataTable, template, classification) }}
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
{# footer totals #}
|
|
43
|
+
<div class="dpr-report-template__page-totals dpr-report-template__page-totals--footer">
|
|
44
|
+
{{ dprReportTotals(totals) }}
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
{# footer summaries #}
|
|
48
|
+
<div class="dpr-report-template__page-summaries dpr-report-template__page-summaries--footer">
|
|
49
|
+
{{ dprReportSummary(summaries, 'page-footer') }}
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
{# pagination #}
|
|
53
|
+
{% if template === 'list' and count and count > 0 %}
|
|
54
|
+
<div class="dpr-report-template__pagination">
|
|
55
|
+
{{ dprReportPagination(pagination) }}
|
|
56
|
+
</div>
|
|
57
|
+
{% endif %}
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
{% endif %}
|
|
61
|
+
{% endmacro %}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
.dpr-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
.dpr-report-page {
|
|
2
|
+
.dpr-report-page__heading-container {
|
|
3
|
+
position: relative;
|
|
4
|
+
margin-top: govuk-spacing(5);
|
|
5
|
+
margin-bottom: govuk-spacing(5);
|
|
6
|
+
}
|
|
5
7
|
}
|
|
6
8
|
|
|
7
9
|
.dpr-columns-section-wrapper {
|
|
@@ -15,7 +17,7 @@
|
|
|
15
17
|
display: none;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
.dpr-
|
|
20
|
+
.dpr-report-page__heading-container {
|
|
19
21
|
h1.govuk-heading-l {
|
|
20
22
|
font-size: 20px;
|
|
21
23
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{% from "../report-heading/view.njk" import dprReportHeading %}
|
|
2
|
+
|
|
3
|
+
{% from "./report-print-message/view.njk" import dprReportPrintMessage %}
|
|
4
|
+
{% from "./report-template/view.njk" import dprReportTemplate %}
|
|
5
|
+
|
|
6
|
+
{% macro dprReportPage(renderData) %}
|
|
7
|
+
{% set printable = renderData.printable %}
|
|
8
|
+
<div class="govuk-width-container">
|
|
9
|
+
<div class="dpr-report-page govuk-width-container report-list-container">
|
|
10
|
+
|
|
11
|
+
<div class="dpr-report-print-message-container">
|
|
12
|
+
{{ dprReportPrintMessage(printable) }}
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<div class="dpr-report-page__heading-container">
|
|
16
|
+
{{ dprReportHeading(renderData) }}
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<div class="dpr-report-page__template-container">
|
|
20
|
+
{{ dprReportTemplate(renderData)}}
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
{% endmacro %}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{% macro dprCardGroup(cards, variant = 1) %}
|
|
2
|
-
{% from "dpr/components/loading-anim/view.njk" import dprLoadingAnim -%}
|
|
3
|
-
|
|
4
2
|
<div class="dpr-card-group dpr-card-group-v{{ variant }}" data-dpr-module="card-group">
|
|
5
3
|
{% for card in cards %}
|
|
6
4
|
{% if variant === 1 %}
|
|
7
5
|
|
|
8
6
|
<div class="dpr-card-group__item card card--clickable" data-click-navigate-to="{{ card.href }}">
|
|
9
7
|
<div class="card-wrapper">
|
|
10
|
-
{{ dprLoadingAnim() }}
|
|
11
8
|
<h2 class="govuk-heading-m card__heading">
|
|
12
9
|
<a class="govuk-link card__link govuk-link--no-visited-state" href="{{ card.href }}">
|
|
13
10
|
{{ card.text }}
|
|
@@ -23,7 +20,6 @@
|
|
|
23
20
|
|
|
24
21
|
<div class="dpr-card-group__item" data-click-navigate-to="{{ card.href }}">
|
|
25
22
|
<div class="card-wrapper">
|
|
26
|
-
{{ dprLoadingAnim() }}
|
|
27
23
|
<hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible govuk-!-static-margin-top-0">
|
|
28
24
|
<div class="dpr-card-group__item-header">
|
|
29
25
|
<a class="govuk-link govuk-!-font-weight-bold govuk-link--no-visited-state govuk-body card__link" href="{{ card.href }}">
|
|
@@ -37,7 +37,7 @@ __export(utils_exports, {
|
|
|
37
37
|
module.exports = __toCommonJS(utils_exports);
|
|
38
38
|
var import_ReportQuery = __toESM(require("../../types/ReportQuery"));
|
|
39
39
|
var import_reportingClient = __toESM(require("../../data/reportingClient"));
|
|
40
|
-
var import_utils = __toESM(require("../_reports/report-actions/utils"));
|
|
40
|
+
var import_utils = __toESM(require("../_reports/report-heading/report-actions/utils"));
|
|
41
41
|
var import_utils2 = require("../../utils");
|
|
42
42
|
var import_utils3 = __toESM(require("../_filters/utils"));
|
|
43
43
|
var import_UserReports = require("../../types/UserReports");
|
|
@@ -45,7 +45,7 @@ var import_filtersTypeEnum = require("../_filters/filtersTypeEnum");
|
|
|
45
45
|
function isListWithWarnings(data) {
|
|
46
46
|
return data.data !== void 0;
|
|
47
47
|
}
|
|
48
|
-
async function renderList(listData, variantDefinition, reportQuery, req, response, next, title, layoutTemplate, otherOptions, reportName) {
|
|
48
|
+
async function renderList(listData, variantDefinition, definition, reportQuery, req, response, next, title, layoutTemplate, otherOptions, reportName) {
|
|
49
49
|
await Promise.all([listData.data, listData.count]).then(async (resolvedData) => {
|
|
50
50
|
let data;
|
|
51
51
|
let warnings = {};
|
|
@@ -65,7 +65,8 @@ async function renderList(listData, variantDefinition, reportQuery, req, respons
|
|
|
65
65
|
specification,
|
|
66
66
|
reportQuery,
|
|
67
67
|
data,
|
|
68
|
-
filtersType: import_filtersTypeEnum.FiltersType.REQUEST
|
|
68
|
+
filtersType: import_filtersTypeEnum.FiltersType.REQUEST,
|
|
69
|
+
definition
|
|
69
70
|
});
|
|
70
71
|
const actions = import_utils.default.getActions({
|
|
71
72
|
print: {
|
|
@@ -146,6 +147,7 @@ const renderListWithDefinition = async ({
|
|
|
146
147
|
await renderList(
|
|
147
148
|
getListData,
|
|
148
149
|
variantDefinition,
|
|
150
|
+
reportDefinition,
|
|
149
151
|
reportQuery,
|
|
150
152
|
request,
|
|
151
153
|
response,
|
|
@@ -182,10 +184,16 @@ const renderListWithData = async ({
|
|
|
182
184
|
queryParams: request.query,
|
|
183
185
|
definitionsPath: request.query["dataProductDefinitionsPath"]
|
|
184
186
|
});
|
|
187
|
+
const definition = {
|
|
188
|
+
id: variantDefinition.id,
|
|
189
|
+
name: variantDefinition.name,
|
|
190
|
+
variant: variantDefinition
|
|
191
|
+
};
|
|
185
192
|
const listData = getListDataSources(reportQuery);
|
|
186
193
|
await renderList(
|
|
187
194
|
listData,
|
|
188
195
|
variantDefinition,
|
|
196
|
+
definition,
|
|
189
197
|
reportQuery,
|
|
190
198
|
request,
|
|
191
199
|
response,
|