@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.0 → 4.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  2. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  3. package/dpr/components/_catalogue/catalogue-list/utils.ts +4 -5
  4. package/dpr/components/_charts/chart/Buckets.js +1 -1
  5. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  6. package/dpr/components/_charts/chart/Buckets.ts +44 -36
  7. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  8. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  9. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +22 -14
  10. package/dpr/components/_charts/chart/heatmap/types.js +2 -0
  11. package/dpr/components/_charts/chart/heatmap/types.js.map +7 -0
  12. package/dpr/components/_charts/chart/heatmap/types.ts +6 -0
  13. package/dpr/components/_charts/utils.js +1 -1
  14. package/dpr/components/_charts/utils.js.map +3 -3
  15. package/dpr/components/_charts/utils.test.ts +10 -7
  16. package/dpr/components/_charts/utils.ts +57 -50
  17. package/dpr/components/_dashboards/dashboard/view.njk +1 -1
  18. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  19. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  20. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +3 -3
  21. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -12
  22. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  23. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +2 -0
  24. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +7 -0
  25. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +40 -0
  26. package/dpr/components/_dashboards/dashboard-visualisation/types.js +2 -0
  27. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +7 -0
  28. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +102 -0
  29. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  30. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  31. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  32. package/dpr/components/_dashboards/scorecard/Scorecard.ts +37 -29
  33. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  34. package/dpr/components/_dashboards/scorecard/types.ts +1 -0
  35. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  36. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  37. package/dpr/components/_dashboards/scorecard/utils.test.ts +13 -4
  38. package/dpr/components/_dashboards/scorecard/utils.ts +6 -5
  39. package/dpr/components/_dashboards/scorecard/view.njk +6 -5
  40. package/dpr/components/_dashboards/scorecard-group/view.njk +4 -4
  41. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  42. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  43. package/dpr/components/_reports/report-heading/view.njk +1 -1
  44. package/dpr/data/dashboardClient.js +1 -1
  45. package/dpr/data/dashboardClient.js.map +2 -2
  46. package/dpr/data/dashboardClient.ts +8 -7
  47. package/dpr/data/reportingClient.js +1 -1
  48. package/dpr/data/reportingClient.js.map +1 -1
  49. package/dpr/data/reportingClient.ts +1 -1
  50. package/dpr/middleware/reportAuthoriser.js +1 -1
  51. package/dpr/middleware/reportAuthoriser.js.map +3 -3
  52. package/dpr/middleware/reportAuthoriser.ts +9 -20
  53. package/dpr/routes/journeys/download-report/controller.js +1 -1
  54. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  55. package/dpr/routes/journeys/download-report/controller.ts +4 -1
  56. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  57. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +2 -2
  58. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.ts +1 -0
  59. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  60. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  61. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.ts +1 -0
  62. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  63. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  64. package/dpr/routes/journeys/download-report/tests.cy.ts +2 -8
  65. package/dpr/routes/journeys/download-report/utils.js +1 -1
  66. package/dpr/routes/journeys/download-report/utils.js.map +3 -3
  67. package/dpr/routes/journeys/download-report/utils.ts +10 -7
  68. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  69. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  70. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -0
  71. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  72. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +3 -3
  73. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +5 -14
  74. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  75. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  76. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +11 -5
  77. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  78. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +3 -3
  79. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +4 -7
  80. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  81. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  82. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.ts +1 -0
  83. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  84. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  85. package/dpr/routes/journeys/request-missing-report/form/tests.cy.ts +1 -0
  86. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  87. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  88. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +3 -5
  89. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  90. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
  91. package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -6
  92. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  93. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  94. package/dpr/routes/journeys/request-report/filters/utils.ts +2 -3
  95. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  96. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  97. package/dpr/routes/journeys/request-report/status/tests.cy.ts +2 -7
  98. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  99. package/dpr/routes/journeys/request-report/tests.cy.js.map +3 -3
  100. package/dpr/routes/journeys/request-report/tests.cy.ts +5 -21
  101. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  102. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  103. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  104. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  105. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -10
  106. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  107. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  108. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +100 -95
  109. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  110. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  111. package/dpr/routes/journeys/view-report/async/report/controller.ts +4 -6
  112. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  113. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  114. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +8 -19
  115. package/dpr/routes/journeys/view-report/async/report/types.js +2 -0
  116. package/dpr/routes/journeys/view-report/async/report/types.js.map +7 -0
  117. package/dpr/routes/journeys/view-report/async/report/types.ts +31 -0
  118. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  119. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  120. package/dpr/routes/journeys/view-report/async/report/utils.ts +173 -136
  121. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  122. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +3 -3
  123. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +3 -5
  124. package/dpr/services/dashboardService.js +1 -1
  125. package/dpr/services/dashboardService.js.map +2 -2
  126. package/dpr/services/dashboardService.ts +7 -5
  127. package/dpr/services/productCollection/productCollectionService.js +1 -1
  128. package/dpr/services/productCollection/productCollectionService.js.map +2 -2
  129. package/dpr/services/productCollection/productCollectionService.ts +3 -3
  130. package/dpr/services/reportingService.js +1 -1
  131. package/dpr/services/reportingService.js.map +1 -1
  132. package/dpr/services/reportingService.ts +1 -1
  133. package/dpr/types/AsyncReportUtils.js.map +1 -1
  134. package/dpr/types/AsyncReportUtils.ts +3 -4
  135. package/dpr/types/Charts.js +1 -1
  136. package/dpr/types/Charts.js.map +3 -3
  137. package/dpr/types/Charts.ts +0 -82
  138. package/dpr/types/Metrics.js +1 -1
  139. package/dpr/types/Metrics.js.map +1 -1
  140. package/dpr/types/Metrics.ts +7 -0
  141. package/dpr/types/ReportQuery.js +1 -1
  142. package/dpr/types/ReportQuery.js.map +3 -3
  143. package/dpr/types/ReportQuery.ts +24 -15
  144. package/dpr/types/Services.d.js +1 -1
  145. package/dpr/types/Services.d.js.map +1 -1
  146. package/dpr/types/Services.d.ts +2 -0
  147. package/dpr/types/api.d.js.map +1 -1
  148. package/dpr/types/api.d.ts +14 -16
  149. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  150. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  151. package/dpr/utils/Personalisation/personalisationUtils.ts +15 -6
  152. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  153. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  154. package/dpr/utils/UserStoreItemBuilder.ts +2 -2
  155. package/dpr/utils/datasetHelper.js +1 -1
  156. package/dpr/utils/datasetHelper.js.map +3 -3
  157. package/dpr/utils/datasetHelper.test.ts +11 -11
  158. package/dpr/utils/datasetHelper.ts +23 -8
  159. package/dpr/utils/logger.js +1 -1
  160. package/dpr/utils/logger.js.map +3 -3
  161. package/dpr/utils/logger.ts +6 -1
  162. package/package.json +2 -1
  163. package/dpr/components/_charts/chart/DashboardVisualisation.js +0 -2
  164. package/dpr/components/_charts/chart/DashboardVisualisation.js.map +0 -7
  165. package/dpr/components/_charts/chart/DashboardVisualisation.ts +0 -43
  166. package/dpr/components/_dashboards/dashboard/types.js +0 -2
  167. package/dpr/components/_dashboards/dashboard/types.js.map +0 -7
  168. package/dpr/components/_dashboards/dashboard/types.ts +0 -120
@@ -1,10 +1,12 @@
1
- import { DashboardDefinition } from '../components/_dashboards/dashboard/types'
2
1
  import Dict = NodeJS.Dict
3
2
  import logger from '../utils/logger'
3
+ import DashboardClient from '../data/dashboardClient'
4
+ import { components } from '../types/api'
5
+ import { DashboardDataResponse } from '../types/Metrics'
4
6
 
5
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
8
  class DashboardService {
7
- constructor(private readonly dashboardClient: any) {
9
+ constructor(private readonly dashboardClient: DashboardClient) {
8
10
  this.dashboardClient = dashboardClient
9
11
  logger.info('Service created: DashboardService')
10
12
  }
@@ -14,7 +16,7 @@ class DashboardService {
14
16
  dpdId: string,
15
17
  id: string,
16
18
  dataProductDefinitionsPath?: string,
17
- ): Promise<DashboardDefinition> {
19
+ ): Promise<components['schemas']['DashboardDefinition']> {
18
20
  return this.dashboardClient.getDefinition(token, id, dpdId, dataProductDefinitionsPath)
19
21
  }
20
22
 
@@ -66,8 +68,8 @@ class DashboardService {
66
68
  dashboardId: string,
67
69
  reportId: string,
68
70
  tableId: string,
69
- query: Dict<string | number>,
70
- ): Promise<Array<Dict<string>>> {
71
+ query: Record<string, string | string[]>,
72
+ ): Promise<DashboardDataResponse[][]> {
71
73
  return this.dashboardClient.getAsyncDashboard(token, reportId, dashboardId, tableId, query)
72
74
  }
73
75
  }
@@ -1,2 +1,2 @@
1
- var l=Object.create;var n=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var g=(o,t)=>{for(var e in t)n(o,e,{get:t[e],enumerable:!0})},s=(o,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of m(t))!u.call(o,r)&&r!==e&&n(o,r,{get:()=>t[r],enumerable:!(i=C(t,r))||i.enumerable});return o};var P=(o,t,e)=>(e=o!=null?l(p(o)):{},s(t||!o||!o.__esModule?n(e,"default",{value:o,enumerable:!0}):e,o)),a=o=>s(n({},"__esModule",{value:!0}),o);var h={};g(h,{ProductCollectionService:()=>d});module.exports=a(h);var c=P(require("src/dpr/data/restClient"));class d{constructor(t){this.restClient=new c.default("ProductCollection API",t)}async getProductCollections(t){return this.restClient.get({path:"/productCollections",token:t})}async getProductCollection(t,e){return this.restClient.get({path:`/productCollections/${e}`,token:t})}}0&&(module.exports={ProductCollectionService});
1
+ var l=Object.create;var n=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var g=(o,t)=>{for(var e in t)n(o,e,{get:t[e],enumerable:!0})},s=(o,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of m(t))!u.call(o,r)&&r!==e&&n(o,r,{get:()=>t[r],enumerable:!(i=C(t,r))||i.enumerable});return o};var P=(o,t,e)=>(e=o!=null?l(p(o)):{},s(t||!o||!o.__esModule?n(e,"default",{value:o,enumerable:!0}):e,o)),a=o=>s(n({},"__esModule",{value:!0}),o);var h={};g(h,{ProductCollectionService:()=>d});module.exports=a(h);var c=P(require("../../data/restClient"));class d{constructor(t){this.restClient=new c.default("ProductCollection API",t)}async getProductCollections(t){return this.restClient.get({path:"/productCollections",token:t})}async getProductCollection(t,e){return this.restClient.get({path:`/productCollections/${e}`,token:t})}}0&&(module.exports={ProductCollectionService});
2
2
  //# sourceMappingURL=productCollectionService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/services/productCollection/productCollectionService.ts"],
