@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.26.8 → 4.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/assets/app.js.map +2 -2
- package/dpr/components/_async/async-filters-form/sortByTemplate.js +60 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +2 -2
- package/dpr/components/_async/async-filters-form/types.d.js +16 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +2 -2
- package/dpr/components/_async/async-filters-form/utils.js +180 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/types.js +16 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/utils.js +83 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue-list/utils.js +140 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
- package/dpr/components/_charts/chart/Chart.js +99 -1
- package/dpr/components/_charts/chart/Chart.js.map +2 -2
- package/dpr/components/_charts/chart/ChartColours.js +61 -1
- package/dpr/components/_charts/chart/ChartColours.js.map +2 -2
- package/dpr/components/_charts/chart/ChartTimeseries.js +101 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
- package/dpr/components/_charts/chart/bar/BarChart.js +193 -1
- package/dpr/components/_charts/chart/bar/BarChart.js.map +2 -2
- package/dpr/components/_charts/chart/bar/types.js +16 -1
- package/dpr/components/_charts/chart/bar/types.js.map +2 -2
- package/dpr/components/_charts/chart/bar/validate.js +73 -1
- package/dpr/components/_charts/chart/bar/validate.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js +80 -1
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/types.js +16 -1
- package/dpr/components/_charts/chart/bar-timeseries/types.js.map +2 -2
- package/dpr/components/_charts/chart/bar-timeseries/validate.js +48 -1
- package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/Buckets.js +194 -1
- package/dpr/components/_charts/chart/buckets/Buckets.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/types.js +16 -1
- package/dpr/components/_charts/chart/buckets/types.js.map +2 -2
- package/dpr/components/_charts/chart/buckets/validate.js +40 -1
- package/dpr/components/_charts/chart/buckets/validate.js.map +2 -2
- package/dpr/components/_charts/chart/chart-config.js +62 -1
- package/dpr/components/_charts/chart/chart-config.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js +96 -1
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/types.js +16 -1
- package/dpr/components/_charts/chart/doughnut/types.js.map +2 -2
- package/dpr/components/_charts/chart/doughnut/validate.js +48 -1
- package/dpr/components/_charts/chart/doughnut/validate.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +213 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/types.js +16 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/validate.js +40 -1
- package/dpr/components/_charts/chart/heatmap/validate.js.map +2 -2
- package/dpr/components/_charts/chart/line/LineChart.js +107 -1
- package/dpr/components/_charts/chart/line/LineChart.js.map +2 -2
- package/dpr/components/_charts/chart/line/types.js +16 -1
- package/dpr/components/_charts/chart/line/types.js.map +2 -2
- package/dpr/components/_charts/chart/line/validate.js +48 -1
- package/dpr/components/_charts/chart/line/validate.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js +81 -1
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/types.js +16 -1
- package/dpr/components/_charts/chart/line-timeseries/types.js.map +2 -2
- package/dpr/components/_charts/chart/line-timeseries/validate.js +48 -1
- package/dpr/components/_charts/chart/line-timeseries/validate.js.map +2 -2
- package/dpr/components/_charts/utils.js +240 -1
- package/dpr/components/_charts/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/types.js +16 -1
- package/dpr/components/_dashboards/dashboard-list/types.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/utils.js +170 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/validate.js +43 -1
- package/dpr/components/_dashboards/dashboard-list/validate.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js +95 -1
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/types.js +40 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/Scorecard.js +176 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/types.js +16 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/utils.js +61 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/validate.js +50 -1
- package/dpr/components/_dashboards/scorecard/validate.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js +212 -1
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/types.js +16 -1
- package/dpr/components/_dashboards/scorecard-group/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard-group/validate.js +50 -1
- package/dpr/components/_dashboards/scorecard-group/validate.js.map +2 -2
- package/dpr/components/_filters/filter-input/enum.js +38 -1
- package/dpr/components/_filters/filter-input/enum.js.map +2 -2
- package/dpr/components/_filters/filter-input/filters.js +37 -1
- package/dpr/components/_filters/filter-input/filters.js.map +2 -2
- package/dpr/components/_filters/filter-input/types.d.js +16 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +2 -2
- package/dpr/components/_filters/filters-selected/utils.js +314 -1
- package/dpr/components/_filters/filters-selected/utils.js.map +2 -2
- package/dpr/components/_filters/filtersTypeEnum.js +32 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +2 -2
- package/dpr/components/_filters/types.d.js +16 -1
- package/dpr/components/_filters/types.d.js.map +2 -2
- package/dpr/components/_filters/utils.js +385 -1
- package/dpr/components/_filters/utils.js.map +2 -2
- package/dpr/components/_inputs/autocomplete-text-input/utils.js +45 -1
- package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +2 -2
- package/dpr/components/_inputs/date-input/utils.js +88 -1
- package/dpr/components/_inputs/date-input/utils.js.map +2 -2
- package/dpr/components/_inputs/date-range/types.js +38 -1
- package/dpr/components/_inputs/date-range/types.js.map +2 -2
- package/dpr/components/_inputs/date-range/utils.js +229 -1
- package/dpr/components/_inputs/date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/granular-date-range/types.js +70 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +2 -2
- package/dpr/components/_inputs/granular-date-range/utils.js +445 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/multi-select/utils.js +88 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +2 -2
- package/dpr/components/_inputs/start-end-date/utils.js +84 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +2 -2
- package/dpr/components/_reports/report-actions/actionsTemplate.js +59 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +2 -2
- package/dpr/components/_reports/report-actions/types.d.js +16 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
- package/dpr/components/_reports/report-actions/utils.js +97 -1
- package/dpr/components/_reports/report-actions/utils.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/types.d.js +16 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/utils.js +65 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
- package/dpr/components/_reports/report-data-table/types.d.js +16 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +2 -2
- package/dpr/components/_reports/report-data-table/utils.js +122 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +2 -2
- package/dpr/components/_reports/report-pagination/types.d.js +16 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
- package/dpr/components/_reports/report-pagination/utils.js +105 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +2 -2
- package/dpr/components/_reports/report-totals/utils.js +42 -1
- package/dpr/components/_reports/report-totals/utils.js.map +2 -2
- package/dpr/components/card-group/utils.js +57 -1
- package/dpr/components/card-group/utils.js.map +2 -2
- package/dpr/components/report-list/defaultTokenProvider.js +36 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +2 -2
- package/dpr/components/report-list/types.d.js +16 -1
- package/dpr/components/report-list/types.d.js.map +2 -2
- package/dpr/components/report-list/utils.js +238 -1
- package/dpr/components/report-list/utils.js.map +2 -2
- package/dpr/components/show-more/utils.js +38 -3
- package/dpr/components/show-more/utils.js.map +2 -2
- package/dpr/components/user-reports/bookmarks/utils.js +198 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +2 -2
- package/dpr/components/user-reports/requested/utils.js +65 -1
- package/dpr/components/user-reports/requested/utils.js.map +2 -2
- package/dpr/components/user-reports/types.d.js +16 -1
- package/dpr/components/user-reports/types.d.js.map +2 -2
- package/dpr/components/user-reports/utils.js +365 -1
- package/dpr/components/user-reports/utils.js.map +2 -2
- package/dpr/components/user-reports/viewed/utils.js +37 -1
- package/dpr/components/user-reports/viewed/utils.js.map +2 -2
- package/dpr/data/agentConfig.js +35 -1
- package/dpr/data/agentConfig.js.map +2 -2
- package/dpr/data/dashboardClient.js +108 -1
- package/dpr/data/dashboardClient.js.map +2 -2
- package/dpr/data/dprReportingClient.js +55 -1
- package/dpr/data/dprReportingClient.js.map +2 -2
- package/dpr/data/missingReportClient.js +55 -1
- package/dpr/data/missingReportClient.js.map +2 -2
- package/dpr/data/productCollectionClient.js +58 -1
- package/dpr/data/productCollectionClient.js.map +2 -2
- package/dpr/data/reportDataStore.js +77 -1
- package/dpr/data/reportDataStore.js.map +2 -2
- package/dpr/data/reportingClient.js +173 -1
- package/dpr/data/reportingClient.js.map +2 -2
- package/dpr/data/restClient.js +143 -1
- package/dpr/data/restClient.js.map +2 -2
- package/dpr/data/types.d.js +16 -1
- package/dpr/data/types.d.js.map +2 -2
- package/dpr/middleware/reportAuthoriser.js +63 -1
- package/dpr/middleware/reportAuthoriser.js.map +2 -2
- package/dpr/middleware/setUpDprResources.js +173 -1
- package/dpr/middleware/setUpDprResources.js.map +3 -3
- package/dpr/middleware/setUpDprResources.ts +3 -1
- package/dpr/middleware/setUpNestedRoute.js +35 -1
- package/dpr/middleware/setUpNestedRoute.js.map +2 -2
- package/dpr/routes/index.js +50 -1
- package/dpr/routes/index.js.map +2 -2
- package/dpr/routes/journeys/api-failures.cy.js +295 -1
- package/dpr/routes/journeys/api-failures.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/controller.js +65 -1
- package/dpr/routes/journeys/download-report/controller.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/controller.js +98 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js +50 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +68 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +47 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +17 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +24 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/routes.js +46 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/request-download/service.js +90 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +2 -2
- package/dpr/routes/journeys/download-report/routes.js +63 -1
- package/dpr/routes/journeys/download-report/routes.js.map +2 -2
- package/dpr/routes/journeys/download-report/tests.cy.js +104 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/utils.js +196 -1
- package/dpr/routes/journeys/download-report/utils.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js +58 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +56 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +32 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/service.js +123 -4
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +448 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js +44 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +53 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +65 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +83 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js +118 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js +52 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +65 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +47 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +15 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js +49 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +2 -2
- package/dpr/routes/journeys/my-reports/requested-reports/service.js +200 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +2 -2
- package/dpr/routes/journeys/my-reports/routes.js +59 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/routes.js +45 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/controller.js +55 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/routes.js +37 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js +47 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/validation.js +41 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/controller.js +104 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
- package/dpr/routes/journeys/request-missing-report/form/controller.ts +6 -3
- package/dpr/routes/journeys/request-missing-report/form/routes.js +50 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +22 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/form/validation.js +43 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/routes.js +57 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js +65 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +3 -3
- package/dpr/routes/journeys/request-missing-report/submitted/controller.ts +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js +47 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +14 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/tests.cy.js +37 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/controller.js +79 -1
- package/dpr/routes/journeys/request-report/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/controller.ts +3 -1
- package/dpr/routes/journeys/request-report/filters/controller.js +127 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/controller.ts +3 -3
- package/dpr/routes/journeys/request-report/filters/routes.js +50 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +451 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/filters/utils.js +331 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
- package/dpr/routes/journeys/request-report/routes.js +100 -1
- package/dpr/routes/journeys/request-report/routes.js.map +3 -3
- package/dpr/routes/journeys/request-report/routes.ts +2 -0
- package/dpr/routes/journeys/request-report/status/controller.js +80 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/controller.ts +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js +48 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/tests.cy.js +127 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/utils.js +72 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +2 -2
- package/dpr/routes/journeys/request-report/tests.cy.js +307 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/routes.js +46 -1
- package/dpr/routes/journeys/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/controller.js +89 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js +82 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js +48 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +33 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +242 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/controller.js +83 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +76 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/routes.js +53 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js +895 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/types.js +16 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/utils.js +427 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/routes.js +52 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/controller.js +62 -1
- package/dpr/routes/journeys/view-report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/controller.ts +7 -4
- package/dpr/routes/journeys/view-report/routes.js +87 -1
- package/dpr/routes/journeys/view-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +68 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +48 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +144 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js +102 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js +47 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/report/controller.js +99 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/controller.ts +3 -3
- package/dpr/routes/journeys/view-report/sync/report/routes.js +51 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/report/utils.js +298 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/routes.js +51 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/tests.cy.js +43 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/utils.js +173 -1
- package/dpr/routes/journeys/view-report/utils.js.map +2 -2
- package/dpr/services/dashboardService.js +66 -1
- package/dpr/services/dashboardService.js.map +2 -2
- package/dpr/services/defaultFilterValuesService.js +114 -1
- package/dpr/services/defaultFilterValuesService.js.map +2 -2
- package/dpr/services/featureFlagService.js +65 -1
- package/dpr/services/featureFlagService.js.map +2 -2
- package/dpr/services/featureFlags.cy.js +72 -1
- package/dpr/services/featureFlags.cy.js.map +2 -2
- package/dpr/services/index.js +59 -1
- package/dpr/services/index.js.map +2 -2
- package/dpr/services/missingReport/missingReportService.js +52 -1
- package/dpr/services/missingReport/missingReportService.js.map +2 -2
- package/dpr/services/productCollection/productCollectionService.js +55 -1
- package/dpr/services/productCollection/productCollectionService.js.map +2 -2
- package/dpr/services/productCollection/productCollectionStoreService.js +61 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +2 -2
- package/dpr/services/reportStoreService.js +51 -1
- package/dpr/services/reportStoreService.js.map +2 -2
- package/dpr/services/reportingService.js +81 -1
- package/dpr/services/reportingService.js.map +2 -2
- package/dpr/setUpNunjucksFilters.js +66 -1
- package/dpr/setUpNunjucksFilters.js.map +2 -2
- package/dpr/types/AsyncReportUtils.js +16 -1
- package/dpr/types/AsyncReportUtils.js.map +2 -2
- package/dpr/types/Bookmark.js +16 -1
- package/dpr/types/Bookmark.js.map +2 -2
- package/dpr/types/Charts.js +16 -1
- package/dpr/types/Charts.js.map +2 -2
- package/dpr/types/Download.js +16 -1
- package/dpr/types/Download.js.map +2 -2
- package/dpr/types/DprConfig.js +16 -1
- package/dpr/types/DprConfig.js.map +2 -2
- package/dpr/types/DprUser.js +43 -1
- package/dpr/types/DprUser.js.map +2 -2
- package/dpr/types/EmbeddedReportUtils.js +33 -1
- package/dpr/types/EmbeddedReportUtils.js.map +2 -2
- package/dpr/types/ExecutionData.d.js +16 -1
- package/dpr/types/ExecutionData.d.js.map +2 -2
- package/dpr/types/Metrics.js +16 -1
- package/dpr/types/Metrics.js.map +2 -2
- package/dpr/types/ReportQuery.js +168 -1
- package/dpr/types/ReportQuery.js.map +2 -2
- package/dpr/types/ReportStore.js +16 -1
- package/dpr/types/ReportStore.js.map +2 -2
- package/dpr/types/Services.d.js +16 -1
- package/dpr/types/Services.d.js.map +2 -2
- package/dpr/types/Templates.d.js +16 -1
- package/dpr/types/Templates.d.js.map +2 -2
- package/dpr/types/UserReports.js +55 -1
- package/dpr/types/UserReports.js.map +2 -2
- package/dpr/types/api.d.js +16 -1
- package/dpr/types/api.d.js.map +2 -2
- package/dpr/types/index.d.js +16 -1
- package/dpr/types/index.d.js.map +2 -2
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +91 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +2 -2
- package/dpr/utils/CreateDprServices.js +66 -1
- package/dpr/utils/CreateDprServices.js.map +2 -2
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js +304 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +2 -2
- package/dpr/utils/DataTableBuilder/types.d.js +16 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/DateMapper/DateMapper.js +125 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
- package/dpr/utils/DateMapper/types.d.js +16 -1
- package/dpr/utils/DateMapper/types.d.js.map +2 -2
- package/dpr/utils/ErrorHandler.js +94 -1
- package/dpr/utils/ErrorHandler.js.map +3 -3
- package/dpr/utils/ErrorHandler.ts +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +201 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js +16 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/Personalisation/personalisationUtils.js +202 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +2 -2
- package/dpr/utils/Personalisation/types.d.js +16 -1
- package/dpr/utils/Personalisation/types.d.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +310 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/types.d.js +16 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +145 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +60 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +2 -2
- package/dpr/utils/UserStoreItemBuilder.js +247 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
- package/dpr/utils/arrayUtils.js +28 -1
- package/dpr/utils/arrayUtils.js.map +2 -2
- package/dpr/utils/datasetHelper.js +229 -1
- package/dpr/utils/datasetHelper.js.map +2 -2
- package/dpr/utils/definitionUtils.js +133 -1
- package/dpr/utils/definitionUtils.js.map +2 -2
- package/dpr/utils/index.js +44 -1
- package/dpr/utils/index.js.map +2 -2
- package/dpr/utils/indexedAccesHelper.js +41 -1
- package/dpr/utils/indexedAccesHelper.js.map +2 -2
- package/dpr/utils/localsHelper.js +105 -1
- package/dpr/utils/localsHelper.js.map +2 -2
- package/dpr/utils/logger.js +48 -1
- package/dpr/utils/logger.js.map +2 -2
- package/dpr/utils/reportListsHelper.js +128 -12
- package/dpr/utils/reportListsHelper.js.map +2 -2
- package/dpr/utils/reportStoreHelper.js +65 -1
- package/dpr/utils/reportStoreHelper.js.map +2 -2
- package/dpr/utils/requestStatusHelper.js +172 -1
- package/dpr/utils/requestStatusHelper.js.map +2 -2
- package/dpr/utils/sanitisedError.js +45 -1
- package/dpr/utils/sanitisedError.js.map +2 -2
- package/dpr/utils/urlHelper.js +103 -1
- package/dpr/utils/urlHelper.js.map +2 -2
- package/dpr/validation/validate.js +52 -1
- package/dpr/validation/validate.js.map +2 -2
- package/package.json +9 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/dpr/routes/journeys/view-report/async/controller.ts"],
|
|
4
|
-
"sourcesContent": ["import { RequestHandler } from 'express'\nimport ErrorHandler from '../../../../utils/ErrorHandler'\nimport { Services } from '../../../../types/Services'\nimport UserReportsListUtils from '../../../../components/user-reports/utils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\n\nclass AsyncController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n POST: RequestHandler = async (req, res, _next) => {\n try {\n const response = await UserReportsListUtils.updateExpiredStatus({\n req,\n res,\n services: this.services,\n })\n res.send({ isExpired: response })\n } catch (error) {\n res.send({ status: 'FAILED' })\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.saveDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next()\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.removeDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next()\n }\n }\n}\n\nexport { AsyncController }\nexport default AsyncController\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { RequestHandler } from 'express'\nimport ErrorHandler from '../../../../utils/ErrorHandler'\nimport { Services } from '../../../../types/Services'\nimport UserReportsListUtils from '../../../../components/user-reports/utils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\n\nclass AsyncController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n POST: RequestHandler = async (req, res, _next) => {\n try {\n const response = await UserReportsListUtils.updateExpiredStatus({\n req,\n res,\n services: this.services,\n })\n res.send({ isExpired: response })\n } catch (error) {\n res.send({ status: 'FAILED' })\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.saveDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next(error)\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.removeDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: new ErrorHandler(error).formatError(),\n ...(req.body && { ...req.body }),\n }\n next(error)\n }\n }\n}\n\nexport { AsyncController }\nexport default AsyncController\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAyB;AAEzB,mBAAiC;AACjC,6BAA4B;AAC5B,kCAAiC;AAEjC,MAAM,gBAAgB;AAAA,EACpB;AAAA,EAEA;AAAA,EAEA,YAAY,YAAoB,UAAoB;AAClD,SAAK,aAAa;AAClB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,OAAuB,OAAO,KAAK,KAAK,UAAU;AAChD,QAAI;AACF,YAAM,WAAW,MAAM,aAAAA,QAAqB,oBAAoB;AAAA,QAC9D;AAAA,QACA;AAAA,QACA,UAAU,KAAK;AAAA,MACjB,CAAC;AACD,UAAI,KAAK,EAAE,WAAW,SAAS,CAAC;AAAA,IAClC,SAAS,OAAO;AACd,UAAI,KAAK,EAAE,QAAQ,SAAS,CAAC;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,0BAA0C,OAAO,KAAK,KAAK,SAAS;AAClE,QAAI;AACF,kCAAAC,QAAqB,aAAa,mCAAY,aAAa,KAAK,KAAK,KAAK,QAAQ;AAClF,UAAI,SAAS,GAAG,IAAI,OAAO,qBAAqB;AAAA,IAClD,SAAS,OAAO;AACd,UAAI,OAAO;AAAA,QACT,OAAO;AAAA,QACP,OAAO,IAAI,oBAAAC,QAAa,KAAK,EAAE,YAAY;AAAA,QAC3C,GAAI,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK;AAAA,MAChC;AACA,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,4BAA4C,OAAO,KAAK,KAAK,SAAS;AACpE,QAAI;AACF,kCAAAD,QAAqB,eAAe,mCAAY,aAAa,KAAK,KAAK,KAAK,QAAQ;AACpF,UAAI,SAAS,IAAI,OAAO;AAAA,IAC1B,SAAS,OAAO;AACd,UAAI,OAAO;AAAA,QACT,OAAO;AAAA,QACP,OAAO,IAAI,oBAAAC,QAAa,KAAK,EAAE,YAAY;AAAA,QAC3C,GAAI,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK;AAAA,MAChC;AACA,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AACF;AAGA,IAAO,qBAAQ;",
|
|
6
|
+
"names": ["UserReportsListUtils", "PersonalisationUtils", "ErrorHandler"]
|
|
7
7
|
}
|
|
@@ -38,7 +38,7 @@ class AsyncController {
|
|
|
38
38
|
error: new ErrorHandler(error).formatError(),
|
|
39
39
|
...(req.body && { ...req.body }),
|
|
40
40
|
}
|
|
41
|
-
next()
|
|
41
|
+
next(error)
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -52,7 +52,7 @@ class AsyncController {
|
|
|
52
52
|
error: new ErrorHandler(error).formatError(),
|
|
53
53
|
...(req.body && { ...req.body }),
|
|
54
54
|
}
|
|
55
|
-
next()
|
|
55
|
+
next(error)
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -1,2 +1,83 @@
|
|
|
1
|
-
"use strict";
|
|
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 controller_exports = {};
|
|
30
|
+
__export(controller_exports, {
|
|
31
|
+
ViewAsyncDashboardController: () => ViewAsyncDashboardController,
|
|
32
|
+
default: () => controller_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(controller_exports);
|
|
35
|
+
var import_ErrorHandler = __toESM(require("../../../../../utils/ErrorHandler"));
|
|
36
|
+
var import_localsHelper = __toESM(require("../../../../../utils/localsHelper"));
|
|
37
|
+
var import_utils = __toESM(require("./utils"));
|
|
38
|
+
var import_utils2 = __toESM(require("../../utils"));
|
|
39
|
+
class ViewAsyncDashboardController {
|
|
40
|
+
layoutPath;
|
|
41
|
+
services;
|
|
42
|
+
constructor(layoutPath, services) {
|
|
43
|
+
this.layoutPath = layoutPath;
|
|
44
|
+
this.services = services;
|
|
45
|
+
}
|
|
46
|
+
GET = async (req, res, next) => {
|
|
47
|
+
const { type } = req.params;
|
|
48
|
+
try {
|
|
49
|
+
const params = { req, res, services: this.services, next };
|
|
50
|
+
const renderData = await import_utils.default.renderAsyncDashboard(params);
|
|
51
|
+
res.render(`dpr/routes/journeys/view-report/dashboard`, {
|
|
52
|
+
layoutPath: this.layoutPath,
|
|
53
|
+
...renderData
|
|
54
|
+
});
|
|
55
|
+
} catch (error) {
|
|
56
|
+
const dprError = new import_ErrorHandler.default(error).formatError();
|
|
57
|
+
let refreshLink;
|
|
58
|
+
if (dprError.status === "EXPIRED") {
|
|
59
|
+
const { dprUser } = import_localsHelper.default.getValues(res);
|
|
60
|
+
refreshLink = await this.services.recentlyViewedService.asyncSetToExpiredByTableId(
|
|
61
|
+
req.params["tableId"],
|
|
62
|
+
dprUser.id
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
req.body ??= {};
|
|
66
|
+
req.body.title = `Failed to retrieve ${type}`;
|
|
67
|
+
req.body.error = dprError;
|
|
68
|
+
if (refreshLink) {
|
|
69
|
+
req.body.refreshLink = refreshLink;
|
|
70
|
+
}
|
|
71
|
+
next(error);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
applyFilters = async (req, res, _next) => {
|
|
75
|
+
await import_utils2.default.applyDashboardInteractiveQuery(req, res, this.services, "filters");
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
var controller_default = ViewAsyncDashboardController;
|
|
79
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
+
0 && (module.exports = {
|
|
81
|
+
ViewAsyncDashboardController
|
|
82
|
+
});
|
|
2
83
|
//# sourceMappingURL=controller.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/controller.ts"],
|
|
4
|
-
"sourcesContent": ["import { RequestHandler } from 'express'\nimport ErrorHandler from '../../../../../utils/ErrorHandler'\nimport { Services } from '../../../../../types/Services'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport DashboardUtils from './utils'\nimport ViewReportUtils from '../../utils'\n\nclass ViewAsyncDashboardController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n GET: RequestHandler = async (req, res, next) => {\n const { type } = req.params\n try {\n const params = { req, res, services: this.services, next }\n\n const renderData = await DashboardUtils.renderAsyncDashboard(params)\n\n res.render(`dpr/routes/journeys/view-report/dashboard`, {\n layoutPath: this.layoutPath,\n ...renderData,\n })\n } catch (error) {\n const dprError = new ErrorHandler(error).formatError()\n let refreshLink\n if (dprError.status === 'EXPIRED') {\n const { dprUser } = LocalsHelper.getValues(res)\n refreshLink = await this.services.recentlyViewedService.asyncSetToExpiredByTableId(\n req.params['tableId'],\n dprUser.id,\n )\n }\n req.body ??= {}\n req.body.title = `Failed to retrieve ${type}`\n req.body.error = dprError\n if (refreshLink) {\n req.body.refreshLink = refreshLink\n }\n next()\n }\n }\n\n applyFilters: RequestHandler = async (req, res, _next) => {\n await ViewReportUtils.applyDashboardInteractiveQuery(req, res, this.services, 'filters')\n }\n}\n\nexport { ViewAsyncDashboardController }\nexport default ViewAsyncDashboardController\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { RequestHandler } from 'express'\nimport ErrorHandler from '../../../../../utils/ErrorHandler'\nimport { Services } from '../../../../../types/Services'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport DashboardUtils from './utils'\nimport ViewReportUtils from '../../utils'\n\nclass ViewAsyncDashboardController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n GET: RequestHandler = async (req, res, next) => {\n const { type } = req.params\n try {\n const params = { req, res, services: this.services, next }\n\n const renderData = await DashboardUtils.renderAsyncDashboard(params)\n\n res.render(`dpr/routes/journeys/view-report/dashboard`, {\n layoutPath: this.layoutPath,\n ...renderData,\n })\n } catch (error) {\n const dprError = new ErrorHandler(error).formatError()\n let refreshLink\n if (dprError.status === 'EXPIRED') {\n const { dprUser } = LocalsHelper.getValues(res)\n refreshLink = await this.services.recentlyViewedService.asyncSetToExpiredByTableId(\n req.params['tableId'],\n dprUser.id,\n )\n }\n req.body ??= {}\n req.body.title = `Failed to retrieve ${type}`\n req.body.error = dprError\n if (refreshLink) {\n req.body.refreshLink = refreshLink\n }\n next(error)\n }\n }\n\n applyFilters: RequestHandler = async (req, res, _next) => {\n await ViewReportUtils.applyDashboardInteractiveQuery(req, res, this.services, 'filters')\n }\n}\n\nexport { ViewAsyncDashboardController }\nexport default ViewAsyncDashboardController\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAyB;AAEzB,0BAAyB;AACzB,mBAA2B;AAC3B,IAAAA,gBAA4B;AAE5B,MAAM,6BAA6B;AAAA,EACjC;AAAA,EAEA;AAAA,EAEA,YAAY,YAAoB,UAAoB;AAClD,SAAK,aAAa;AAClB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAsB,OAAO,KAAK,KAAK,SAAS;AAC9C,UAAM,EAAE,KAAK,IAAI,IAAI;AACrB,QAAI;AACF,YAAM,SAAS,EAAE,KAAK,KAAK,UAAU,KAAK,UAAU,KAAK;AAEzD,YAAM,aAAa,MAAM,aAAAC,QAAe,qBAAqB,MAAM;AAEnE,UAAI,OAAO,6CAA6C;AAAA,QACtD,YAAY,KAAK;AAAA,QACjB,GAAG;AAAA,MACL,CAAC;AAAA,IACH,SAAS,OAAO;AACd,YAAM,WAAW,IAAI,oBAAAC,QAAa,KAAK,EAAE,YAAY;AACrD,UAAI;AACJ,UAAI,SAAS,WAAW,WAAW;AACjC,cAAM,EAAE,QAAQ,IAAI,oBAAAC,QAAa,UAAU,GAAG;AAC9C,sBAAc,MAAM,KAAK,SAAS,sBAAsB;AAAA,UACtD,IAAI,OAAO,SAAS;AAAA,UACpB,QAAQ;AAAA,QACV;AAAA,MACF;AACA,UAAI,SAAS,CAAC;AACd,UAAI,KAAK,QAAQ,sBAAsB,IAAI;AAC3C,UAAI,KAAK,QAAQ;AACjB,UAAI,aAAa;AACf,YAAI,KAAK,cAAc;AAAA,MACzB;AACA,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,eAA+B,OAAO,KAAK,KAAK,UAAU;AACxD,UAAM,cAAAC,QAAgB,+BAA+B,KAAK,KAAK,KAAK,UAAU,SAAS;AAAA,EACzF;AACF;AAGA,IAAO,qBAAQ;",
|
|
6
|
+
"names": ["import_utils", "DashboardUtils", "ErrorHandler", "LocalsHelper", "ViewReportUtils"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
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 routes_exports = {};
|
|
30
|
+
__export(routes_exports, {
|
|
31
|
+
default: () => routes_default,
|
|
32
|
+
routes: () => routes
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(routes_exports);
|
|
35
|
+
var import_express = require("express");
|
|
36
|
+
var import_controller = __toESM(require("./controller"));
|
|
37
|
+
function routes({ layoutPath, services }) {
|
|
38
|
+
const router = (0, import_express.Router)({ mergeParams: true });
|
|
39
|
+
const controller = new import_controller.default(layoutPath, services);
|
|
40
|
+
router.get(`/`, controller.GET);
|
|
41
|
+
router.post("/apply-filters", controller.applyFilters);
|
|
42
|
+
return router;
|
|
43
|
+
}
|
|
44
|
+
var routes_default = routes;
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
routes
|
|
48
|
+
});
|
|
2
49
|
//# sourceMappingURL=routes.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/routes.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Router } from 'express'\nimport ViewAsyncDashboardController from './controller'\nimport { Services } from '../../../../../types/Services'\n\nexport function routes({ layoutPath, services }: { layoutPath: string; services: Services }) {\n const router = Router({ mergeParams: true })\n const controller = new ViewAsyncDashboardController(layoutPath, services)\n\n router.get(`/`, controller.GET)\n router.post('/apply-filters', controller.applyFilters)\n\n return router\n}\n\nexport default routes\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAuB;AACvB,wBAAyC;AAGlC,SAAS,OAAO,EAAE,YAAY,SAAS,GAA+C;AAC3F,QAAM,aAAS,uBAAO,EAAE,aAAa,KAAK,CAAC;AAC3C,QAAM,aAAa,IAAI,kBAAAA,QAA6B,YAAY,QAAQ;AAExE,SAAO,IAAI,KAAK,WAAW,GAAG;AAC9B,SAAO,KAAK,kBAAkB,WAAW,YAAY;AAErD,SAAO;AACT;AAEA,IAAO,iBAAQ;",
|
|
6
|
+
"names": ["ViewAsyncDashboardController"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,34 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_cypressUtils = require("../../../../../../../cypress-tests/cypressUtils");
|
|
3
|
+
context("Viewing a report", () => {
|
|
4
|
+
const path = "/embedded/platform/";
|
|
5
|
+
describe("dashboard tests", () => {
|
|
6
|
+
before(() => {
|
|
7
|
+
(0, import_cypressUtils.executeDashboardStubs)();
|
|
8
|
+
cy.task("stubTestDashboard8");
|
|
9
|
+
cy.task("stubDashboardSuccessResult20");
|
|
10
|
+
});
|
|
11
|
+
it("should mark the dashboard as recently viewed", () => {
|
|
12
|
+
cy.visit(path);
|
|
13
|
+
cy.findByRole("tab", { name: /Viewed \(0\)/ }).should("be.visible");
|
|
14
|
+
(0, import_cypressUtils.checkA11y)();
|
|
15
|
+
cy.findByLabelText(/Reports catalogue.*/i).within(() => {
|
|
16
|
+
cy.findByRole("row", {
|
|
17
|
+
name: (_, element) => {
|
|
18
|
+
return Boolean(element.textContent?.includes("Test Dashboard")) && Boolean(element.textContent?.includes("Dashboard used for testing testing"));
|
|
19
|
+
}
|
|
20
|
+
}).within(() => {
|
|
21
|
+
cy.findByRole("link", { name: "Request dashboard" }).click();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
(0, import_cypressUtils.checkA11y)();
|
|
25
|
+
cy.findByRole("button", { name: /Request/ }).click();
|
|
26
|
+
(0, import_cypressUtils.checkA11y)();
|
|
27
|
+
cy.findByRole("heading", { level: 1, name: /Test Dashboard/ }).should("be.visible");
|
|
28
|
+
(0, import_cypressUtils.checkA11y)();
|
|
29
|
+
cy.visit(path);
|
|
30
|
+
cy.findByRole("tab", { name: /Viewed \(1\)/ }).should("be.visible");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
2
34
|
//# sourceMappingURL=tests.cy.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts"],
|
|
4
4
|
"sourcesContent": ["import { checkA11y, executeDashboardStubs } from '../../../../../../../cypress-tests/cypressUtils'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n\n describe('dashboard tests', () => {\n before(() => {\n executeDashboardStubs()\n cy.task('stubTestDashboard8')\n cy.task('stubDashboardSuccessResult20')\n })\n\n it('should mark the dashboard as recently viewed', () => {\n // Request and run a report so we can go back to it for each test\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(0\\)/ }).should('be.visible')\n checkA11y()\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n Boolean(element.textContent?.includes('Test Dashboard')) &&\n Boolean(element.textContent?.includes('Dashboard used for testing testing'))\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request dashboard' }).click()\n })\n })\n checkA11y()\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.findByRole('heading', { level: 1, name: /Test Dashboard/ }).should('be.visible')\n checkA11y()\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(1\\)/ }).should('be.visible')\n })\n })\n})\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";AAAA,0BAAiD;AAEjD,QAAQ,oBAAoB,MAAM;AAChC,QAAM,OAAO;AAEb,WAAS,mBAAmB,MAAM;AAChC,WAAO,MAAM;AACX,qDAAsB;AACtB,SAAG,KAAK,oBAAoB;AAC5B,SAAG,KAAK,8BAA8B;AAAA,IACxC,CAAC;AAED,OAAG,gDAAgD,MAAM;AAEvD,SAAG,MAAM,IAAI;AACb,SAAG,WAAW,OAAO,EAAE,MAAM,eAAe,CAAC,EAAE,OAAO,YAAY;AAClE,yCAAU;AACV,SAAG,gBAAgB,sBAAsB,EAAE,OAAO,MAAM;AACtD,WAAG,WAAW,OAAO;AAAA,UACnB,MAAM,CAAC,GAAG,YAAY;AACpB,mBACE,QAAQ,QAAQ,aAAa,SAAS,gBAAgB,CAAC,KACvD,QAAQ,QAAQ,aAAa,SAAS,oCAAoC,CAAC;AAAA,UAE/E;AAAA,QACF,CAAC,EAAE,OAAO,MAAM;AACd,aAAG,WAAW,QAAQ,EAAE,MAAM,oBAAoB,CAAC,EAAE,MAAM;AAAA,QAC7D,CAAC;AAAA,MACH,CAAC;AACD,yCAAU;AACV,SAAG,WAAW,UAAU,EAAE,MAAM,UAAU,CAAC,EAAE,MAAM;AACnD,yCAAU;AACV,SAAG,WAAW,WAAW,EAAE,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,YAAY;AAClF,yCAAU;AACV,SAAG,MAAM,IAAI;AACb,SAAG,WAAW,OAAO,EAAE,MAAM,eAAe,CAAC,EAAE,OAAO,YAAY;AAAA,IACpE,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,243 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
+
default: () => utils_default,
|
|
32
|
+
renderAsyncDashboard: () => renderAsyncDashboard
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(utils_exports);
|
|
35
|
+
var import_types = require("../../../../../components/_dashboards/dashboard-visualisation/types");
|
|
36
|
+
var import_UserReports = require("../../../../../types/UserReports");
|
|
37
|
+
var import_utils = __toESM(require("../../../../../components/_charts/utils"));
|
|
38
|
+
var import_definitionUtils = __toESM(require("../../../../../utils/definitionUtils"));
|
|
39
|
+
var import_utils2 = __toESM(require("../../../../../components/user-reports/utils"));
|
|
40
|
+
var import_utils3 = __toESM(require("../../../../../components/_dashboards/dashboard-list/utils"));
|
|
41
|
+
var import_utils4 = __toESM(require("../../../../../components/_filters/utils"));
|
|
42
|
+
var import_utils5 = __toESM(require("../../../../../components/_dashboards/scorecard/utils"));
|
|
43
|
+
var import_Scorecard = __toESM(require("../../../../../components/_dashboards/scorecard/Scorecard"));
|
|
44
|
+
var import_ScorecardGroup = __toESM(require("../../../../../components/_dashboards/scorecard-group/ScorecardGroup"));
|
|
45
|
+
var import_utils6 = __toESM(require("../../../../../components/_reports/report-actions/utils"));
|
|
46
|
+
var import_ReportQuery = __toESM(require("../../../../../types/ReportQuery"));
|
|
47
|
+
var import_localsHelper = __toESM(require("../../../../../utils/localsHelper"));
|
|
48
|
+
var import_filtersTypeEnum = require("../../../../../components/_filters/filtersTypeEnum");
|
|
49
|
+
var import_enum = require("../../../../../components/_filters/filter-input/enum");
|
|
50
|
+
const setDashboardActions = (dashboardDefinition, reportDefinition, requestData) => {
|
|
51
|
+
const reportName = reportDefinition.name;
|
|
52
|
+
const { name } = dashboardDefinition;
|
|
53
|
+
const actionsUrl = requestData?.url?.request?.fullUrl;
|
|
54
|
+
const executionId = requestData?.executionId;
|
|
55
|
+
let actions = {};
|
|
56
|
+
if (actionsUrl) {
|
|
57
|
+
actions = {
|
|
58
|
+
share: {
|
|
59
|
+
reportName,
|
|
60
|
+
name,
|
|
61
|
+
url: actionsUrl
|
|
62
|
+
},
|
|
63
|
+
copy: {
|
|
64
|
+
url: actionsUrl
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
if (executionId) {
|
|
68
|
+
actions = {
|
|
69
|
+
...actions,
|
|
70
|
+
refresh: {
|
|
71
|
+
url: actionsUrl,
|
|
72
|
+
executionId
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return import_utils6.default.getActions(actions);
|
|
78
|
+
};
|
|
79
|
+
const getDefinitionData = async ({
|
|
80
|
+
req,
|
|
81
|
+
res,
|
|
82
|
+
services,
|
|
83
|
+
queryData
|
|
84
|
+
}) => {
|
|
85
|
+
const { token } = import_localsHelper.default.getValues(res);
|
|
86
|
+
const { reportId, id } = req.params;
|
|
87
|
+
const dataProductDefinitionsPath = req.query["dataProductDefinitionsPath"];
|
|
88
|
+
const dashboardDefinition = await services.dashboardService.getDefinition(
|
|
89
|
+
token,
|
|
90
|
+
reportId,
|
|
91
|
+
id,
|
|
92
|
+
dataProductDefinitionsPath,
|
|
93
|
+
queryData
|
|
94
|
+
);
|
|
95
|
+
const reportDefinition = await import_definitionUtils.default.getReportSummary(
|
|
96
|
+
reportId,
|
|
97
|
+
services.reportingService,
|
|
98
|
+
token,
|
|
99
|
+
dataProductDefinitionsPath
|
|
100
|
+
);
|
|
101
|
+
const filtersData = await import_utils4.default.getFilters({
|
|
102
|
+
fields: dashboardDefinition.filterFields || [],
|
|
103
|
+
req,
|
|
104
|
+
filtersType: import_filtersTypeEnum.FiltersType.INTERACTIVE
|
|
105
|
+
});
|
|
106
|
+
const filtersQuery = import_utils4.default.setRequestQueryFromFilterValues(filtersData.filters);
|
|
107
|
+
const query = new import_ReportQuery.default({
|
|
108
|
+
fields: dashboardDefinition.filterFields || [],
|
|
109
|
+
queryParams: filtersQuery,
|
|
110
|
+
definitionsPath: dataProductDefinitionsPath,
|
|
111
|
+
reportType: import_UserReports.ReportType.DASHBOARD
|
|
112
|
+
}).toRecordWithFilterPrefix(true);
|
|
113
|
+
return {
|
|
114
|
+
query,
|
|
115
|
+
filters: filtersData,
|
|
116
|
+
dashboardDefinition,
|
|
117
|
+
reportDefinition
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
const getSections = (dashboardDefinition, dashboardData, query, partialDate) => {
|
|
121
|
+
return dashboardDefinition.sections.map((section) => {
|
|
122
|
+
const { id, display: title, description } = section;
|
|
123
|
+
let hasScorecard = false;
|
|
124
|
+
const visualisations = section.visualisations.map(
|
|
125
|
+
(visDefinition) => {
|
|
126
|
+
const { type, display, description: visDescription, id: visId } = visDefinition;
|
|
127
|
+
let data;
|
|
128
|
+
switch (type) {
|
|
129
|
+
case import_types.DashboardVisualisationType.LIST:
|
|
130
|
+
data = import_utils3.default.createList(visDefinition, dashboardData);
|
|
131
|
+
break;
|
|
132
|
+
case import_types.DashboardVisualisationType.SCORECARD:
|
|
133
|
+
hasScorecard = true;
|
|
134
|
+
data = new import_Scorecard.default().withDefinition(visDefinition).withData(dashboardData).build();
|
|
135
|
+
break;
|
|
136
|
+
case import_types.DashboardVisualisationType.SCORECARD_GROUP:
|
|
137
|
+
data = new import_ScorecardGroup.default().withDefinition(visDefinition).withData(dashboardData).build();
|
|
138
|
+
break;
|
|
139
|
+
case import_types.DashboardVisualisationType.BAR:
|
|
140
|
+
case import_types.DashboardVisualisationType.LINE:
|
|
141
|
+
case import_types.DashboardVisualisationType.DONUT: {
|
|
142
|
+
data = import_utils.default.createChart(visDefinition, dashboardData, type);
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
case import_types.DashboardVisualisationType.MATRIX_TIMESERIES:
|
|
146
|
+
case import_types.DashboardVisualisationType.BAR_TIMESERIES:
|
|
147
|
+
case import_types.DashboardVisualisationType.LINE_TIMESERIES: {
|
|
148
|
+
data = import_utils.default.createTimeseriesCharts(visDefinition, dashboardData, type, query, partialDate);
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
default:
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
id: visId,
|
|
156
|
+
title: display || "",
|
|
157
|
+
description: visDescription || "",
|
|
158
|
+
type,
|
|
159
|
+
data
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
);
|
|
163
|
+
if (hasScorecard) import_utils5.default.mergeScorecardsIntoGroup(visualisations);
|
|
164
|
+
return { id, title: title || "", description: description || "", visualisations };
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
const updateStore = async (services, tableId, userId, sections, req, filters) => {
|
|
168
|
+
const { requestedReportService } = services;
|
|
169
|
+
const dashboardRequestData = await requestedReportService.getReportByTableId(tableId, userId);
|
|
170
|
+
if (sections && sections.length && dashboardRequestData) {
|
|
171
|
+
import_utils2.default.updateLastViewed({
|
|
172
|
+
services,
|
|
173
|
+
reportStateData: dashboardRequestData,
|
|
174
|
+
userId,
|
|
175
|
+
req,
|
|
176
|
+
filters
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return dashboardRequestData;
|
|
180
|
+
};
|
|
181
|
+
const getPartialDate = (filters) => {
|
|
182
|
+
let partialDate;
|
|
183
|
+
const granularDateRangeFilter = filters.find((f) => f.type === import_enum.FilterType.granularDateRange.toLowerCase());
|
|
184
|
+
if (granularDateRangeFilter) {
|
|
185
|
+
partialDate = granularDateRangeFilter.value.partialDate;
|
|
186
|
+
}
|
|
187
|
+
return partialDate;
|
|
188
|
+
};
|
|
189
|
+
const renderAsyncDashboard = async ({ req, res, services }) => {
|
|
190
|
+
const { token, csrfToken, dprUser, nestedBaseUrl } = import_localsHelper.default.getValues(res);
|
|
191
|
+
const { reportId, id, tableId } = req.params;
|
|
192
|
+
const { bookmarkService, requestedReportService } = services;
|
|
193
|
+
const { id: userId } = dprUser;
|
|
194
|
+
let requestData = await requestedReportService.getReportByTableId(tableId, userId);
|
|
195
|
+
const queryData = requestData?.query?.data;
|
|
196
|
+
const { query, filters, reportDefinition, dashboardDefinition } = await getDefinitionData({
|
|
197
|
+
req,
|
|
198
|
+
res,
|
|
199
|
+
services,
|
|
200
|
+
queryData
|
|
201
|
+
});
|
|
202
|
+
const dashboardData = await services.dashboardService.getAsyncDashboard(
|
|
203
|
+
token,
|
|
204
|
+
id,
|
|
205
|
+
reportId,
|
|
206
|
+
tableId,
|
|
207
|
+
query
|
|
208
|
+
);
|
|
209
|
+
const flattenedData = dashboardData.flat();
|
|
210
|
+
const partialDate = getPartialDate(filters.filters);
|
|
211
|
+
const sections = getSections(dashboardDefinition, flattenedData, query, partialDate);
|
|
212
|
+
if (requestedReportService) {
|
|
213
|
+
requestData = await updateStore(services, tableId, dprUser.id, sections, req, filters.filters);
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
dashboardData: {
|
|
217
|
+
token,
|
|
218
|
+
id,
|
|
219
|
+
reportId,
|
|
220
|
+
name: dashboardDefinition.name,
|
|
221
|
+
description: dashboardDefinition.description,
|
|
222
|
+
reportName: reportDefinition.name,
|
|
223
|
+
bookmarked: await bookmarkService.isBookmarked(id, reportId, dprUser.id),
|
|
224
|
+
nestedBaseUrl,
|
|
225
|
+
csrfToken,
|
|
226
|
+
sections,
|
|
227
|
+
filters,
|
|
228
|
+
type: import_UserReports.ReportType.DASHBOARD,
|
|
229
|
+
actions: setDashboardActions(dashboardDefinition, reportDefinition, requestData)
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
var utils_default = {
|
|
234
|
+
renderAsyncDashboard,
|
|
235
|
+
getDefinitionData,
|
|
236
|
+
getSections,
|
|
237
|
+
setDashboardActions
|
|
238
|
+
};
|
|
239
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
240
|
+
0 && (module.exports = {
|
|
241
|
+
renderAsyncDashboard
|
|
242
|
+
});
|
|
2
243
|
//# sourceMappingURL=utils.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Request, Response } from 'express'\nimport { Services } from '../../../../../types/Services'\nimport Dict = NodeJS.Dict\nimport {\n DashboardSection,\n DashboardVisualisation,\n DashboardVisualisationType,\n} from '../../../../../components/_dashboards/dashboard-visualisation/types'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\n\nimport type { DashboardDataResponse } from '../../../../../types/Metrics'\nimport type { RequestedReport } from '../../../../../types/UserReports'\nimport { ReportType } from '../../../../../types/UserReports'\nimport type { components } from '../../../../../types/api'\n\nimport ChartUtils from '../../../../../components/_charts/utils'\nimport DefinitionUtils from '../../../../../utils/definitionUtils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'\nimport FilterUtils from '../../../../../components/_filters/utils'\nimport ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'\nimport ScorecardVisualisation from '../../../../../components/_dashboards/scorecard/Scorecard'\nimport ScorecardGroupVisualisation from '../../../../../components/_dashboards/scorecard-group/ScorecardGroup'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { FilterValue, GranularDateRangeFilterValue, PartialDate } from '../../../../../components/_filters/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\nimport { FilterType } from '../../../../../components/_filters/filter-input/enum'\n\nconst setDashboardActions = (\n dashboardDefinition: components['schemas']['DashboardDefinition'],\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n requestData?: RequestedReport,\n) => {\n const reportName = reportDefinition.name\n const { name } = dashboardDefinition\n const actionsUrl = requestData?.url?.request?.fullUrl\n const executionId = requestData?.executionId\n\n let actions = {}\n if (actionsUrl) {\n actions = {\n share: {\n reportName,\n name,\n url: actionsUrl,\n },\n copy: {\n url: actionsUrl,\n },\n }\n if (executionId) {\n actions = {\n ...actions,\n refresh: {\n url: actionsUrl,\n executionId,\n },\n }\n }\n }\n\n return ReportActionsUtils.getActions(actions)\n}\n\nconst getDefinitionData = async ({\n req,\n res,\n services,\n queryData,\n}: {\n req: Request\n res: Response\n services: Services\n queryData?: Dict<string | string[]> | undefined\n}) => {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const dataProductDefinitionsPath = <string>req.query['dataProductDefinitionsPath']\n\n // Dashboard Definition,\n const dashboardDefinition = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n dataProductDefinitionsPath,\n queryData,\n )\n\n // Report summary data\n const reportDefinition = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n <string>dataProductDefinitionsPath,\n )\n\n // Get the filters\n const filtersData = await FilterUtils.getFilters({\n fields: dashboardDefinition.filterFields || [],\n req,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n const filtersQuery = FilterUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n // Create the query\n const query = new ReportQuery({\n fields: dashboardDefinition.filterFields || [],\n queryParams: filtersQuery,\n definitionsPath: <string>dataProductDefinitionsPath,\n reportType: ReportType.DASHBOARD,\n }).toRecordWithFilterPrefix(true)\n\n return {\n query,\n filters: filtersData,\n dashboardDefinition,\n reportDefinition,\n }\n}\n\nconst getSections = (\n dashboardDefinition: components['schemas']['DashboardDefinition'],\n dashboardData: DashboardDataResponse[],\n query: Record<string, string | string[]>,\n partialDate?: PartialDate,\n): DashboardSection[] => {\n return dashboardDefinition.sections.map((section: components['schemas']['DashboardSectionDefinition']) => {\n const { id, display: title, description } = section\n\n let hasScorecard = false\n const visualisations: DashboardVisualisation[] = section.visualisations.map(\n (visDefinition: components['schemas']['DashboardVisualisationDefinition']) => {\n const { type, display, description: visDescription, id: visId } = visDefinition\n\n let data: DashboardVisualisation['data'] | undefined\n\n switch (type) {\n case DashboardVisualisationType.LIST:\n data = DashboardListUtils.createList(visDefinition, dashboardData)\n break\n\n case DashboardVisualisationType.SCORECARD:\n hasScorecard = true\n data = new ScorecardVisualisation().withDefinition(visDefinition).withData(dashboardData).build()\n break\n\n case DashboardVisualisationType.SCORECARD_GROUP:\n data = new ScorecardGroupVisualisation().withDefinition(visDefinition).withData(dashboardData).build()\n break\n\n case DashboardVisualisationType.BAR:\n case DashboardVisualisationType.LINE:\n case DashboardVisualisationType.DONUT: {\n data = ChartUtils.createChart(visDefinition, dashboardData, type)\n break\n }\n case DashboardVisualisationType.MATRIX_TIMESERIES:\n case DashboardVisualisationType.BAR_TIMESERIES:\n case DashboardVisualisationType.LINE_TIMESERIES: {\n data = ChartUtils.createTimeseriesCharts(visDefinition, dashboardData, type, query, partialDate)\n break\n }\n default:\n break\n }\n\n return {\n id: visId,\n title: display || '',\n description: visDescription || '',\n type,\n data,\n }\n },\n )\n\n if (hasScorecard) ScorecardsUtils.mergeScorecardsIntoGroup(visualisations)\n\n return { id, title: title || '', description: description || '', visualisations }\n })\n}\n\nconst updateStore = async (\n services: Services,\n tableId: string,\n userId: string,\n sections: DashboardSection[],\n req: Request,\n filters: FilterValue[],\n): Promise<RequestedReport | undefined> => {\n const { requestedReportService } = services\n const dashboardRequestData = await requestedReportService.getReportByTableId(tableId, userId)\n\n // Add to recently viewed\n if (sections && sections.length && dashboardRequestData) {\n UserReportsUtils.updateLastViewed({\n services,\n reportStateData: dashboardRequestData,\n userId,\n req,\n filters,\n })\n }\n\n return dashboardRequestData\n}\n\nconst getPartialDate = (filters: FilterValue[]) => {\n let partialDate: PartialDate | undefined\n const granularDateRangeFilter = <GranularDateRangeFilterValue | undefined>(\n filters.find((f) => f.type === FilterType.granularDateRange.toLowerCase())\n )\n if (granularDateRangeFilter) {\n partialDate = granularDateRangeFilter.value.partialDate\n }\n return partialDate\n}\n\nexport const renderAsyncDashboard = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token, csrfToken, dprUser, nestedBaseUrl } = LocalsHelper.getValues(res)\n const { reportId, id, tableId } = req.params\n const { bookmarkService, requestedReportService } = services\n const { id: userId } = dprUser\n\n let requestData: RequestedReport | undefined = await requestedReportService.getReportByTableId(tableId, userId)\n const queryData = requestData?.query?.data\n\n // Get the definition Data\n const { query, filters, reportDefinition, dashboardDefinition } = await getDefinitionData({\n req,\n res,\n services,\n queryData,\n })\n\n // Get the results data\n const dashboardData: DashboardDataResponse[][] = await services.dashboardService.getAsyncDashboard(\n token,\n id,\n reportId,\n tableId,\n query,\n )\n\n const flattenedData: DashboardDataResponse[] = dashboardData.flat()\n const partialDate = getPartialDate(filters.filters)\n\n // Get the dashboard parts\n const sections: DashboardSection[] = getSections(dashboardDefinition, flattenedData, query, partialDate)\n\n // Update the store\n if (requestedReportService) {\n requestData = await updateStore(services, tableId, dprUser.id, sections, req, filters.filters)\n }\n\n return {\n dashboardData: {\n token,\n id,\n reportId,\n name: dashboardDefinition.name,\n description: dashboardDefinition.description,\n reportName: reportDefinition.name,\n bookmarked: await bookmarkService.isBookmarked(id, reportId, dprUser.id),\n nestedBaseUrl,\n csrfToken,\n sections,\n filters,\n type: ReportType.DASHBOARD,\n actions: setDashboardActions(dashboardDefinition, reportDefinition, requestData),\n },\n }\n}\n\nexport default {\n renderAsyncDashboard,\n getDefinitionData,\n getSections,\n setDashboardActions,\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_utils", "ReportActionsUtils", "LocalsHelper", "DefinitionUtils", "FilterUtils", "ReportQuery", "DashboardListUtils", "ScorecardVisualisation", "ScorecardGroupVisualisation", "ChartUtils", "ScorecardsUtils", "UserReportsUtils"]
|
|
7
7
|
}
|