@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.8 → 4.29.0
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/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,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,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../dpr/components/report-list/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { NextFunction, Request, RequestHandler, Response } from 'express'\n\nimport ReportQuery from '../../types/ReportQuery'\n\nimport {\n ListDataSources,\n RenderListWithDataInput,\n RenderListWithDefinitionInput,\n CreateRequestHandlerInput,\n} from './types'\nimport ReportingClient from '../../data/reportingClient'\nimport { ListWithWarnings, Warnings } from '../../data/types'\nimport { components } from '../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportActionsUtils from '../_reports/report-actions/utils'\nimport { Template } from '../../types/Templates'\nimport { SyncReportUtils } from '../../utils'\nimport FiltersUtils from '../_filters/utils'\nimport { ReportType } from '../../types/UserReports'\nimport { FiltersType } from '../_filters/filtersTypeEnum'\n\nfunction isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is ListWithWarnings {\n return (data as ListWithWarnings).data !== undefined\n}\n\nexport async function renderList(\n listData: ListDataSources,\n variantDefinition: components['schemas']['VariantDefinition'],\n reportQuery: ReportQuery,\n req: Request,\n response: Response,\n next: NextFunction,\n title: string,\n layoutTemplate: string,\n otherOptions?: NodeJS.Dict<object>,\n reportName?: string,\n) {\n await Promise.all([listData.data, listData.count])\n .then(async (resolvedData) => {\n let data\n let warnings: Warnings = {}\n const { specification, classification, printable, description, name: variantName } = variantDefinition\n if (specification) {\n const { template } = specification\n const count = resolvedData[1]\n\n if (isListWithWarnings(resolvedData[0])) {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0].data\n warnings = resolvedData[0].warnings\n } else {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0]\n }\n\n const reportRenderData = await SyncReportUtils.getReportRenderData({\n req,\n count,\n specification,\n reportQuery,\n data,\n filtersType: FiltersType.REQUEST,\n })\n\n const actions = ReportActionsUtils.getActions({\n print: {\n enabled: Boolean(variantDefinition.printable),\n },\n share: {\n reportName: reportName || 'Product',\n name: variantDefinition.name,\n url: reportRenderData.fullUrl,\n },\n copy: {\n url: reportRenderData.fullUrl,\n },\n })\n\n const renderData = {\n renderData: {\n ...reportRenderData,\n reportName,\n name: title || variantName,\n description,\n count,\n classification,\n printable,\n actions,\n template,\n warnings,\n type: ReportType.REPORT,\n ...otherOptions,\n },\n layoutTemplate,\n }\n\n response.render(`dpr/components/report-list/list`, renderData)\n } else {\n throw new Error('No specification in definition')\n }\n })\n .catch((err) => next(err))\n}\n\nexport const renderListWithDefinition = async ({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token,\n apiUrl,\n apiTimeout,\n definitionsPath,\n}: RenderListWithDefinitionInput) => {\n const reportingClient = new ReportingClient({\n url: apiUrl,\n agent: {\n timeout: apiTimeout,\n },\n })\n\n const { dataProductDefinitionsPath } = request.query\n const reportDef = <string>dataProductDefinitionsPath || definitionsPath\n\n try {\n const reportDefinition = await reportingClient.getDefinition(token, definitionName, variantName, reportDef)\n const reportName: string = reportDefinition.name\n const variantDefinition = reportDefinition.variant\n const { specification, resourceName } = variantDefinition\n if (specification) {\n const { fields, template } = specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n ...(reportDef && { definitionsPath: reportDef }),\n })\n\n if (!FiltersUtils.redirectWithDefaultFilters(reportQuery, variantDefinition, response, request)) {\n const getListData: ListDataSources = {\n data: reportingClient.getListWithWarnings(resourceName, token, reportQuery),\n count: reportingClient.getCount(resourceName, token, reportQuery),\n }\n\n await renderList(\n getListData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n `${variantDefinition.name}`,\n layoutTemplate,\n otherOptions,\n title || `${reportName}`,\n )\n }\n } else {\n throw new Error('No specification in definition')\n }\n } catch (error) {\n next(error)\n }\n}\n\nexport const renderListWithData = async ({\n title,\n reportName,\n variantDefinition,\n request,\n response,\n next,\n getListDataSources,\n otherOptions,\n layoutTemplate,\n}: RenderListWithDataInput) => {\n const { specification } = variantDefinition\n const { fields, template } = <components['schemas']['Specification']>specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: <string>request.query['dataProductDefinitionsPath'],\n })\n\n const listData = getListDataSources(reportQuery)\n await renderList(\n listData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n title,\n layoutTemplate,\n otherOptions,\n reportName,\n )\n}\n\nexport const createReportListRequestHandler = ({\n title,\n definitionName,\n variantName,\n apiUrl,\n apiTimeout,\n otherOptions,\n layoutTemplate,\n tokenProvider,\n definitionsPath,\n}: CreateRequestHandlerInput): RequestHandler => {\n return (request: Request, response: Response, next: NextFunction) => {\n renderListWithDefinition({\n title: title || '',\n definitionName,\n variantName,\n request,\n response,\n next,\n layoutTemplate,\n token: tokenProvider(request, response, next),\n apiUrl,\n apiTimeout,\n ...(otherOptions && { otherOptions }),\n ...(definitionsPath && { definitionsPath }),\n })\n }\n}\n\nexport default {\n renderListWithData,\n createReportListRequestHandler,\n renderListWithDefinition,\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAAwB;AAQxB,6BAA4B;AAI5B,mBAA+B;AAE/B,IAAAA,gBAAgC;AAChC,IAAAA,gBAAyB;AACzB,yBAA2B;AAC3B,6BAA4B;AAE5B,SAAS,mBAAmB,MAAmE;AAC7F,SAAQ,KAA0B,SAAS;AAC7C;AAEA,eAAsB,WACpB,UACA,mBACA,aACA,KACA,UACA,MACA,OACA,gBACA,cACA,YACA;AACA,QAAM,QAAQ,IAAI,CAAC,SAAS,MAAM,SAAS,KAAK,CAAC,EAC9C,KAAK,OAAO,iBAAiB;AAC5B,QAAI;AACJ,QAAI,WAAqB,CAAC;AAC1B,UAAM,EAAE,eAAe,gBAAgB,WAAW,aAAa,MAAM,YAAY,IAAI;AACrF,QAAI,eAAe;AACjB,YAAM,EAAE,SAAS,IAAI;AACrB,YAAM,QAAQ,aAAa,CAAC;AAE5B,UAAI,mBAAmB,aAAa,CAAC,CAAC,GAAG;AAEvC,eAAO,aAAa,CAAC,EAAE;AACvB,mBAAW,aAAa,CAAC,EAAE;AAAA,MAC7B,OAAO;AAEL,eAAO,aAAa,CAAC;AAAA,MACvB;AAEA,YAAM,mBAAmB,MAAM,8BAAgB,oBAAoB;AAAA,QACjE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,mCAAY;AAAA,
|
|
4
|
+
"sourcesContent": ["import { NextFunction, Request, RequestHandler, Response } from 'express'\n\nimport ReportQuery from '../../types/ReportQuery'\n\nimport {\n ListDataSources,\n RenderListWithDataInput,\n RenderListWithDefinitionInput,\n CreateRequestHandlerInput,\n} from './types'\nimport ReportingClient from '../../data/reportingClient'\nimport { ListWithWarnings, Warnings } from '../../data/types'\nimport { components } from '../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportActionsUtils from '../_reports/report-heading/report-actions/utils'\nimport { Template } from '../../types/Templates'\nimport { SyncReportUtils } from '../../utils'\nimport FiltersUtils from '../_filters/utils'\nimport { ReportType } from '../../types/UserReports'\nimport { FiltersType } from '../_filters/filtersTypeEnum'\n\nfunction isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is ListWithWarnings {\n return (data as ListWithWarnings).data !== undefined\n}\n\nexport async function renderList(\n listData: ListDataSources,\n variantDefinition: components['schemas']['VariantDefinition'],\n definition: components['schemas']['SingleVariantReportDefinition'],\n reportQuery: ReportQuery,\n req: Request,\n response: Response,\n next: NextFunction,\n title: string,\n layoutTemplate: string,\n otherOptions?: NodeJS.Dict<object>,\n reportName?: string,\n) {\n await Promise.all([listData.data, listData.count])\n .then(async (resolvedData) => {\n let data\n let warnings: Warnings = {}\n const { specification, classification, printable, description, name: variantName } = variantDefinition\n if (specification) {\n const { template } = specification\n const count = resolvedData[1]\n\n if (isListWithWarnings(resolvedData[0])) {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0].data\n warnings = resolvedData[0].warnings\n } else {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0]\n }\n\n const reportRenderData = await SyncReportUtils.getReportRenderData({\n req,\n count,\n specification,\n reportQuery,\n data,\n filtersType: FiltersType.REQUEST,\n definition,\n })\n\n const actions = ReportActionsUtils.getActions({\n print: {\n enabled: Boolean(variantDefinition.printable),\n },\n share: {\n reportName: reportName || 'Product',\n name: variantDefinition.name,\n url: reportRenderData.fullUrl,\n },\n copy: {\n url: reportRenderData.fullUrl,\n },\n })\n\n const renderData = {\n renderData: {\n ...reportRenderData,\n reportName,\n name: title || variantName,\n description,\n count,\n classification,\n printable,\n actions,\n template,\n warnings,\n type: ReportType.REPORT,\n ...otherOptions,\n },\n layoutTemplate,\n }\n\n response.render(`dpr/components/report-list/list`, renderData)\n } else {\n throw new Error('No specification in definition')\n }\n })\n .catch((err) => next(err))\n}\n\nexport const renderListWithDefinition = async ({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token,\n apiUrl,\n apiTimeout,\n definitionsPath,\n}: RenderListWithDefinitionInput) => {\n const reportingClient = new ReportingClient({\n url: apiUrl,\n agent: {\n timeout: apiTimeout,\n },\n })\n\n const { dataProductDefinitionsPath } = request.query\n const reportDef = <string>dataProductDefinitionsPath || definitionsPath\n\n try {\n const reportDefinition = await reportingClient.getDefinition(token, definitionName, variantName, reportDef)\n const reportName: string = reportDefinition.name\n const variantDefinition = reportDefinition.variant\n const { specification, resourceName } = variantDefinition\n if (specification) {\n const { fields, template } = specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n ...(reportDef && { definitionsPath: reportDef }),\n })\n\n if (!FiltersUtils.redirectWithDefaultFilters(reportQuery, variantDefinition, response, request)) {\n const getListData: ListDataSources = {\n data: reportingClient.getListWithWarnings(resourceName, token, reportQuery),\n count: reportingClient.getCount(resourceName, token, reportQuery),\n }\n\n await renderList(\n getListData,\n variantDefinition,\n reportDefinition,\n reportQuery,\n request,\n response,\n next,\n `${variantDefinition.name}`,\n layoutTemplate,\n otherOptions,\n title || `${reportName}`,\n )\n }\n } else {\n throw new Error('No specification in definition')\n }\n } catch (error) {\n next(error)\n }\n}\n\nexport const renderListWithData = async ({\n title,\n reportName,\n variantDefinition,\n request,\n response,\n next,\n getListDataSources,\n otherOptions,\n layoutTemplate,\n}: RenderListWithDataInput) => {\n const { specification } = variantDefinition\n const { fields, template } = <components['schemas']['Specification']>specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: <string>request.query['dataProductDefinitionsPath'],\n })\n\n const definition: components['schemas']['SingleVariantReportDefinition'] = {\n id: variantDefinition.id,\n name: variantDefinition.name,\n variant: variantDefinition,\n }\n\n const listData = getListDataSources(reportQuery)\n await renderList(\n listData,\n variantDefinition,\n definition,\n reportQuery,\n request,\n response,\n next,\n title,\n layoutTemplate,\n otherOptions,\n reportName,\n )\n}\n\nexport const createReportListRequestHandler = ({\n title,\n definitionName,\n variantName,\n apiUrl,\n apiTimeout,\n otherOptions,\n layoutTemplate,\n tokenProvider,\n definitionsPath,\n}: CreateRequestHandlerInput): RequestHandler => {\n return (request: Request, response: Response, next: NextFunction) => {\n renderListWithDefinition({\n title: title || '',\n definitionName,\n variantName,\n request,\n response,\n next,\n layoutTemplate,\n token: tokenProvider(request, response, next),\n apiUrl,\n apiTimeout,\n ...(otherOptions && { otherOptions }),\n ...(definitionsPath && { definitionsPath }),\n })\n }\n}\n\nexport default {\n renderListWithData,\n createReportListRequestHandler,\n renderListWithDefinition,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_utils", "ReportActionsUtils", "ReportingClient", "ReportQuery", "FiltersUtils"]
|
|
7
7
|
}
|
|
@@ -12,7 +12,7 @@ import ReportingClient from '../../data/reportingClient'
|
|
|
12
12
|
import { ListWithWarnings, Warnings } from '../../data/types'
|
|
13
13
|
import { components } from '../../types/api'
|
|
14
14
|
import Dict = NodeJS.Dict
|
|
15
|
-
import ReportActionsUtils from '../_reports/report-actions/utils'
|
|
15
|
+
import ReportActionsUtils from '../_reports/report-heading/report-actions/utils'
|
|
16
16
|
import { Template } from '../../types/Templates'
|
|
17
17
|
import { SyncReportUtils } from '../../utils'
|
|
18
18
|
import FiltersUtils from '../_filters/utils'
|
|
@@ -26,6 +26,7 @@ function isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is Li
|
|
|
26
26
|
export async function renderList(
|
|
27
27
|
listData: ListDataSources,
|
|
28
28
|
variantDefinition: components['schemas']['VariantDefinition'],
|
|
29
|
+
definition: components['schemas']['SingleVariantReportDefinition'],
|
|
29
30
|
reportQuery: ReportQuery,
|
|
30
31
|
req: Request,
|
|
31
32
|
response: Response,
|
|
@@ -60,6 +61,7 @@ export async function renderList(
|
|
|
60
61
|
reportQuery,
|
|
61
62
|
data,
|
|
62
63
|
filtersType: FiltersType.REQUEST,
|
|
64
|
+
definition,
|
|
63
65
|
})
|
|
64
66
|
|
|
65
67
|
const actions = ReportActionsUtils.getActions({
|
|
@@ -149,6 +151,7 @@ export const renderListWithDefinition = async ({
|
|
|
149
151
|
await renderList(
|
|
150
152
|
getListData,
|
|
151
153
|
variantDefinition,
|
|
154
|
+
reportDefinition,
|
|
152
155
|
reportQuery,
|
|
153
156
|
request,
|
|
154
157
|
response,
|
|
@@ -187,10 +190,17 @@ export const renderListWithData = async ({
|
|
|
187
190
|
definitionsPath: <string>request.query['dataProductDefinitionsPath'],
|
|
188
191
|
})
|
|
189
192
|
|
|
193
|
+
const definition: components['schemas']['SingleVariantReportDefinition'] = {
|
|
194
|
+
id: variantDefinition.id,
|
|
195
|
+
name: variantDefinition.name,
|
|
196
|
+
variant: variantDefinition,
|
|
197
|
+
}
|
|
198
|
+
|
|
190
199
|
const listData = getListDataSources(reportQuery)
|
|
191
200
|
await renderList(
|
|
192
201
|
listData,
|
|
193
202
|
variantDefinition,
|
|
203
|
+
definition,
|
|
194
204
|
reportQuery,
|
|
195
205
|
request,
|
|
196
206
|
response,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
{% from "dpr/components/_reports/report-
|
|
1
|
+
{% from "dpr/components/_reports/report-page/view.njk" import dprReportPage %}
|
|
2
2
|
|
|
3
3
|
{% macro dprReportList(renderData) %}
|
|
4
4
|
<div id="dpr-embedded-report-list">
|
|
5
|
-
{{
|
|
5
|
+
{{ dprReportPage(renderData)}}
|
|
6
6
|
<div>
|
|
7
7
|
{% endmacro %}
|