4
- "sourcesContent": ["import RestClient from 'src/dpr/data/restClient'\nimport { ApiConfig } from 'src/dpr/data/types'\nimport { components } from 'src/dpr/types/api'\n\nexport class ProductCollectionService {\n restClient: RestClient\n\n constructor(config: ApiConfig) {\n this.restClient = new RestClient('ProductCollection API', config)\n }\n\n async getProductCollections(token: string): Promise<components['schemas']['ProductCollectionSummary'][]> {\n return this.restClient.get({\n path: `/productCollections`,\n token,\n })\n }\n\n async getProductCollection(token: string, id: string): Promise<components['schemas']['ProductCollectionDTO']> {\n return this.restClient.get({\n path: `/productCollections/${id}`,\n token,\n })\n }\n}\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,sCAIhB,MAAMF,CAAyB,CAGpC,YAAYG,EAAmB,CAC7B,KAAK,WAAa,IAAI,EAAAC,QAAW,wBAAyBD,CAAM,CAClE,CAEA,MAAM,sBAAsBE,EAA6E,CACvG,OAAO,KAAK,WAAW,IAAI,CACzB,KAAM,sBACN,MAAAA,CACF,CAAC,CACH,CAEA,MAAM,qBAAqBA,EAAeC,EAAoE,CAC5G,OAAO,KAAK,WAAW,IAAI,CACzB,KAAM,uBAAuBA,CAAE,GAC/B,MAAAD,CACF,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import { ApiConfig } from '../../data/types'\nimport { components } from '../../types/api'\nimport RestClient from '../../data/restClient'\n\nexport class ProductCollectionService {\n restClient: RestClient\n\n constructor(config: ApiConfig) {\n this.restClient = new RestClient('ProductCollection API', config)\n }\n\n async getProductCollections(token: string): Promise<components['schemas']['ProductCollectionSummary'][]> {\n return this.restClient.get({\n path: `/productCollections`,\n token,\n })\n }\n\n async getProductCollection(token: string, id: string): Promise<components['schemas']['ProductCollectionDTO']> {\n return this.restClient.get({\n path: `/productCollections/${id}`,\n token,\n })\n }\n}\n"],
5
+ "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAAuB,oCAEhB,MAAMF,CAAyB,CAGpC,YAAYG,EAAmB,CAC7B,KAAK,WAAa,IAAI,EAAAC,QAAW,wBAAyBD,CAAM,CAClE,CAEA,MAAM,sBAAsBE,EAA6E,CACvG,OAAO,KAAK,WAAW,IAAI,CACzB,KAAM,sBACN,MAAAA,CACF,CAAC,CACH,CAEA,MAAM,qBAAqBA,EAAeC,EAAoE,CAC5G,OAAO,KAAK,WAAW,IAAI,CACzB,KAAM,uBAAuBA,CAAE,GAC/B,MAAAD,CACF,CAAC,CACH,CACF",
6
6
  "names": ["productCollectionService_exports", "__export", "ProductCollectionService", "__toCommonJS", "import_restClient", "config", "RestClient", "token", "id"]
7
7
  }
@@ -1,6 +1,6 @@
1
- import RestClient from 'src/dpr/data/restClient'
2
- import { ApiConfig } from 'src/dpr/data/types'
3
- import { components } from 'src/dpr/types/api'
1
+ import { ApiConfig } from '../../data/types'
2
+ import { components } from '../../types/api'
3
+ import RestClient from '../../data/restClient'
4
4
 
5
5
  export class ProductCollectionService {
6
6
  restClient: RestClient
@@ -1,2 +1,2 @@
1
- var a=Object.create;var g=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var R=(e,t)=>{for(var r in t)g(e,r,{get:t[r],enumerable:!0})},m=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of y(t))!C.call(e,i)&&i!==r&&g(e,i,{get:()=>t[i],enumerable:!(n=u(t,i))||n.enumerable});return e};var h=(e,t,r)=>(r=e!=null?a(l(e)):{},m(t||!e||!e.__esModule?g(r,"default",{value:e,enumerable:!0}):r,e)),D=e=>m(g({},"__esModule",{value:!0}),e);var f={};R(f,{ReportingService:()=>c,default:()=>A});module.exports=D(f);var p=h(require("../utils/logger"));class c{constructor(t){this.reportingClient=t;this.reportingClient=t,p.default.info("Service created: ReportingService")}async getCount(t,r,n){return this.reportingClient.getCount(t,r,n)}async getList(t,r,n){return this.reportingClient.getList(t,r,n)}async getListWithWarnings(t,r,n){return this.reportingClient.getListWithWarnings(t,r,n)}async getDefinitionSummary(t,r,n){return this.reportingClient.getDefinitionSummary(t,r,n)}async getDefinitions(t,r){return this.reportingClient.getDefinitions(t,r)}async getDefinition(t,r,n,i){return this.reportingClient.getDefinition(t,r,n,i)}async requestAsyncReport(t,r,n,i){return this.reportingClient.requestAsyncReport(t,r,n,i)}async cancelAsyncRequest(t,r,n,i,s){return this.reportingClient.cancelAsyncRequest(t,r,n,i,s)}async getAsyncReport(t,r,n,i,s){return this.reportingClient.getAsyncReport(t,r,n,i,s)}async getAsyncSummaryReport(t,r,n,i,s,o){return this.reportingClient.getAsyncSummaryReport(t,r,n,i,s,o)}async getAsyncReportStatus(t,r,n,i,s,o){return this.reportingClient.getAsyncReportStatus(t,r,n,i,s,o)}async getAsyncCount(t,r,n){return this.reportingClient.getAsyncCount(t,r,n)}async getAsyncInteractiveCount(t,r,n,i,s){return this.reportingClient.getAsyncInteractiveCount(t,r,n,i,s)}}var A=c;0&&(module.exports={ReportingService});
1
+ var a=Object.create;var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var C=(e,t)=>{for(var r in t)g(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of u(t))!R.call(e,i)&&i!==r&&g(e,i,{get:()=>t[i],enumerable:!(n=y(t,i))||n.enumerable});return e};var h=(e,t,r)=>(r=e!=null?a(l(e)):{},p(t||!e||!e.__esModule?g(r,"default",{value:e,enumerable:!0}):r,e)),A=e=>p(g({},"__esModule",{value:!0}),e);var f={};C(f,{ReportingService:()=>c,default:()=>D});module.exports=A(f);var m=h(require("../utils/logger"));class c{constructor(t){this.reportingClient=t;this.reportingClient=t,m.default.info("Service created: ReportingService")}async getCount(t,r,n){return this.reportingClient.getCount(t,r,n)}async getList(t,r,n){return this.reportingClient.getList(t,r,n)}async getListWithWarnings(t,r,n){return this.reportingClient.getListWithWarnings(t,r,n)}async getDefinitionSummary(t,r,n){return this.reportingClient.getDefinitionSummary(t,r,n)}async getDefinitions(t,r){return this.reportingClient.getDefinitions(t,r)}async getDefinition(t,r,n,i){return this.reportingClient.getDefinition(t,r,n,i)}async requestAsyncReport(t,r,n,i){return this.reportingClient.requestAsyncReport(t,r,n,i)}async cancelAsyncRequest(t,r,n,i,s){return this.reportingClient.cancelAsyncRequest(t,r,n,i,s)}async getAsyncReport(t,r,n,i,s){return this.reportingClient.getAsyncReport(t,r,n,i,s)}async getAsyncSummaryReport(t,r,n,i,s,o){return this.reportingClient.getAsyncSummaryReport(t,r,n,i,s,o)}async getAsyncReportStatus(t,r,n,i,s,o){return this.reportingClient.getAsyncReportStatus(t,r,n,i,s,o)}async getAsyncCount(t,r,n){return this.reportingClient.getAsyncCount(t,r,n)}async getAsyncInteractiveCount(t,r,n,i,s){return this.reportingClient.getAsyncInteractiveCount(t,r,n,i,s)}}var D=c;0&&(module.exports={ReportingService});
2
2
  //# sourceMappingURL=reportingService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/services/reportingService.ts"],
