@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.7 → 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.
Files changed (194) hide show
  1. package/dpr/all.js +6 -8
  2. package/dpr/all.js.map +3 -3
  3. package/dpr/all.scss +296 -414
  4. package/dpr/all.ts +6 -11
  5. package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -1
  6. package/dpr/components/_charts/chart/clientClass.js +1 -0
  7. package/dpr/components/_charts/chart/clientClass.js.map +2 -2
  8. package/dpr/components/_charts/chart/clientClass.ts +1 -0
  9. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.js.map +1 -1
  10. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/clientClass.js +1 -1
  11. package/dpr/components/_reports/report-heading/report-actions/clientClass.js.map +7 -0
  12. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/clientClass.ts +1 -1
  13. package/dpr/components/_reports/report-heading/report-actions/types.d.js.map +7 -0
  14. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/types.d.ts +1 -1
  15. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.js.map +1 -1
  16. package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.test.ts +2 -2
  17. package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/clientClass.js +1 -3
  18. package/dpr/components/_reports/report-heading/report-columns/report-columns-form/clientClass.js.map +7 -0
  19. package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/clientClass.ts +1 -3
  20. package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.js.map +1 -1
  21. package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/utils.js +1 -1
  22. package/dpr/components/_reports/report-heading/report-columns/report-columns-form/utils.js.map +7 -0
  23. package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/utils.ts +2 -2
  24. package/dpr/components/_reports/{report-columns → report-heading/report-columns}/view.njk +1 -1
  25. package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/clientClass.js +1 -1
  26. package/dpr/components/_reports/report-heading/report-download-message/clientClass.js.map +7 -0
  27. package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/clientClass.ts +1 -1
  28. package/dpr/components/_reports/{report-filters → report-heading/report-filters}/view.njk +1 -1
  29. package/dpr/components/_reports/report-heading/view.njk +4 -4
  30. package/dpr/components/_reports/report-page/report-print-message/view.njk +10 -0
  31. package/dpr/components/_reports/report-page/report-template/report-no-data-message/styles.scss +8 -0
  32. package/dpr/components/_reports/report-page/report-template/report-no-data-message/view.njk +11 -0
  33. package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/clientClass.js +1 -1
  34. package/dpr/components/_reports/report-page/report-template/report-pagination/clientClass.js.map +7 -0
  35. package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/clientClass.ts +1 -1
  36. package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/types.d.js.map +1 -1
  37. package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.js.map +1 -1
  38. package/dpr/components/_reports/report-page/report-template/report-section/parent-child-template/styles.scss +88 -0
  39. package/dpr/components/_reports/report-page/report-template/report-section/parent-child-template/view.njk +29 -0
  40. package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/clientClass.js +17 -10
  41. package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/clientClass.js.map +7 -0
  42. package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/clientClass.ts +20 -10
  43. package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/style.scss +35 -185
  44. package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/types.d.js.map +7 -0
  45. package/dpr/components/_reports/{report-data-table → report-page/report-template/report-section/report-data-table}/types.d.ts +2 -2
  46. package/dpr/components/_reports/report-page/report-template/report-section/report-data-table/view.njk +27 -0
  47. package/dpr/components/_reports/report-page/report-template/report-section/styles.scss +33 -0
  48. package/dpr/components/_reports/report-page/report-template/report-section/view.njk +58 -0
  49. package/dpr/components/_reports/{report-summary-table → report-page/report-template/report-summary-table}/styles.scss +21 -4
  50. package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.js.map +1 -1
  51. package/dpr/components/_reports/report-page/report-template/styles.scss +5 -0
  52. package/dpr/components/_reports/report-page/report-template/template-config.js +66 -0
  53. package/dpr/components/_reports/report-page/report-template/template-config.js.map +7 -0
  54. package/dpr/components/_reports/report-page/report-template/template-config.ts +45 -0
  55. package/dpr/components/_reports/report-page/report-template/utils.js +82 -0
  56. package/dpr/components/_reports/report-page/report-template/utils.js.map +7 -0
  57. package/dpr/components/_reports/report-page/report-template/utils.ts +100 -0
  58. package/dpr/components/_reports/report-page/report-template/view.njk +61 -0
  59. package/dpr/components/_reports/{report-wrapper → report-page}/styles.scss +7 -5
  60. package/dpr/components/_reports/report-page/view.njk +26 -0
  61. package/dpr/components/card-group/view.njk +0 -4
  62. package/dpr/components/report-list/utils.js +11 -3
  63. package/dpr/components/report-list/utils.js.map +2 -2
  64. package/dpr/components/report-list/utils.ts +11 -1
  65. package/dpr/components/report-list/view.njk +2 -2
  66. package/dpr/components/show-more/style.scss +3 -4
  67. package/dpr/data/reportingClient.js.map +2 -2
  68. package/dpr/data/reportingClient.ts +4 -4
  69. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  70. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
  71. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +1 -1
  72. package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
  73. package/dpr/routes/journeys/view-report/async/report/controller.ts +0 -1
  74. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +207 -56
  75. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
  76. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.ts +333 -64
  77. package/dpr/routes/journeys/view-report/async/report/utils.js +9 -17
  78. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  79. package/dpr/routes/journeys/view-report/async/report/utils.ts +12 -22
  80. package/dpr/routes/journeys/view-report/report.njk +2 -2
  81. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +2 -2
  82. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
  83. package/dpr/routes/journeys/view-report/sync/dashboard/utils.ts +2 -2
  84. package/dpr/routes/journeys/view-report/sync/report/utils.js +38 -11
  85. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
  86. package/dpr/routes/journeys/view-report/sync/report/utils.ts +39 -14
  87. package/dpr/routes/journeys/view-report/utils.js +1 -1
  88. package/dpr/routes/journeys/view-report/utils.js.map +1 -1
  89. package/dpr/routes/journeys/view-report/utils.ts +1 -1
  90. package/dpr/services/reportingService.js.map +2 -2
  91. package/dpr/services/reportingService.ts +2 -2
  92. package/dpr/types/ReportQuery.js +1 -1
  93. package/dpr/types/ReportQuery.js.map +1 -1
  94. package/dpr/types/ReportQuery.ts +1 -1
  95. package/dpr/types/UserReports.js.map +1 -1
  96. package/dpr/types/UserReports.ts +3 -3
  97. package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.js +193 -0
  98. package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.js.map +7 -0
  99. package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/ParentChildDataBuilder.ts +203 -0
  100. package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/types.d.js.map +7 -0
  101. package/dpr/utils/TemplateBuilder/ParentChildDataBuilder/types.d.ts +36 -0
  102. package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.js +114 -0
  103. package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.js.map +7 -0
  104. package/dpr/utils/TemplateBuilder/ReportBuilder/ReportBuilder.ts +117 -0
  105. package/dpr/utils/TemplateBuilder/ReportBuilder/types.d.js.map +7 -0
  106. package/dpr/utils/TemplateBuilder/ReportBuilder/types.d.ts +6 -0
  107. package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.js +202 -0
  108. package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.js.map +7 -0
  109. package/dpr/utils/TemplateBuilder/SectionedDataHelper/SectionedDataHelper.ts +246 -0
  110. package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.js +17 -0
  111. package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.js.map +7 -0
  112. package/dpr/utils/TemplateBuilder/SectionedDataHelper/types.ts +41 -0
  113. package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.js → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.js} +6 -8
  114. package/dpr/utils/TemplateBuilder/SummaryDataHelper/SummaryDataHelper.js.map +7 -0
  115. package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.test.ts} +4 -4
  116. package/dpr/utils/{CollatedSummaryBuilder/CollatedSummaryBuilder.ts → TemplateBuilder/SummaryDataHelper/SummaryDataHelper.ts} +6 -9
  117. package/dpr/utils/TemplateBuilder/TemplateBuilder.js +74 -0
  118. package/dpr/utils/TemplateBuilder/TemplateBuilder.js.map +7 -0
  119. package/dpr/utils/TemplateBuilder/TemplateBuilder.ts +68 -0
  120. package/dpr/utils/definitionUtils.js +22 -2
  121. package/dpr/utils/definitionUtils.js.map +2 -2
  122. package/dpr/utils/definitionUtils.ts +26 -1
  123. package/package.json +1 -1
  124. package/dpr/DprLoadingHelper.js +0 -51
  125. package/dpr/DprLoadingHelper.js.map +0 -7
  126. package/dpr/DprLoadingHelper.ts +0 -27
  127. package/dpr/components/_reports/report/view.njk +0 -40
  128. package/dpr/components/_reports/report-actions/clientClass.js.map +0 -7
  129. package/dpr/components/_reports/report-actions/types.d.js.map +0 -7
  130. package/dpr/components/_reports/report-columns-form/clientClass.js.map +0 -7
  131. package/dpr/components/_reports/report-columns-form/utils.js.map +0 -7
  132. package/dpr/components/_reports/report-data-table/clientClass.js.map +0 -7
  133. package/dpr/components/_reports/report-data-table/types.d.js.map +0 -7
  134. package/dpr/components/_reports/report-data-table/utils.js +0 -123
  135. package/dpr/components/_reports/report-data-table/utils.js.map +0 -7
  136. package/dpr/components/_reports/report-data-table/utils.test.ts +0 -604
  137. package/dpr/components/_reports/report-data-table/utils.ts +0 -150
  138. package/dpr/components/_reports/report-data-table/view.njk +0 -24
  139. package/dpr/components/_reports/report-data-table-wrapper/view.njk +0 -27
  140. package/dpr/components/_reports/report-download-message/clientClass.js.map +0 -7
  141. package/dpr/components/_reports/report-no-data-message/styles.scss +0 -4
  142. package/dpr/components/_reports/report-no-data-message/view.njk +0 -13
  143. package/dpr/components/_reports/report-pagination/clientClass.js.map +0 -7
  144. package/dpr/components/_reports/report-print-message/view.njk +0 -8
  145. package/dpr/components/_reports/report-template/view.njk +0 -44
  146. package/dpr/components/_reports/report-wrapper/view.njk +0 -19
  147. package/dpr/components/loading-anim/styles.scss +0 -117
  148. package/dpr/components/loading-anim/view.njk +0 -18
  149. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +0 -7
  150. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +0 -202
  151. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +0 -7
  152. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +0 -503
  153. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +0 -224
  154. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +0 -7
  155. package/dpr/utils/ParentChildDataTableBuilder/types.d.ts +0 -11
  156. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +0 -311
  157. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +0 -7
  158. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +0 -492
  159. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +0 -342
  160. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +0 -7
  161. package/dpr/utils/SectionedDataTableBuilder/types.d.ts +0 -5
  162. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +0 -146
  163. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +0 -7
  164. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +0 -140
  165. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +0 -150
  166. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.js +0 -0
  167. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/actionsTemplate.ts +0 -0
  168. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/style.scss +0 -0
  169. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/types.d.js +0 -0
  170. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.js +0 -0
  171. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/utils.ts +0 -0
  172. /package/dpr/components/_reports/{report-actions → report-heading/report-actions}/view.njk +0 -0
  173. /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/style.scss +0 -0
  174. /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.js +0 -0
  175. /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/types.d.ts +0 -0
  176. /package/dpr/components/_reports/{report-columns-form → report-heading/report-columns/report-columns-form}/view.njk +0 -0
  177. /package/dpr/components/_reports/{report-columns → report-heading/report-columns}/styles.scss +0 -0
  178. /package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/style.scss +0 -0
  179. /package/dpr/components/_reports/{report-download-message → report-heading/report-download-message}/view.njk +0 -0
  180. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/style.scss +0 -0
  181. /package/dpr/components/_reports/{report-data-table → report-page/report-template/report-pagination}/types.d.js +0 -0
  182. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/types.d.ts +0 -0
  183. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.js +0 -0
  184. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.test.ts +0 -0
  185. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/utils.ts +0 -0
  186. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-pagination}/view.njk +0 -0
  187. /package/dpr/components/_reports/{report-pagination → report-page/report-template/report-section/report-data-table}/types.d.js +0 -0
  188. /package/dpr/components/_reports/{report-summary-table → report-page/report-template/report-summary-table}/view.njk +0 -0
  189. /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/style.scss +0 -0
  190. /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.js +0 -0
  191. /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/utils.ts +0 -0
  192. /package/dpr/components/_reports/{report-totals → report-page/report-template/report-totals}/view.njk +0 -0
  193. /package/dpr/utils/{ParentChildDataTableBuilder → TemplateBuilder/ParentChildDataBuilder}/types.d.js +0 -0
  194. /package/dpr/utils/{SectionedDataTableBuilder → TemplateBuilder/ReportBuilder}/types.d.js +0 -0