4
- "sourcesContent": ["import { components } from '../types/api'\nimport type ReportingClient from '../data/reportingClient'\nimport ReportQuery from '../types/ReportQuery'\nimport Dict = NodeJS.Dict\nimport { ListWithWarnings } from '../data/types'\nimport logger from '../utils/logger'\n\nclass ReportingService {\n constructor(private readonly reportingClient: ReportingClient) {\n this.reportingClient = reportingClient\n logger.info('Service created: ReportingService')\n }\n\n async getCount(resourceName: string, token: string, listRequest: ReportQuery): Promise<number> {\n return this.reportingClient.getCount(resourceName, token, listRequest)\n }\n\n async getList(resourceName: string, token: string, listRequest: ReportQuery): Promise<Array<NodeJS.Dict<string>>> {\n return this.reportingClient.getList(resourceName, token, listRequest)\n }\n\n async getListWithWarnings(resourceName: string, token: string, listRequest: ReportQuery): Promise<ListWithWarnings> {\n return this.reportingClient.getListWithWarnings(resourceName, token, listRequest)\n }\n\n async getDefinitionSummary(\n token: string,\n reportId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['ReportDefinitionSummary']> {\n return this.reportingClient.getDefinitionSummary(token, reportId, dataProductDefinitionsPath)\n }\n\n async getDefinitions(\n token: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Array<components['schemas']['ReportDefinitionSummary']>> {\n return this.reportingClient.getDefinitions(token, dataProductDefinitionsPath)\n }\n\n async getDefinition(\n token: string,\n reportId: string,\n variantId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['SingleVariantReportDefinition']> {\n return this.reportingClient.getDefinition(token, reportId, variantId, dataProductDefinitionsPath)\n }\n\n async requestAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n query: Record<string, string | boolean | number>,\n ): Promise<Dict<string>> {\n return this.reportingClient.requestAsyncReport(token, reportId, variantId, query)\n }\n\n async cancelAsyncRequest(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Dict<string>> {\n return this.reportingClient.cancelAsyncRequest(token, reportId, variantId, executionId, dataProductDefinitionsPath)\n }\n\n async getAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n query: Dict<string | number>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncReport(token, reportId, variantId, tableId, query)\n }\n\n async getAsyncSummaryReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n summaryId: string,\n query: Dict<string | number>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncSummaryReport(token, reportId, variantId, tableId, summaryId, query)\n }\n\n async getAsyncReportStatus(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath: string,\n tableId: string,\n ): Promise<Dict<string>> {\n return this.reportingClient.getAsyncReportStatus(\n token,\n reportId,\n variantId,\n executionId,\n dataProductDefinitionsPath,\n tableId,\n )\n }\n\n async getAsyncCount(token: string, tableId: string, dataProductDefinitionsPath?: string): Promise<number> {\n return this.reportingClient.getAsyncCount(token, tableId, dataProductDefinitionsPath)\n }\n\n async getAsyncInteractiveCount(\n token: string,\n tableId: string,\n reportId: string,\n id: string,\n filters: ReportQuery,\n ): Promise<number> {\n return this.reportingClient.getAsyncInteractiveCount(token, tableId, reportId, id, filters)\n }\n}\n\nexport { ReportingService }\nexport default ReportingService\n"],
4
+ "sourcesContent": ["import { components } from '../types/api'\nimport type ReportingClient from '../data/reportingClient'\nimport ReportQuery from '../types/ReportQuery'\nimport Dict = NodeJS.Dict\nimport { ListWithWarnings } from '../data/types'\nimport logger from '../utils/logger'\n\nclass ReportingService {\n constructor(private readonly reportingClient: ReportingClient) {\n this.reportingClient = reportingClient\n logger.info('Service created: ReportingService')\n }\n\n async getCount(resourceName: string, token: string, listRequest: ReportQuery): Promise<number> {\n return this.reportingClient.getCount(resourceName, token, listRequest)\n }\n\n async getList(resourceName: string, token: string, listRequest: ReportQuery): Promise<Array<NodeJS.Dict<string>>> {\n return this.reportingClient.getList(resourceName, token, listRequest)\n }\n\n async getListWithWarnings(resourceName: string, token: string, listRequest: ReportQuery): Promise<ListWithWarnings> {\n return this.reportingClient.getListWithWarnings(resourceName, token, listRequest)\n }\n\n async getDefinitionSummary(\n token: string,\n reportId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['ReportDefinitionSummary']> {\n return this.reportingClient.getDefinitionSummary(token, reportId, dataProductDefinitionsPath)\n }\n\n async getDefinitions(\n token: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Array<components['schemas']['ReportDefinitionSummary']>> {\n return this.reportingClient.getDefinitions(token, dataProductDefinitionsPath)\n }\n\n async getDefinition(\n token: string,\n reportId: string,\n variantId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<components['schemas']['SingleVariantReportDefinition']> {\n return this.reportingClient.getDefinition(token, reportId, variantId, dataProductDefinitionsPath)\n }\n\n async requestAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n query: Record<string, string | boolean | number>,\n ): Promise<Dict<string>> {\n return this.reportingClient.requestAsyncReport(token, reportId, variantId, query)\n }\n\n async cancelAsyncRequest(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath?: string,\n ): Promise<Dict<string>> {\n return this.reportingClient.cancelAsyncRequest(token, reportId, variantId, executionId, dataProductDefinitionsPath)\n }\n\n async getAsyncReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n query: Record<string, string | string[]>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncReport(token, reportId, variantId, tableId, query)\n }\n\n async getAsyncSummaryReport(\n token: string,\n reportId: string,\n variantId: string,\n tableId: string,\n summaryId: string,\n query: Dict<string | number>,\n ): Promise<Array<Dict<string>>> {\n return this.reportingClient.getAsyncSummaryReport(token, reportId, variantId, tableId, summaryId, query)\n }\n\n async getAsyncReportStatus(\n token: string,\n reportId: string,\n variantId: string,\n executionId: string,\n dataProductDefinitionsPath: string,\n tableId: string,\n ): Promise<Dict<string>> {\n return this.reportingClient.getAsyncReportStatus(\n token,\n reportId,\n variantId,\n executionId,\n dataProductDefinitionsPath,\n tableId,\n )\n }\n\n async getAsyncCount(token: string, tableId: string, dataProductDefinitionsPath?: string): Promise<number> {\n return this.reportingClient.getAsyncCount(token, tableId, dataProductDefinitionsPath)\n }\n\n async getAsyncInteractiveCount(\n token: string,\n tableId: string,\n reportId: string,\n id: string,\n filters: ReportQuery,\n ): Promise<number> {\n return this.reportingClient.getAsyncInteractiveCount(token, tableId, reportId, id, filters)\n }\n}\n\nexport { ReportingService }\nexport default ReportingService\n"],
5
5
  "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAKA,IAAAK,EAAmB,8BAEnB,MAAMH,CAAiB,CACrB,YAA6BI,EAAkC,CAAlC,qBAAAA,EAC3B,KAAK,gBAAkBA,EACvB,EAAAC,QAAO,KAAK,mCAAmC,CACjD,CAEA,MAAM,SAASC,EAAsBC,EAAeC,EAA2C,CAC7F,OAAO,KAAK,gBAAgB,SAASF,EAAcC,EAAOC,CAAW,CACvE,CAEA,MAAM,QAAQF,EAAsBC,EAAeC,EAA+D,CAChH,OAAO,KAAK,gBAAgB,QAAQF,EAAcC,EAAOC,CAAW,CACtE,CAEA,MAAM,oBAAoBF,EAAsBC,EAAeC,EAAqD,CAClH,OAAO,KAAK,gBAAgB,oBAAoBF,EAAcC,EAAOC,CAAW,CAClF,CAEA,MAAM,qBACJD,EACAE,EACAC,EAC2D,CAC3D,OAAO,KAAK,gBAAgB,qBAAqBH,EAAOE,EAAUC,CAA0B,CAC9F,CAEA,MAAM,eACJH,EACAG,EACkE,CAClE,OAAO,KAAK,gBAAgB,eAAeH,EAAOG,CAA0B,CAC9E,CAEA,MAAM,cACJH,EACAE,EACAE,EACAD,EACiE,CACjE,OAAO,KAAK,gBAAgB,cAAcH,EAAOE,EAAUE,EAAWD,CAA0B,CAClG,CAEA,MAAM,mBACJH,EACAE,EACAE,EACAC,EACuB,CACvB,OAAO,KAAK,gBAAgB,mBAAmBL,EAAOE,EAAUE,EAAWC,CAAK,CAClF,CAEA,MAAM,mBACJL,EACAE,EACAE,EACAE,EACAH,EACuB,CACvB,OAAO,KAAK,gBAAgB,mBAAmBH,EAAOE,EAAUE,EAAWE,EAAaH,CAA0B,CACpH,CAEA,MAAM,eACJH,EACAE,EACAE,EACAG,EACAF,EAC8B,CAC9B,OAAO,KAAK,gBAAgB,eAAeL,EAAOE,EAAUE,EAAWG,EAASF,CAAK,CACvF,CAEA,MAAM,sBACJL,EACAE,EACAE,EACAG,EACAC,EACAH,EAC8B,CAC9B,OAAO,KAAK,gBAAgB,sBAAsBL,EAAOE,EAAUE,EAAWG,EAASC,EAAWH,CAAK,CACzG,CAEA,MAAM,qBACJL,EACAE,EACAE,EACAE,EACAH,EACAI,EACuB,CACvB,OAAO,KAAK,gBAAgB,qBAC1BP,EACAE,EACAE,EACAE,EACAH,EACAI,CACF,CACF,CAEA,MAAM,cAAcP,EAAeO,EAAiBJ,EAAsD,CACxG,OAAO,KAAK,gBAAgB,cAAcH,EAAOO,EAASJ,CAA0B,CACtF,CAEA,MAAM,yBACJH,EACAO,EACAL,EACAO,EACAC,EACiB,CACjB,OAAO,KAAK,gBAAgB,yBAAyBV,EAAOO,EAASL,EAAUO,EAAIC,CAAO,CAC5F,CACF,CAGA,IAAOhB,EAAQD",
6
6
  "names": ["reportingService_exports", "__export", "ReportingService", "reportingService_default", "__toCommonJS", "import_logger", "reportingClient", "logger", "resourceName", "token", "listRequest", "reportId", "dataProductDefinitionsPath", "variantId", "query", "executionId", "tableId", "summaryId", "id", "filters"]
7
7
  }
@@ -71,7 +71,7 @@ class ReportingService {
71
71
  reportId: string,
72
72
  variantId: string,
73
73
  tableId: string,
74
- query: Dict<string | number>,
74
+ query: Record<string, string | string[]>,
75
75
  ): Promise<Array<Dict<string>>> {
76
76
  return this.reportingClient.getAsyncReport(token, reportId, variantId, tableId, query)
77
77
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/AsyncReportUtils.ts"],
4
- "sourcesContent": ["import { Response, Request, NextFunction } from 'express'\nimport { Services } from './Services'\nimport { components } from './api'\nimport { ReportType } from './UserReports'\nimport { DashboardSection } from '../components/_dashboards/dashboard/types'\nimport { RenderFiltersReturnValue } from '../components/_async/async-filters-form/types'\n\nexport interface AsyncReportUtilsParams {\n req?: Request\n res?: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface EmbeddedReportUtilsParams {\n req?: Request\n res: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface RequestReportData {\n interactiveFilters?: components['schemas']['FilterDefinition'][]\n reportName: string\n name: string\n description: string\n reportId: string\n id: string\n definitionPath: string\n csrfToken: string\n template?: string\n sections: DashboardSection[]\n type: ReportType\n defaultInteractiveQueryString?: string\n hasDefaults: boolean\n defaultsSaved?: string\n}\n\nexport interface RequestDataResult {\n title: string\n filtersDescription: string\n filtersData: RenderFiltersReturnValue\n reportData: RequestReportData\n}\n"],
4
+ "sourcesContent": ["import { Response, Request, NextFunction } from 'express'\nimport { Services } from './Services'\nimport { components } from './api'\nimport { ReportType } from './UserReports'\nimport { RenderFiltersReturnValue } from '../components/_async/async-filters-form/types'\n\nexport interface AsyncReportUtilsParams {\n req: Request\n res: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface EmbeddedReportUtilsParams {\n req?: Request\n res: Response\n next?: NextFunction\n services: Services\n}\n\nexport interface RequestReportData {\n interactiveFilters?: components['schemas']['FilterDefinition'][]\n reportName: string\n name: string\n description: string\n reportId: string\n id: string\n definitionPath: string\n csrfToken: string\n template?: string\n sections: components['schemas']['DashboardSectionDefinition'][]\n type: ReportType\n defaultInteractiveQueryString?: string\n hasDefaults: boolean\n defaultsSaved?: string\n}\n\nexport interface RequestDataResult {\n title: string\n filtersDescription: string\n filtersData: RenderFiltersReturnValue\n reportData: RequestReportData\n}\n"],
5
5
  "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["AsyncReportUtils_exports", "__toCommonJS"]
7
7
  }
@@ -2,12 +2,11 @@ import { Response, Request, NextFunction } from 'express'
2
2
  import { Services } from './Services'
3
3
  import { components } from './api'
4
4
  import { ReportType } from './UserReports'
5
- import { DashboardSection } from '../components/_dashboards/dashboard/types'
6
5
  import { RenderFiltersReturnValue } from '../components/_async/async-filters-form/types'
7
6
 
8
7
  export interface AsyncReportUtilsParams {
9
- req?: Request
10
- res?: Response
8
+ req: Request
9
+ res: Response
11
10
  next?: NextFunction
12
11
  services: Services
13
12
  }
@@ -29,7 +28,7 @@ export interface RequestReportData {
29
28
  definitionPath: string
30
29
  csrfToken: string
31
30
  template?: string
32
- sections: DashboardSection[]
31
+ sections: components['schemas']['DashboardSectionDefinition'][]
33
32
  type: ReportType
34
33
  defaultInteractiveQueryString?: string
35
34
  hasDefaults: boolean
@@ -1,2 +1,2 @@
1
- var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var C=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!h.call(e,a)&&a!==r&&n(e,a,{get:()=>t[a],enumerable:!(i=l(t,a))||i.enumerable});return e};var x=e=>p(n({},"__esModule",{value:!0}),e);var b={};C(b,{ChartType:()=>o,UnitType:()=>s});module.exports=x(b);var s=(r=>(r.NUMBER="number",r.PERCENTAGE="percentage",r))(s||{}),o=(a=>(a.DONUT="doughnut",a.BAR="bar",a.BAR_TIMESERIES="bar-timeseries",a.LINE="line",a))(o||{});0&&(module.exports={ChartType,UnitType});
1
+ var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var g=(t,a,i,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let e of h(a))!s.call(t,e)&&e!==i&&n(t,e,{get:()=>a[e],enumerable:!(r=l(a,e))||r.enumerable});return t};var C=t=>g(n({},"__esModule",{value:!0}),t);var D={};module.exports=C(D);
2
2
  //# sourceMappingURL=Charts.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/Charts.ts"],
4
- "sourcesContent": ["export interface ChartData {\n type: ChartType\n unit?: UnitType\n data: ChartDataValues\n timeseries?: boolean\n}\n\nexport interface ChartDetails {\n meta?: ChartMetaData[]\n headlines?: ChartMetaData[]\n}\n\nexport interface ChartMetaData {\n label: string\n value: string | number\n legend?: string\n}\n\nexport enum UnitType {\n NUMBER = 'number',\n PERCENTAGE = 'percentage',\n}\n\nexport enum ChartType {\n DONUT = 'doughnut',\n BAR = 'bar',\n BAR_TIMESERIES = 'bar-timeseries',\n LINE = 'line',\n}\n\nexport interface ChartCardData {\n chart: ChartData\n table?: MoJTable\n details?: ChartDetails\n}\n\nexport interface ChartDataValues {\n labels?: string[]\n datasets: ChartDataset[]\n axis?: 'x' | 'y'\n}\n\nexport interface ChartDataset {\n label: string\n data: number[] | MatrixChartData[]\n total?: number\n}\n\nexport interface MatrixChartData {\n x: number | string\n y: number | string\n r?: number\n v?: number\n}\n\nexport interface MoJTable {\n head: MoJTableHead[]\n rows: MoJTableRow[][]\n}\n\nexport interface MoJTableRow {\n text?: string\n html?: string\n}\n\nexport interface MoJTableHead {\n text?: string\n html?: string\n}\n\nexport interface ChartCardValue {\n value: string | number\n name: string\n display: string\n unit?: UnitType\n chart?: ChartType[]\n}\n\nexport interface ChartValue {\n group?: ChartGroup\n data: ChartCardValue[]\n}\n\nexport interface ChartGroup {\n name: string\n value: string\n}\n\nexport interface ChartsData {\n type: ChartType\n datasets: { data: ChartCardValue[]; group: ChartGroup }[]\n}\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,EAAA,aAAAC,IAAA,eAAAC,EAAAJ,GAkBO,IAAKG,OACVA,EAAA,OAAS,SACTA,EAAA,WAAa,aAFHA,OAAA,IAKAD,OACVA,EAAA,MAAQ,WACRA,EAAA,IAAM,MACNA,EAAA,eAAiB,iBACjBA,EAAA,KAAO,OAJGA,OAAA",
6
- "names": ["Charts_exports", "__export", "ChartType", "UnitType", "__toCommonJS"]
4
+ "sourcesContent": ["export interface ChartDetails {\n meta?: ChartMetaData[]\n headlines?: ChartMetaData[]\n}\n\nexport interface ChartMetaData {\n label: string\n value: string | number\n legend?: string\n}\n"],
5
+ "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["Charts_exports", "__toCommonJS"]
7
7
  }