@@ -0,0 +1,5 @@
1
+ .dpr-report-template-container {
2
+ .dpr-report-template__page-totals--footer {
3
+ margin-bottom: govuk-spacing(6);
4
+ }
5
+ }
@@ -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-reports-heading-container {
2
- position: relative;
3
- margin-top: govuk-spacing(5);
4
- margin-bottom: govuk-spacing(5);
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-reports-heading-container {
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,MAC3B,CAAC;AAED,YAAM,UAAU,aAAAC,QAAmB,WAAW;AAAA,QAC5C,OAAO;AAAA,UACL,SAAS,QAAQ,kBAAkB,SAAS;AAAA,QAC9C;AAAA,QACA,OAAO;AAAA,UACL,YAAY,cAAc;AAAA,UAC1B,MAAM,kBAAkB;AAAA,UACxB,KAAK,iBAAiB;AAAA,QACxB;AAAA,QACA,MAAM;AAAA,UACJ,KAAK,iBAAiB;AAAA,QACxB;AAAA,MACF,CAAC;AAED,YAAM,aAAa;AAAA,QACjB,YAAY;AAAA,UACV,GAAG;AAAA,UACH;AAAA,UACA,MAAM,SAAS;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,8BAAW;AAAA,UACjB,GAAG;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAEA,eAAS,OAAO,mCAAmC,UAAU;AAAA,IAC/D,OAAO;AACL,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAAA,EACF,CAAC,EACA,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC;AAC7B;AAEO,MAAM,2BAA2B,OAAO;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqC;AACnC,QAAM,kBAAkB,IAAI,uBAAAC,QAAgB;AAAA,IAC1C,KAAK;AAAA,IACL,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF,CAAC;AAED,QAAM,EAAE,2BAA2B,IAAI,QAAQ;AAC/C,QAAM,YAAoB,8BAA8B;AAExD,MAAI;AACF,UAAM,mBAAmB,MAAM,gBAAgB,cAAc,OAAO,gBAAgB,aAAa,SAAS;AAC1G,UAAM,aAAqB,iBAAiB;AAC5C,UAAM,oBAAoB,iBAAiB;AAC3C,UAAM,EAAE,eAAe,aAAa,IAAI;AACxC,QAAI,eAAe;AACjB,YAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,YAAM,cAAc,IAAI,mBAAAC,QAAY;AAAA,QAClC;AAAA,QACA;AAAA,QACA,aAAa,QAAQ;AAAA,QACrB,GAAI,aAAa,EAAE,iBAAiB,UAAU;AAAA,MAChD,CAAC;AAED,UAAI,CAAC,cAAAC,QAAa,2BAA2B,aAAa,mBAAmB,UAAU,OAAO,GAAG;AAC/F,cAAM,cAA+B;AAAA,UACnC,MAAM,gBAAgB,oBAAoB,cAAc,OAAO,WAAW;AAAA,UAC1E,OAAO,gBAAgB,SAAS,cAAc,OAAO,WAAW;AAAA,QAClE;AAEA,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG,kBAAkB,IAAI;AAAA,UACzB;AAAA,UACA;AAAA,UACA,SAAS,GAAG,UAAU;AAAA,QACxB;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AAAA,EACF,SAAS,OAAO;AACd,SAAK,KAAK;AAAA,EACZ;AACF;AAEO,MAAM,qBAAqB,OAAO;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,EAAE,QAAQ,SAAS,IAA4C;AACrE,QAAM,cAAc,IAAI,mBAAAD,QAAY;AAAA,IAClC;AAAA,IACA;AAAA,IACA,aAAa,QAAQ;AAAA,IACrB,iBAAyB,QAAQ,MAAM,4BAA4B;AAAA,EACrE,CAAC;AAED,QAAM,WAAW,mBAAmB,WAAW;AAC/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,iCAAiC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiD;AAC/C,SAAO,CAAC,SAAkB,UAAoB,SAAuB;AACnE,6BAAyB;AAAA,MACvB,OAAO,SAAS;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,cAAc,SAAS,UAAU,IAAI;AAAA,MAC5C;AAAA,MACA;AAAA,MACA,GAAI,gBAAgB,EAAE,aAAa;AAAA,MACnC,GAAI,mBAAmB,EAAE,gBAAgB;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACF;",
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-wrapper/view.njk" import dprReportWrapper %}
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
- {{ dprReportWrapper(renderData)}}
5
+ {{ dprReportPage(renderData)}}
6
6
  <div>
7
7
  {% endmacro %}