@@ -1,10 +1,3 @@
1
- export interface ChartData {
2
- type: ChartType
3
- unit?: UnitType
4
- data: ChartDataValues
5
- timeseries?: boolean
6
- }
7
-
8
1
  export interface ChartDetails {
9
2
  meta?: ChartMetaData[]
10
3
  headlines?: ChartMetaData[]
@@ -15,78 +8,3 @@ export interface ChartMetaData {
15
8
  value: string | number
16
9
  legend?: string
17
10
  }
18
-
19
- export enum UnitType {
20
- NUMBER = 'number',
21
- PERCENTAGE = 'percentage',
22
- }
23
-
24
- export enum ChartType {
25
- DONUT = 'doughnut',
26
- BAR = 'bar',
27
- BAR_TIMESERIES = 'bar-timeseries',
28
- LINE = 'line',
29
- }
30
-
31
- export interface ChartCardData {
32
- chart: ChartData
33
- table?: MoJTable
34
- details?: ChartDetails
35
- }
36
-
37
- export interface ChartDataValues {
38
- labels?: string[]
39
- datasets: ChartDataset[]
40
- axis?: 'x' | 'y'
41
- }
42
-
43
- export interface ChartDataset {
44
- label: string
45
- data: number[] | MatrixChartData[]
46
- total?: number
47
- }
48
-
49
- export interface MatrixChartData {
50
- x: number | string
51
- y: number | string
52
- r?: number
53
- v?: number
54
- }
55
-
56
- export interface MoJTable {
57
- head: MoJTableHead[]
58
- rows: MoJTableRow[][]
59
- }
60
-
61
- export interface MoJTableRow {
62
- text?: string
63
- html?: string
64
- }
65
-
66
- export interface MoJTableHead {
67
- text?: string
68
- html?: string
69
- }
70
-
71
- export interface ChartCardValue {
72
- value: string | number
73
- name: string
74
- display: string
75
- unit?: UnitType
76
- chart?: ChartType[]
77
- }
78
-
79
- export interface ChartValue {
80
- group?: ChartGroup
81
- data: ChartCardValue[]
82
- }
83
-
84
- export interface ChartGroup {
85
- name: string
86
- value: string
87
- }
88
-
89
- export interface ChartsData {
90
- type: ChartType
91
- datasets: { data: ChartCardValue[]; group: ChartGroup }[]
92
- }
@@ -1,2 +1,2 @@
1
- var s=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var o=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of g(r))!i.call(e,a)&&a!==t&&s(e,a,{get:()=>r[a],enumerable:!(n=b(r,a))||n.enumerable});return e};var m=e=>o(s({},"__esModule",{value:!0}),e);var p={};module.exports=m(p);
1
+ var t=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var o=(e,r,s,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of i(r))!b.call(e,a)&&a!==s&&t(e,a,{get:()=>r[a],enumerable:!(n=g(r,a))||n.enumerable});return e};var m=e=>o(t({},"__esModule",{value:!0}),e);var p={};module.exports=m(p);
2
2
  //# sourceMappingURL=Metrics.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/Metrics.ts"],
4
- "sourcesContent": ["export interface DashboardDataResponse {\n [key: string]: {\n raw: number | string\n rag?: number\n }\n}\n"],
4
+ "sourcesContent": ["export interface DashboardDataResponse {\n [key: string]: {\n raw: number | string\n rag?: number\n }\n}\n\nexport interface DashboardDataResponseWithRag {\n [key: string]: {\n raw: number | string\n rag: number\n }\n}\n"],
5
5
  "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["Metrics_exports", "__toCommonJS"]
7
7
  }
@@ -4,3 +4,10 @@ export interface DashboardDataResponse {
4
4
  rag?: number
5
5
  }
6
6
  }
7
+
8
+ export interface DashboardDataResponseWithRag {
9
+ [key: string]: {
10
+ raw: number | string
11
+ rag: number
12
+ }
13
+ }
@@ -1,2 +1,2 @@
1
- var b=Object.create;var a=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var F=(n,i)=>{for(var s in i)a(n,s,{get:i[s],enumerable:!0})},h=(n,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of R(i))!C.call(n,r)&&r!==s&&a(n,r,{get:()=>i[r],enumerable:!(t=x(i,r))||t.enumerable});return n};var T=(n,i,s)=>(s=n!=null?b(z(n)):{},h(i||!n||!n.__esModule?a(s,"default",{value:n,enumerable:!0}):s,n)),A=n=>h(a({},"__esModule",{value:!0}),n);var j={};F(j,{DEFAULT_FILTERS_PREFIX:()=>S,ReportQuery:()=>g,default:()=>O});module.exports=A(j);var m=require("../utils/urlHelper"),p=T(require("../components/_reports/report-columns-form/utils")),u=require("./UserReports");const S="filters.";class g{constructor({fields:i,template:s,queryParams:t,definitionsPath:r,filtersPrefix:D=S,reportType:P}){if(this.selectedPage=t.selectedPage?Number(t.selectedPage):1,this.pageSize=this.getPageSize(t,s,P),this.sortColumn=t.sortColumn?t.sortColumn.toString():this.getDefaultSortColumn(i),this.sortedAsc=t.sortedAsc!=="false",this.dataProductDefinitionsPath=r??(t.dataProductDefinitionsPath?t.dataProductDefinitionsPath.toString():null),this.filtersPrefix=D,t.columns){const e=typeof t.columns=="string"?t.columns.split(","):t.columns;this.columns=p.default.ensureMandatoryColumns(i,e)}else this.columns=i.filter(e=>e.visible).map(e=>e.name);let l,c;const o=i.find(e=>e.type==="date"&&e.filter&&e.filter.type==="daterange"||e.type==="date"&&e.filter&&e.filter.type==="date");o&&({min:l,max:c}=o.filter),this.filters={},Object.keys(t).filter(e=>e.startsWith(this.filtersPrefix)).filter(e=>t[e]).forEach(e=>{const d=e.replace(this.filtersPrefix,"");let f=t[e].toString();d.includes(".start")&&l&&new Date(f)<new Date(l)&&(f=l),d.includes(".end")&&c&&new Date(f)>new Date(c)&&(f=c),f!=="no-filter"&&(this.filters[d]=f)}),o&&o.filter.type==="daterange"&&(l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".start"))&&(this.filters[`${o.name}.start`]=l),c&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".end"))&&(this.filters[`${o.name}.end`]=c)),o&&o.filter.type==="date"&&l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(o.name))&&(this.filters[`${o.name}.start`]=l)}getDefaultSortColumn(i){const s=i.find(t=>t.defaultsort);return s?s.name:i.find(t=>t.sortable)?.name}getPageSize(i,s,t){let r;return(!t||t===u.ReportType.REPORT)&&(r=i.pageSize&&s?Number(i.pageSize):this.getDefaultPageSize(s)),r}toRecordWithFilterPrefix(i=!1){const s={selectedPage:this.selectedPage.toString(),...this.pageSize&&{pageSize:this.pageSize.toString()},sortColumn:this.sortColumn,sortedAsc:this.sortedAsc.toString(),columns:this.columns};return this.dataProductDefinitionsPath&&(s.dataProductDefinitionsPath=this.dataProductDefinitionsPath),Object.keys(this.filters).forEach(t=>{const r=this.filters[t];(!i||r!==m.clearFilterValue)&&(s[`${this.filtersPrefix}${t}`]=r)}),s}getDefaultPageSize(i){switch(i){case"list-section":case"summary-section":case"row-section-child":case"parent-child":case"parent-child-section":return 5e5;default:return 20}}}var O=g;0&&(module.exports={DEFAULT_FILTERS_PREFIX,ReportQuery});
1
+ var b=Object.create;var a=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var T=(n,i)=>{for(var s in i)a(n,s,{get:i[s],enumerable:!0})},h=(n,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of z(i))!F.call(n,r)&&r!==s&&a(n,r,{get:()=>i[r],enumerable:!(t=R(i,r))||t.enumerable});return n};var A=(n,i,s)=>(s=n!=null?b(C(n)):{},h(i||!n||!n.__esModule?a(s,"default",{value:n,enumerable:!0}):s,n)),O=n=>h(a({},"__esModule",{value:!0}),n);var v={};T(v,{DEFAULT_FILTERS_PREFIX:()=>D,ReportQuery:()=>m,default:()=>j});module.exports=O(v);var p=require("../utils/urlHelper"),u=A(require("../components/_reports/report-columns-form/utils")),S=require("./UserReports");const D="filters.";class m{constructor({fields:i,template:s,queryParams:t,definitionsPath:r,filtersPrefix:P=D,reportType:x}){if(this.selectedPage=t.selectedPage?Number(t.selectedPage):1,this.pageSize=this.getPageSize(t,s,x),this.sortColumn=t.sortColumn?t.sortColumn.toString():this.getDefaultSortColumn(i),this.sortedAsc=t.sortedAsc!=="false",this.dataProductDefinitionsPath=r??(t.dataProductDefinitionsPath?t.dataProductDefinitionsPath.toString():void 0),this.filtersPrefix=P,t.columns){const e=typeof t.columns=="string"?t.columns.split(","):t.columns;this.columns=u.default.ensureMandatoryColumns(i,e)}else this.columns=i.filter(e=>e.visible).map(e=>e.name);const o=i.find(e=>e.type==="date"&&e.filter&&e.filter.type==="daterange"||e.type==="date"&&e.filter&&e.filter.type==="date");let l,f;o&&o.filter&&(l=o.filter.min,f=o.filter.max),this.filters={},Object.keys(t).filter(e=>e.startsWith(this.filtersPrefix)).filter(e=>t[e]).forEach(e=>{const d=e.replace(this.filtersPrefix,""),g=t[e];let c=g?g.toString():"";d.includes(".start")&&l&&new Date(c)<new Date(l)&&(c=l),d.includes(".end")&&f&&new Date(c)>new Date(f)&&(c=f),c!=="no-filter"&&(this.filters[d]=c)}),o&&o.filter&&o.filter.type==="daterange"&&(l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".start"))&&(this.filters[`${o.name}.start`]=l),f&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(".end"))&&(this.filters[`${o.name}.end`]=f)),o&&o.filter&&o.filter.type==="date"&&l&&Object.keys(t).some(e=>e.includes(this.filtersPrefix))&&Object.keys(t).every(e=>!e.includes(o.name))&&(this.filters[`${o.name}.start`]=l)}getDefaultSortColumn(i){const s=i.find(t=>t.defaultsort);return s?s.name:i.find(t=>t.sortable)?.name}getPageSize(i,s,t){let r=20;return(!t||t===S.ReportType.REPORT)&&(i.pageSize?r=Number(i.pageSize):s&&(r=this.getDefaultPageSize(s))),r}toRecordWithFilterPrefix(i=!1){const s={selectedPage:this.selectedPage.toString(),...this.pageSize&&{pageSize:this.pageSize.toString()},...this.sortColumn&&{sortColumn:this.sortColumn},sortedAsc:this.sortedAsc.toString(),columns:this.columns};return this.dataProductDefinitionsPath&&(s.dataProductDefinitionsPath=this.dataProductDefinitionsPath),Object.keys(this.filters).forEach(t=>{const r=this.filters[t];(r&&!i||r!==p.clearFilterValue)&&(s[`${this.filtersPrefix}${t}`]=r)}),s}getDefaultPageSize(i){switch(i){case"list-section":case"summary-section":case"row-section-child":case"parent-child":case"parent-child-section":return 5e5;default:return 20}}}var j=m;0&&(module.exports={DEFAULT_FILTERS_PREFIX,ReportQuery});
2
2
  //# sourceMappingURL=ReportQuery.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/ReportQuery.ts"],
4
- "sourcesContent": ["import type { ParsedQs } from 'qs'\nimport { FilteredListRequest } from './index'\nimport Dict = NodeJS.Dict\nimport { components } from './api'\nimport { clearFilterValue } from '../utils/urlHelper'\nimport ColumnUtils from '../components/_reports/report-columns-form/utils'\nimport { Template } from './Templates'\nimport { ReportType } from './UserReports'\n\nexport const DEFAULT_FILTERS_PREFIX = 'filters.'\n\nclass ReportQuery implements FilteredListRequest {\n selectedPage: number\n\n pageSize: number | undefined\n\n sortColumn?: string\n\n columns: Array<string>\n\n sortedAsc: boolean\n\n filters: Dict<string>\n\n filtersPrefix: string\n\n dataProductDefinitionsPath?: string\n\n constructor({\n fields,\n template,\n queryParams,\n definitionsPath,\n filtersPrefix = DEFAULT_FILTERS_PREFIX,\n reportType,\n }: {\n fields: components['schemas']['FieldDefinition'][]\n template?: Template\n queryParams: ParsedQs\n definitionsPath?: string\n filtersPrefix?: string\n reportType?: ReportType\n }) {\n this.selectedPage = queryParams.selectedPage ? Number(queryParams.selectedPage) : 1\n this.pageSize = this.getPageSize(queryParams, template, reportType)\n this.sortColumn = queryParams.sortColumn ? queryParams.sortColumn.toString() : this.getDefaultSortColumn(fields)\n this.sortedAsc = queryParams.sortedAsc !== 'false'\n this.dataProductDefinitionsPath =\n definitionsPath ??\n (queryParams.dataProductDefinitionsPath ? queryParams.dataProductDefinitionsPath.toString() : null)\n this.filtersPrefix = filtersPrefix\n\n if (queryParams.columns) {\n const columns =\n typeof queryParams.columns === 'string' ? queryParams.columns.split(',') : (queryParams.columns as string[])\n this.columns = ColumnUtils.ensureMandatoryColumns(fields, columns)\n } else {\n this.columns = fields.filter((f) => f.visible).map((f) => f.name)\n }\n\n let min: string\n let max: string\n const dateField: components['schemas']['FieldDefinition'] = fields.find((f) => {\n return (\n (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||\n (f.type === 'date' && f.filter && f.filter.type === 'date')\n )\n })\n if (dateField) ({ min, max } = dateField.filter)\n\n this.filters = {}\n\n Object.keys(queryParams)\n .filter((key) => key.startsWith(this.filtersPrefix))\n .filter((key) => queryParams[key])\n .forEach((key) => {\n const filter = key.replace(this.filtersPrefix, '')\n let value = queryParams[key].toString()\n if (filter.includes('.start') && min) {\n if (new Date(value) < new Date(min)) value = min\n }\n if (filter.includes('.end') && max) {\n if (new Date(value) > new Date(max)) value = max\n }\n if (value !== 'no-filter') {\n this.filters[filter] = value\n }\n })\n\n if (dateField && dateField.filter.type === 'daterange') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.start'))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n\n if (\n max &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.end'))\n ) {\n this.filters[`${dateField.name}.end`] = max\n }\n }\n\n if (dateField && dateField.filter.type === 'date') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes(dateField.name))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n }\n }\n\n private getDefaultSortColumn(fields: components['schemas']['FieldDefinition'][]) {\n const defaultSortColumn = fields.find((f) => f.defaultsort)\n return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name\n }\n\n getPageSize(queryParams: ParsedQs, template: Template, reportType?: ReportType): number | undefined {\n let pageSize\n if (!reportType || reportType === ReportType.REPORT) {\n pageSize = queryParams.pageSize && template ? Number(queryParams.pageSize) : this.getDefaultPageSize(template)\n }\n return pageSize\n }\n\n toRecordWithFilterPrefix(removeClearedFilters = false): Record<string, string | Array<string>> {\n const record: Record<string, string | Array<string>> = {\n selectedPage: this.selectedPage.toString(),\n ...(this.pageSize && { pageSize: this.pageSize.toString() }),\n sortColumn: this.sortColumn,\n sortedAsc: this.sortedAsc.toString(),\n columns: this.columns,\n }\n\n if (this.dataProductDefinitionsPath) {\n record.dataProductDefinitionsPath = this.dataProductDefinitionsPath\n }\n\n Object.keys(this.filters).forEach((filterName) => {\n const value = this.filters[filterName]\n if (!removeClearedFilters || value !== clearFilterValue) {\n record[`${this.filtersPrefix}${filterName}`] = value\n }\n })\n\n return record\n }\n\n private getDefaultPageSize(template: Template) {\n const maxResultsSize = 500000\n const standardPage = 20\n\n switch (template) {\n case 'list-section':\n case 'summary-section':\n case 'row-section-child':\n case 'parent-child':\n case 'parent-child-section':\n return maxResultsSize\n\n default:\n return standardPage\n }\n }\n}\n\nexport { ReportQuery }\nexport default ReportQuery\n"],
5
- "mappings": "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",
6
- "names": ["ReportQuery_exports", "__export", "DEFAULT_FILTERS_PREFIX", "ReportQuery", "ReportQuery_default", "__toCommonJS", "import_urlHelper", "import_utils", "import_UserReports", "fields", "template", "queryParams", "definitionsPath", "filtersPrefix", "reportType", "columns", "ColumnUtils", "f", "min", "max", "dateField", "key", "filter", "value", "defaultSortColumn", "pageSize", "removeClearedFilters", "record", "filterName"]
4
+ "sourcesContent": ["import type { ParsedQs } from 'qs'\nimport { FilteredListRequest } from './index'\nimport Dict = NodeJS.Dict\nimport { components } from './api'\nimport { clearFilterValue } from '../utils/urlHelper'\nimport ColumnUtils from '../components/_reports/report-columns-form/utils'\nimport { Template } from './Templates'\nimport { ReportType } from './UserReports'\n\nexport const DEFAULT_FILTERS_PREFIX = 'filters.'\n\nclass ReportQuery implements FilteredListRequest {\n selectedPage: number\n\n pageSize: number\n\n sortColumn?: string\n\n columns: Array<string>\n\n sortedAsc: boolean\n\n filters: Dict<string>\n\n filtersPrefix: string\n\n dataProductDefinitionsPath?: string\n\n constructor({\n fields,\n template,\n queryParams,\n definitionsPath,\n filtersPrefix = DEFAULT_FILTERS_PREFIX,\n reportType,\n }: {\n fields: components['schemas']['FieldDefinition'][]\n template?: Template\n queryParams: ParsedQs\n definitionsPath?: string\n filtersPrefix?: string\n reportType?: ReportType\n }) {\n this.selectedPage = queryParams.selectedPage ? Number(queryParams.selectedPage) : 1\n this.pageSize = this.getPageSize(queryParams, template, reportType)\n this.sortColumn = queryParams.sortColumn ? queryParams.sortColumn.toString() : this.getDefaultSortColumn(fields)\n this.sortedAsc = queryParams.sortedAsc !== 'false'\n this.dataProductDefinitionsPath =\n definitionsPath ??\n (queryParams.dataProductDefinitionsPath ? queryParams.dataProductDefinitionsPath.toString() : undefined)\n this.filtersPrefix = filtersPrefix\n\n if (queryParams.columns) {\n const columns =\n typeof queryParams.columns === 'string' ? queryParams.columns.split(',') : (queryParams.columns as string[])\n this.columns = ColumnUtils.ensureMandatoryColumns(fields, columns)\n } else {\n this.columns = fields.filter((f) => f.visible).map((f) => f.name)\n }\n\n const dateField: components['schemas']['FieldDefinition'] | undefined = fields.find((f) => {\n return (\n (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||\n (f.type === 'date' && f.filter && f.filter.type === 'date')\n )\n })\n\n let min: string | undefined\n let max: string | undefined\n if (dateField && dateField.filter) {\n min = dateField.filter.min\n max = dateField.filter.max\n }\n\n this.filters = {}\n\n Object.keys(queryParams)\n .filter((key) => key.startsWith(this.filtersPrefix))\n .filter((key) => queryParams[key])\n .forEach((key) => {\n const filter = key.replace(this.filtersPrefix, '')\n const p = queryParams[key]\n let value = p ? p.toString() : ''\n if (filter.includes('.start') && min) {\n if (new Date(value) < new Date(min)) value = min\n }\n if (filter.includes('.end') && max) {\n if (new Date(value) > new Date(max)) value = max\n }\n if (value !== 'no-filter') {\n this.filters[filter] = value\n }\n })\n\n if (dateField && dateField.filter && dateField.filter.type === 'daterange') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.start'))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n\n if (\n max &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes('.end'))\n ) {\n this.filters[`${dateField.name}.end`] = max\n }\n }\n\n if (dateField && dateField.filter && dateField.filter.type === 'date') {\n if (\n min &&\n Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&\n Object.keys(queryParams).every((key) => !key.includes(dateField.name))\n ) {\n this.filters[`${dateField.name}.start`] = min\n }\n }\n }\n\n private getDefaultSortColumn(fields: components['schemas']['FieldDefinition'][]) {\n const defaultSortColumn = fields.find((f) => f.defaultsort)\n return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name\n }\n\n getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {\n let pageSize = 20\n if (!reportType || reportType === ReportType.REPORT) {\n if (queryParams.pageSize) {\n pageSize = Number(queryParams.pageSize)\n } else if (template) {\n pageSize = this.getDefaultPageSize(template)\n }\n }\n return pageSize\n }\n\n toRecordWithFilterPrefix(removeClearedFilters = false): Record<string, string | Array<string>> {\n const record: Record<string, string | Array<string>> = {\n selectedPage: this.selectedPage.toString(),\n ...(this.pageSize && { pageSize: this.pageSize.toString() }),\n ...(this.sortColumn && { sortColumn: this.sortColumn }),\n sortedAsc: this.sortedAsc.toString(),\n columns: this.columns,\n }\n\n if (this.dataProductDefinitionsPath) {\n record.dataProductDefinitionsPath = this.dataProductDefinitionsPath\n }\n\n Object.keys(this.filters).forEach((filterName) => {\n const value = this.filters[filterName]\n if ((value && !removeClearedFilters) || value !== clearFilterValue) {\n record[`${this.filtersPrefix}${filterName}`] = <string>value\n }\n })\n\n return record\n }\n\n private getDefaultPageSize(template: Template) {\n const maxResultsSize = 500000\n const standardPage = 20\n\n switch (template) {\n case 'list-section':\n case 'summary-section':\n case 'row-section-child':\n case 'parent-child':\n case 'parent-child-section':\n return maxResultsSize\n\n default:\n return standardPage\n }\n }\n}\n\nexport { ReportQuery }\nexport default ReportQuery\n"],
5
+ "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,EAAA,gBAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAL,GAIA,IAAAM,EAAiC,8BACjCC,EAAwB,+DAExBC,EAA2B,yBAEpB,MAAMN,EAAyB,WAEtC,MAAMC,CAA2C,CAiB/C,YAAY,CACV,OAAAM,EACA,SAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,cAAAC,EAAgBX,EAChB,WAAAY,CACF,EAOG,CAUD,GATA,KAAK,aAAeH,EAAY,aAAe,OAAOA,EAAY,YAAY,EAAI,EAClF,KAAK,SAAW,KAAK,YAAYA,EAAaD,EAAUI,CAAU,EAClE,KAAK,WAAaH,EAAY,WAAaA,EAAY,WAAW,SAAS,EAAI,KAAK,qBAAqBF,CAAM,EAC/G,KAAK,UAAYE,EAAY,YAAc,QAC3C,KAAK,2BACHC,IACCD,EAAY,2BAA6BA,EAAY,2BAA2B,SAAS,EAAI,QAChG,KAAK,cAAgBE,EAEjBF,EAAY,QAAS,CACvB,MAAMI,EACJ,OAAOJ,EAAY,SAAY,SAAWA,EAAY,QAAQ,MAAM,GAAG,EAAKA,EAAY,QAC1F,KAAK,QAAU,EAAAK,QAAY,uBAAuBP,EAAQM,CAAO,CACnE,MACE,KAAK,QAAUN,EAAO,OAAQQ,GAAMA,EAAE,OAAO,EAAE,IAAKA,GAAMA,EAAE,IAAI,EAGlE,MAAMC,EAAkET,EAAO,KAAMQ,GAEhFA,EAAE,OAAS,QAAUA,EAAE,QAAUA,EAAE,OAAO,OAAS,aACnDA,EAAE,OAAS,QAAUA,EAAE,QAAUA,EAAE,OAAO,OAAS,MAEvD,EAED,IAAIE,EACAC,EACAF,GAAaA,EAAU,SACzBC,EAAMD,EAAU,OAAO,IACvBE,EAAMF,EAAU,OAAO,KAGzB,KAAK,QAAU,CAAC,EAEhB,OAAO,KAAKP,CAAW,EACpB,OAAQU,GAAQA,EAAI,WAAW,KAAK,aAAa,CAAC,EAClD,OAAQA,GAAQV,EAAYU,CAAG,CAAC,EAChC,QAASA,GAAQ,CAChB,MAAMC,EAASD,EAAI,QAAQ,KAAK,cAAe,EAAE,EAC3CE,EAAIZ,EAAYU,CAAG,EACzB,IAAIG,EAAQD,EAAIA,EAAE,SAAS,EAAI,GAC3BD,EAAO,SAAS,QAAQ,GAAKH,GAC3B,IAAI,KAAKK,CAAK,EAAI,IAAI,KAAKL,CAAG,IAAGK,EAAQL,GAE3CG,EAAO,SAAS,MAAM,GAAKF,GACzB,IAAI,KAAKI,CAAK,EAAI,IAAI,KAAKJ,CAAG,IAAGI,EAAQJ,GAE3CI,IAAU,cACZ,KAAK,QAAQF,CAAM,EAAIE,EAE3B,CAAC,EAECN,GAAaA,EAAU,QAAUA,EAAU,OAAO,OAAS,cAE3DC,GACA,OAAO,KAAKR,CAAW,EAAE,KAAMU,GAAQA,EAAI,SAAS,KAAK,aAAa,CAAC,GACvE,OAAO,KAAKV,CAAW,EAAE,MAAOU,GAAQ,CAACA,EAAI,SAAS,QAAQ,CAAC,IAE/D,KAAK,QAAQ,GAAGH,EAAU,IAAI,QAAQ,EAAIC,GAI1CC,GACA,OAAO,KAAKT,CAAW,EAAE,KAAMU,GAAQA,EAAI,SAAS,KAAK,aAAa,CAAC,GACvE,OAAO,KAAKV,CAAW,EAAE,MAAOU,GAAQ,CAACA,EAAI,SAAS,MAAM,CAAC,IAE7D,KAAK,QAAQ,GAAGH,EAAU,IAAI,MAAM,EAAIE,IAIxCF,GAAaA,EAAU,QAAUA,EAAU,OAAO,OAAS,QAE3DC,GACA,OAAO,KAAKR,CAAW,EAAE,KAAMU,GAAQA,EAAI,SAAS,KAAK,aAAa,CAAC,GACvE,OAAO,KAAKV,CAAW,EAAE,MAAOU,GAAQ,CAACA,EAAI,SAASH,EAAU,IAAI,CAAC,IAErE,KAAK,QAAQ,GAAGA,EAAU,IAAI,QAAQ,EAAIC,EAGhD,CAEQ,qBAAqBV,EAAoD,CAC/E,MAAMgB,EAAoBhB,EAAO,KAAMQ,GAAMA,EAAE,WAAW,EAC1D,OAAOQ,EAAoBA,EAAkB,KAAOhB,EAAO,KAAMQ,GAAMA,EAAE,QAAQ,GAAG,IACtF,CAEA,YAAYN,EAAuBD,EAAqBI,EAAiC,CACvF,IAAIY,EAAW,GACf,OAAI,CAACZ,GAAcA,IAAe,aAAW,UACvCH,EAAY,SACde,EAAW,OAAOf,EAAY,QAAQ,EAC7BD,IACTgB,EAAW,KAAK,mBAAmBhB,CAAQ,IAGxCgB,CACT,CAEA,yBAAyBC,EAAuB,GAA+C,CAC7F,MAAMC,EAAiD,CACrD,aAAc,KAAK,aAAa,SAAS,EACzC,GAAI,KAAK,UAAY,CAAE,SAAU,KAAK,SAAS,SAAS,CAAE,EAC1D,GAAI,KAAK,YAAc,CAAE,WAAY,KAAK,UAAW,EACrD,UAAW,KAAK,UAAU,SAAS,EACnC,QAAS,KAAK,OAChB,EAEA,OAAI,KAAK,6BACPA,EAAO,2BAA6B,KAAK,4BAG3C,OAAO,KAAK,KAAK,OAAO,EAAE,QAASC,GAAe,CAChD,MAAML,EAAQ,KAAK,QAAQK,CAAU,GAChCL,GAAS,CAACG,GAAyBH,IAAU,sBAChDI,EAAO,GAAG,KAAK,aAAa,GAAGC,CAAU,EAAE,EAAYL,EAE3D,CAAC,EAEMI,CACT,CAEQ,mBAAmBlB,EAAoB,CAI7C,OAAQA,EAAU,CAChB,IAAK,eACL,IAAK,kBACL,IAAK,oBACL,IAAK,eACL,IAAK,uBACH,MAAO,KAET,QACE,MAAO,GACX,CACF,CACF,CAGA,IAAON,EAAQD",
6
+ "names": ["ReportQuery_exports", "__export", "DEFAULT_FILTERS_PREFIX", "ReportQuery", "ReportQuery_default", "__toCommonJS", "import_urlHelper", "import_utils", "import_UserReports", "fields", "template", "queryParams", "definitionsPath", "filtersPrefix", "reportType", "columns", "ColumnUtils", "f", "dateField", "min", "max", "key", "filter", "p", "value", "defaultSortColumn", "pageSize", "removeClearedFilters", "record", "filterName"]
7
7
  }
@@ -12,7 +12,7 @@ export const DEFAULT_FILTERS_PREFIX = 'filters.'
12
12
  class ReportQuery implements FilteredListRequest {
13
13
  selectedPage: number
14
14
 
15
- pageSize: number | undefined
15
+ pageSize: number
16
16
 
17
17
  sortColumn?: string
18
18
 
@@ -47,7 +47,7 @@ class ReportQuery implements FilteredListRequest {
47
47
  this.sortedAsc = queryParams.sortedAsc !== 'false'
48
48
  this.dataProductDefinitionsPath =
49
49
  definitionsPath ??
50
- (queryParams.dataProductDefinitionsPath ? queryParams.dataProductDefinitionsPath.toString() : null)
50
+ (queryParams.dataProductDefinitionsPath ? queryParams.dataProductDefinitionsPath.toString() : undefined)
51
51
  this.filtersPrefix = filtersPrefix
52
52
 
53
53
  if (queryParams.columns) {
@@ -58,15 +58,19 @@ class ReportQuery implements FilteredListRequest {
58
58
  this.columns = fields.filter((f) => f.visible).map((f) => f.name)
59
59
  }
60
60
 
61
- let min: string
62
- let max: string
63
- const dateField: components['schemas']['FieldDefinition'] = fields.find((f) => {
61
+ const dateField: components['schemas']['FieldDefinition'] | undefined = fields.find((f) => {
64
62
  return (
65
63
  (f.type === 'date' && f.filter && f.filter.type === 'daterange') ||
66
64
  (f.type === 'date' && f.filter && f.filter.type === 'date')
67
65
  )
68
66
  })
69
- if (dateField) ({ min, max } = dateField.filter)
67
+
68
+ let min: string | undefined
69
+ let max: string | undefined
70
+ if (dateField && dateField.filter) {
71
+ min = dateField.filter.min
72
+ max = dateField.filter.max
73
+ }
70
74
 
71
75
  this.filters = {}
72
76
 
@@ -75,7 +79,8 @@ class ReportQuery implements FilteredListRequest {
75
79
  .filter((key) => queryParams[key])
76
80
  .forEach((key) => {
77
81
  const filter = key.replace(this.filtersPrefix, '')
78
- let value = queryParams[key].toString()
82
+ const p = queryParams[key]
83
+ let value = p ? p.toString() : ''
79
84
  if (filter.includes('.start') && min) {
80
85
  if (new Date(value) < new Date(min)) value = min
81
86
  }
@@ -87,7 +92,7 @@ class ReportQuery implements FilteredListRequest {
87
92
  }
88
93
  })
89
94
 
90
- if (dateField && dateField.filter.type === 'daterange') {
95
+ if (dateField && dateField.filter && dateField.filter.type === 'daterange') {
91
96
  if (
92
97
  min &&
93
98
  Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&
@@ -105,7 +110,7 @@ class ReportQuery implements FilteredListRequest {
105
110
  }
106
111
  }
107
112
 
108
- if (dateField && dateField.filter.type === 'date') {
113
+ if (dateField && dateField.filter && dateField.filter.type === 'date') {
109
114
  if (
110
115
  min &&
111
116
  Object.keys(queryParams).some((key) => key.includes(this.filtersPrefix)) &&
@@ -121,10 +126,14 @@ class ReportQuery implements FilteredListRequest {
121
126
  return defaultSortColumn ? defaultSortColumn.name : fields.find((f) => f.sortable)?.name
122
127
  }
123
128
 
124
- getPageSize(queryParams: ParsedQs, template: Template, reportType?: ReportType): number | undefined {
125
- let pageSize
129
+ getPageSize(queryParams: ParsedQs, template?: Template, reportType?: ReportType): number {
130
+ let pageSize = 20
126
131
  if (!reportType || reportType === ReportType.REPORT) {
127
- pageSize = queryParams.pageSize && template ? Number(queryParams.pageSize) : this.getDefaultPageSize(template)
132
+ if (queryParams.pageSize) {
133
+ pageSize = Number(queryParams.pageSize)
134
+ } else if (template) {
135
+ pageSize = this.getDefaultPageSize(template)
136
+ }
128
137
  }
129
138
  return pageSize
130
139
  }
@@ -133,7 +142,7 @@ class ReportQuery implements FilteredListRequest {
133
142
  const record: Record<string, string | Array<string>> = {
134
143
  selectedPage: this.selectedPage.toString(),
135
144
  ...(this.pageSize && { pageSize: this.pageSize.toString() }),
136
- sortColumn: this.sortColumn,
145
+ ...(this.sortColumn && { sortColumn: this.sortColumn }),
137
146
  sortedAsc: this.sortedAsc.toString(),
138
147
  columns: this.columns,
139
148
  }
@@ -144,8 +153,8 @@ class ReportQuery implements FilteredListRequest {
144
153
 
145
154
  Object.keys(this.filters).forEach((filterName) => {
146
155
  const value = this.filters[filterName]
147
- if (!removeClearedFilters || value !== clearFilterValue) {
148
- record[`${this.filtersPrefix}${filterName}`] = value
156
+ if ((value && !removeClearedFilters) || value !== clearFilterValue) {
157
+ record[`${this.filtersPrefix}${filterName}`] = <string>value
149
158
  }
150
159
  })
151
160
 
@@ -1,2 +1,2 @@
1
- var t=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var s=(r,e,c,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l(e))!v.call(r,i)&&i!==c&&t(r,i,{get:()=>e[i],enumerable:!(o=S(e,i))||o.enumerable});return r};var n=r=>s(t({},"__esModule",{value:!0}),r);var d={};module.exports=n(d);
1
+ var t=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(r,e,c,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of v(e))!l.call(r,i)&&i!==c&&t(r,i,{get:()=>e[i],enumerable:!(o=S(e,i))||o.enumerable});return r};var n=r=>s(t({},"__esModule",{value:!0}),r);var d={};module.exports=n(d);
2
2
  //# sourceMappingURL=Services.d.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/types/Services.d.ts"],
4
- "sourcesContent": ["import {\n BookmarkService,\n DashboardService,\n DefaultFilterValuesService,\n DownloadPermissionService,\n RecentlyViewedStoreService,\n ReportingService,\n RequestedReportService,\n} from '../services'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport MissingReportClient from '../services/missingReport/missingReportClient'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\n\nexport type Services = UserStoreServices & {\n reportingService: ReportingService\n dashboardService: DashboardService\n missingReportClient: MissingReportClient\n productCollectionService: ProductCollectionService\n}\n\nexport interface UserStoreServices {\n downloadPermissionService?: DownloadPermissionService\n requestedReportService?: RequestedReportService\n recentlyViewedService?: RecentlyViewedStoreService\n bookmarkService?: BookmarkService\n defaultFilterValuesService?: DefaultFilterValuesService\n productCollectionStoreService?: ProductCollectionStoreService\n}\n"],
4
+ "sourcesContent": ["import {\n BookmarkService,\n DashboardService,\n DefaultFilterValuesService,\n DownloadPermissionService,\n RecentlyViewedStoreService,\n ReportingService,\n RequestedReportService,\n} from '../services'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport MissingReportClient from '../services/missingReport/missingReportClient'\nimport ReportingService from '../services/reportingService'\nimport DashboardService from '../services/dashboardService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\n\nexport type Services = UserStoreServices & {\n reportingService: ReportingService\n dashboardService: DashboardService\n missingReportClient: MissingReportClient\n productCollectionService: ProductCollectionService\n}\n\nexport interface UserStoreServices {\n downloadPermissionService?: DownloadPermissionService\n requestedReportService?: RequestedReportService\n recentlyViewedService?: RecentlyViewedStoreService\n bookmarkService?: BookmarkService\n defaultFilterValuesService?: DefaultFilterValuesService\n productCollectionStoreService?: ProductCollectionStoreService\n}\n"],
5
5
  "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["Services_d_exports", "__toCommonJS"]
7
7
  }
@@ -9,6 +9,8 @@ import {
9
9
  } from '../services'
10
10
  import { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'
11
11
  import MissingReportClient from '../services/missingReport/missingReportClient'
12
+ import ReportingService from '../services/reportingService'
13
+ import DashboardService from '../services/dashboardService'
12
14
  import { ProductCollectionService } from '../services/productCollection/productCollectionService'
13
15
 
14
16
  export type Services = UserStoreServices & {