@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.0 → 4.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/DprClientClass.js +43 -0
- package/dpr/DprClientClass.js.map +7 -0
- package/dpr/{DprClientClass.mjs → DprClientClass.ts} +1 -0
- package/dpr/DprFormValidationClass.js +157 -0
- package/dpr/DprFormValidationClass.js.map +7 -0
- package/dpr/{DprFormValidationClass.mjs → DprFormValidationClass.ts} +2 -1
- package/dpr/DprGenericFormClass.js +66 -0
- package/dpr/DprGenericFormClass.js.map +7 -0
- package/dpr/{DprGenericFormClass.mjs → DprGenericFormClass.ts} +2 -1
- package/dpr/DprLoadingHelper.js +51 -0
- package/dpr/DprLoadingHelper.js.map +7 -0
- package/dpr/{DprLoadingHelper.mjs → DprLoadingHelper.ts} +1 -0
- package/dpr/DprPollingStatusClass.js +79 -0
- package/dpr/DprPollingStatusClass.js.map +7 -0
- package/dpr/{DprPollingStatusClass.mjs → DprPollingStatusClass.ts} +2 -1
- package/dpr/DprQueryParamClass.js +231 -0
- package/dpr/DprQueryParamClass.js.map +7 -0
- package/dpr/{DprQueryParamClass.mjs → DprQueryParamClass.ts} +2 -1
- package/dpr/DprSyncLoading.js +44 -0
- package/dpr/DprSyncLoading.js.map +7 -0
- package/dpr/{DprSyncLoading.mjs → DprSyncLoading.ts} +2 -1
- package/dpr/all.js +111 -0
- package/dpr/all.js.map +7 -0
- package/dpr/{all.mjs → all.ts} +29 -28
- package/dpr/assets/app.js +1 -1
- package/dpr/assets/app.js.map +2 -2
- package/dpr/components/_async/async-filters-form/clientClass.js +76 -0
- package/dpr/components/_async/async-filters-form/clientClass.js.map +7 -0
- package/dpr/components/_async/async-filters-form/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +1 -1
- package/dpr/components/_async/async-polling/clientClass.js +78 -0
- package/dpr/components/_async/async-polling/clientClass.js.map +7 -0
- package/dpr/components/_async/async-polling/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js +94 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js +70 -0
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filters/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-search/clientClass.js +106 -0
- package/dpr/components/_catalogue/catalogue-search/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-search/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js +135 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/Chart.js.map +1 -1
- package/dpr/components/_charts/chart/ChartColours.js.map +1 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +1 -1
- package/dpr/components/_charts/chart/bar/BarChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar/clientClass.js +98 -0
- package/dpr/components/_charts/chart/bar/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/bar/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/bar/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar/validate.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/Buckets.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/types.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/validate.js.map +1 -1
- package/dpr/components/_charts/chart/chart-config.js.map +1 -1
- package/dpr/components/_charts/chart/clientClass.js +136 -0
- package/dpr/components/_charts/chart/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/clientClass.js +170 -0
- package/dpr/components/_charts/chart/doughnut/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/doughnut/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/types.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/validate.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/clientClass.js +118 -0
- package/dpr/components/_charts/chart/heatmap/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/heatmap/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line/LineChart.js.map +1 -1
- package/dpr/components/_charts/chart/line/clientClass.js +93 -0
- package/dpr/components/_charts/chart/line/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/line/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/line/types.js.map +1 -1
- package/dpr/components/_charts/chart/line/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/types.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/clientClass.js +50 -0
- package/dpr/components/_dashboards/scorecard/clientClass.js.map +7 -0
- package/dpr/components/_dashboards/scorecard/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/validate.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/validate.js.map +1 -1
- package/dpr/components/_filters/filter-input/enum.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.js.map +1 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
- package/dpr/components/_filters/filters-form/clientClass.js +104 -0
- package/dpr/components/_filters/filters-form/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-interactive/clientClass.js +55 -0
- package/dpr/components/_filters/filters-interactive/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-interactive/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-selected/clientClass.js +396 -0
- package/dpr/components/_filters/filters-selected/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-selected/{clientClass.mjs → clientClass.ts} +7 -7
- package/dpr/components/_filters/filters-selected/utils.js.map +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
- package/dpr/components/_filters/types.d.js.map +1 -1
- package/dpr/components/_filters/utils.js.map +1 -1
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js +153 -0
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/autocomplete-text-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-input/clientClass.js +109 -0
- package/dpr/components/_inputs/date-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-range/clientClass.js +206 -0
- package/dpr/components/_inputs/date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-range/types.js.map +1 -1
- package/dpr/components/_inputs/date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/clientClass.js +245 -0
- package/dpr/components/_inputs/granular-date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/granular-date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +1 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/report-actions/clientClass.js +103 -0
- package/dpr/components/_reports/report-actions/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-actions/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
- package/dpr/components/_reports/report-actions/utils.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/clientClass.js +76 -0
- package/dpr/components/_reports/report-columns-form/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-columns-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +1 -1
- package/dpr/components/_reports/report-data-table/clientClass.js +80 -0
- package/dpr/components/_reports/report-data-table/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-data-table/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +1 -1
- package/dpr/components/_reports/report-download-message/clientClass.js +42 -0
- package/dpr/components/_reports/report-download-message/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-download-message/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/clientClass.js +61 -0
- package/dpr/components/_reports/report-pagination/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-pagination/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +1 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
- package/dpr/components/_reports/report-totals/utils.js.map +1 -1
- package/dpr/components/bookmark-toggle/clientClass.js +111 -0
- package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
- package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/clientClass.js +53 -0
- package/dpr/components/card-group/clientClass.js.map +7 -0
- package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/utils.js.map +1 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
- package/dpr/components/report-list/types.d.js.map +1 -1
- package/dpr/components/report-list/utils.js.map +1 -1
- package/dpr/components/show-more/clientClass.js +63 -0
- package/dpr/components/show-more/clientClass.js.map +7 -0
- package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/show-more/utils.js.map +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
- package/dpr/components/user-reports/requested/clientClass.js +132 -0
- package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
- package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/requested/utils.js.map +1 -1
- package/dpr/components/user-reports/types.d.js.map +1 -1
- package/dpr/components/user-reports/utils.js.map +1 -1
- package/dpr/components/user-reports/viewed/clientClass.js +102 -0
- package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
- package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/viewed/utils.js.map +1 -1
- package/dpr/data/agentConfig.js.map +1 -1
- package/dpr/data/dashboardClient.js.map +1 -1
- package/dpr/data/dprReportingClient.js.map +1 -1
- package/dpr/data/missingReportClient.js.map +1 -1
- package/dpr/data/productCollectionClient.js.map +1 -1
- package/dpr/data/reportDataStore.js.map +1 -1
- package/dpr/data/reportingClient.js.map +1 -1
- package/dpr/data/restClient.js.map +1 -1
- package/dpr/data/types.d.js.map +1 -1
- package/dpr/middleware/reportAuthoriser.js.map +1 -1
- package/dpr/middleware/setUpDprResources.js.map +1 -1
- package/dpr/middleware/setUpNestedRoute.js.map +1 -1
- package/dpr/routes/index.js.map +1 -1
- package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -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.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
- package/dpr/routes/journeys/download-report/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +1 -1
- package/dpr/services/dashboardService.js.map +1 -1
- package/dpr/services/defaultFilterValuesService.js.map +1 -1
- package/dpr/services/featureFlagService.js.map +1 -1
- package/dpr/services/featureFlags.cy.js.map +1 -1
- package/dpr/services/index.js.map +1 -1
- package/dpr/services/missingReport/missingReportService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
- package/dpr/services/reportStoreService.js.map +1 -1
- package/dpr/services/reportingService.js.map +1 -1
- package/dpr/setUpNunjucksFilters.js.map +1 -1
- package/dpr/types/AsyncReportUtils.js.map +1 -1
- package/dpr/types/Bookmark.js.map +1 -1
- package/dpr/types/Charts.js.map +1 -1
- package/dpr/types/Download.js.map +1 -1
- package/dpr/types/DprConfig.js.map +1 -1
- package/dpr/types/DprUser.js.map +1 -1
- package/dpr/types/EmbeddedReportUtils.js.map +1 -1
- package/dpr/types/ExecutionData.d.js.map +1 -1
- package/dpr/types/Metrics.js.map +1 -1
- package/dpr/types/ReportQuery.js.map +1 -1
- package/dpr/types/ReportStore.js.map +1 -1
- package/dpr/types/Services.d.js.map +1 -1
- package/dpr/types/Templates.d.js.map +1 -1
- package/dpr/types/UserReports.js.map +1 -1
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/index.d.js.map +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
- package/dpr/utils/CreateDprServices.js.map +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
- package/dpr/utils/DateMapper/types.d.js.map +1 -1
- package/dpr/utils/ErrorHandler.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
- package/dpr/utils/Personalisation/types.d.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
- package/dpr/utils/arrayUtils.js.map +1 -1
- package/dpr/utils/datasetHelper.js.map +1 -1
- package/dpr/utils/definitionUtils.js.map +1 -1
- package/dpr/utils/index.js.map +1 -1
- package/dpr/utils/indexedAccesHelper.js.map +1 -1
- package/dpr/utils/localsHelper.js.map +1 -1
- package/dpr/utils/logger.js.map +1 -1
- package/dpr/utils/reportListsHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.js.map +1 -1
- package/dpr/utils/requestStatusHelper.js.map +1 -1
- package/dpr/utils/sanitisedError.js.map +1 -1
- package/dpr/utils/urlHelper.js.map +1 -1
- package/dpr/validation/validate.js.map +1 -1
- package/package.json +11 -6
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var clientClass_exports = {};
|
|
20
|
+
__export(clientClass_exports, {
|
|
21
|
+
CardGroup: () => CardGroup,
|
|
22
|
+
default: () => clientClass_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
25
|
+
var import_DprClientClass = require("../../DprClientClass");
|
|
26
|
+
class CardGroup extends import_DprClientClass.DprClientClass {
|
|
27
|
+
static getModuleName() {
|
|
28
|
+
return "card-group";
|
|
29
|
+
}
|
|
30
|
+
initialise() {
|
|
31
|
+
const cards = this.getElement().querySelectorAll("[data-click-navigate-to]");
|
|
32
|
+
const wrapperClass = "card-loading";
|
|
33
|
+
cards.forEach((card) => {
|
|
34
|
+
card.addEventListener("click", () => {
|
|
35
|
+
card.classList.add(wrapperClass);
|
|
36
|
+
this.loadingHelper.showLoadingAnimation(wrapperClass);
|
|
37
|
+
cards.forEach((c) => {
|
|
38
|
+
if (!c.classList.contains("card-loading")) {
|
|
39
|
+
const disabledClass = "card-disabled";
|
|
40
|
+
c.classList.add(disabledClass);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
window.location.href = card.dataset.clickNavigateTo;
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
var clientClass_default = CardGroup;
|
|
49
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
50
|
+
0 && (module.exports = {
|
|
51
|
+
CardGroup
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../dpr/components/card-group/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { DprClientClass } from '../../DprClientClass'\n\nclass CardGroup extends DprClientClass {\n static getModuleName() {\n return 'card-group'\n }\n\n\n initialise() {\n const cards = this.getElement().querySelectorAll('[data-click-navigate-to]')\n const wrapperClass = 'card-loading'\n\n cards.forEach((card) => {\n card.addEventListener('click', () => {\n card.classList.add(wrapperClass)\n this.loadingHelper.showLoadingAnimation(wrapperClass)\n\n cards.forEach((c) => {\n if (!c.classList.contains('card-loading')) {\n const disabledClass = 'card-disabled'\n c.classList.add(disabledClass)\n }\n })\n window.location.href = card.dataset.clickNavigateTo\n })\n })\n }\n}\n\nexport { CardGroup }\nexport default CardGroup\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAA+B;AAE/B,MAAM,kBAAkB,qCAAe;AAAA,EACrC,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAGA,aAAa;AACX,UAAM,QAAQ,KAAK,WAAW,EAAE,iBAAiB,0BAA0B;AAC3E,UAAM,eAAe;AAErB,UAAM,QAAQ,CAAC,SAAS;AACtB,WAAK,iBAAiB,SAAS,MAAM;AACnC,aAAK,UAAU,IAAI,YAAY;AAC/B,aAAK,cAAc,qBAAqB,YAAY;AAEpD,cAAM,QAAQ,CAAC,MAAM;AACnB,cAAI,CAAC,EAAE,UAAU,SAAS,cAAc,GAAG;AACzC,kBAAM,gBAAgB;AACtB,cAAE,UAAU,IAAI,aAAa;AAAA,UAC/B;AAAA,QACF,CAAC;AACD,eAAO,SAAS,OAAO,KAAK,QAAQ;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/card-group/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { components } from '../../types/api'\nimport { createQuerystringFromObject } from '../../utils/urlHelper'\n\nconst addAdditionalQueryParams = (path: string, additionalQueryParams?: NodeJS.Dict<string>) => {\n if (additionalQueryParams && Object.keys(additionalQueryParams).length > 0) {\n return `${path}${createQuerystringFromObject(additionalQueryParams)}`\n }\n\n return path\n}\n\nexport const reportDefinitionsToCards = (\n reportDefinitions: Array<components['schemas']['ReportDefinitionSummary']>,\n pathPrefix: string,\n additionalQueryParams?: NodeJS.Dict<string>,\n) => {\n return reportDefinitions.map((d: components['schemas']['ReportDefinitionSummary']) => ({\n text: d.name,\n href: addAdditionalQueryParams(`${pathPrefix}/${d.id}`, additionalQueryParams),\n description: d.description,\n }))\n}\n\nexport const variantDefinitionsToCards = (\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n pathPrefix: string,\n additionalQueryParams?: NodeJS.Dict<string>,\n) => {\n let suffix = ''\n if (pathPrefix === '/async-reports') suffix = '/request'\n\n return reportDefinition.variants.map((v: components['schemas']['VariantDefinitionSummary']) => ({\n text: v.name,\n href: addAdditionalQueryParams(`${pathPrefix}/${reportDefinition.id}/${v.id}${suffix}`, additionalQueryParams),\n description: v.description,\n }))\n}\n\nexport default {\n reportDefinitionsToCards,\n variantDefinitionsToCards,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA4C;AAE5C,MAAM,2BAA2B,CAAC,MAAc,0BAAgD;AAC9F,MAAI,yBAAyB,OAAO,KAAK,qBAAqB,EAAE,SAAS,GAAG;AAC1E,WAAO,GAAG,IAAI,OAAG,8CAA4B,qBAAqB,CAAC;AAAA,EACrE;AAEA,SAAO;AACT;AAEO,MAAM,2BAA2B,CACtC,mBACA,YACA,0BACG;AACH,SAAO,kBAAkB,IAAI,CAAC,OAAyD;AAAA,IACrF,MAAM,EAAE;AAAA,IACR,MAAM,yBAAyB,GAAG,UAAU,IAAI,EAAE,EAAE,IAAI,qBAAqB;AAAA,IAC7E,aAAa,EAAE;AAAA,EACjB,EAAE;AACJ;AAEO,MAAM,4BAA4B,CACvC,kBACA,YACA,0BACG;AACH,MAAI,SAAS;AACb,MAAI,eAAe,iBAAkB,UAAS;AAE9C,SAAO,iBAAiB,SAAS,IAAI,CAAC,OAA0D;AAAA,IAC9F,MAAM,EAAE;AAAA,IACR,MAAM,yBAAyB,GAAG,UAAU,IAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,IAAI,qBAAqB;AAAA,IAC7G,aAAa,EAAE;AAAA,EACjB,EAAE;AACJ;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/report-list/defaultTokenProvider.ts"],
|
|
4
4
|
"sourcesContent": ["import { NextFunction, Request, Response } from 'express'\n\nexport const setupDefaultToken = (_request: Request, response: Response, next: NextFunction): string | null => {\n if (response.locals['user'] && response.locals['user'].token) {\n return response.locals['user'].token\n }\n next('Could not find user token in response.locals.user.token')\n return null\n}\n\nexport default setupDefaultToken\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,oBAAoB,CAAC,UAAmB,UAAoB,SAAsC;AAC7G,MAAI,SAAS,OAAO,MAAM,KAAK,SAAS,OAAO,MAAM,EAAE,OAAO;AAC5D,WAAO,SAAS,OAAO,MAAM,EAAE;AAAA,EACjC;AACA,OAAK,yDAAyD;AAC9D,SAAO;AACT;AAEA,IAAO,+BAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/report-list/types.d.ts"],
|
|
4
4
|
"sourcesContent": ["import { NextFunction, Request, Response } from 'express'\nimport Dict = NodeJS.Dict\nimport ReportQuery from '../../types/ReportQuery'\nimport { ListWithWarnings } from '../../data/types'\nimport { components } from '../../types/api'\n\nexport interface ListDataSources {\n data: Promise<Dict<string>[]> | Promise<ListWithWarnings>\n count: Promise<number>\n}\n\nexport interface RenderListWithDataInput {\n title: string\n reportName?: string\n variantDefinition: components['schemas']['VariantDefinition']\n request: Request\n response: Response\n next: NextFunction\n getListDataSources: (reportQuery: ReportQuery) => ListDataSources\n otherOptions?: Dict<object>\n layoutTemplate: string\n dynamicAutocompleteEndpoint?: string\n}\n\nexport interface RenderListWithDefinitionInput {\n definitionName: string\n variantName: string\n request: Request\n response: Response\n next: NextFunction\n apiUrl: string\n layoutTemplate: string\n token: string\n title?: string\n otherOptions?: Dict<object>\n dynamicAutocompleteEndpoint?: string\n apiTimeout: number\n definitionsPath?: string\n}\n\nexport interface CreateRequestHandlerInput {\n title?: string\n definitionName: string\n variantName: string\n apiUrl: string\n apiTimeout: number\n otherOptions?: Dict<object>\n layoutTemplate: string\n tokenProvider: (request: Request, response: Response, next: NextFunction) => string\n dynamicAutocompleteEndpoint?: string\n definitionsPath?: string\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/report-list/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { NextFunction, Request, RequestHandler, Response } from 'express'\n\nimport ReportQuery from '../../types/ReportQuery'\n\nimport {\n ListDataSources,\n RenderListWithDataInput,\n RenderListWithDefinitionInput,\n CreateRequestHandlerInput,\n} from './types'\nimport ReportingClient from '../../data/reportingClient'\nimport { ListWithWarnings, Warnings } from '../../data/types'\nimport { components } from '../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportActionsUtils from '../_reports/report-actions/utils'\nimport { Template } from '../../types/Templates'\nimport { SyncReportUtils } from '../../utils'\nimport FiltersUtils from '../_filters/utils'\nimport { ReportType } from '../../types/UserReports'\nimport { FiltersType } from '../_filters/filtersTypeEnum'\n\nfunction isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is ListWithWarnings {\n return (data as ListWithWarnings).data !== undefined\n}\n\nexport async function renderList(\n listData: ListDataSources,\n variantDefinition: components['schemas']['VariantDefinition'],\n reportQuery: ReportQuery,\n req: Request,\n response: Response,\n next: NextFunction,\n title: string,\n layoutTemplate: string,\n otherOptions?: NodeJS.Dict<object>,\n reportName?: string,\n) {\n await Promise.all([listData.data, listData.count])\n .then(async (resolvedData) => {\n let data\n let warnings: Warnings = {}\n const { specification, classification, printable, description, name: variantName } = variantDefinition\n if (specification) {\n const { template } = specification\n const count = resolvedData[1]\n\n if (isListWithWarnings(resolvedData[0])) {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0].data\n warnings = resolvedData[0].warnings\n } else {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0]\n }\n\n const reportRenderData = await SyncReportUtils.getReportRenderData({\n req,\n count,\n specification,\n reportQuery,\n data,\n filtersType: FiltersType.REQUEST,\n })\n\n const actions = ReportActionsUtils.getActions({\n print: {\n enabled: Boolean(variantDefinition.printable),\n },\n share: {\n reportName: reportName || 'Product',\n name: variantDefinition.name,\n url: reportRenderData.fullUrl,\n },\n copy: {\n url: reportRenderData.fullUrl,\n },\n })\n\n const renderData = {\n renderData: {\n ...reportRenderData,\n reportName,\n name: title || variantName,\n description,\n count,\n classification,\n printable,\n actions,\n template,\n warnings,\n type: ReportType.REPORT,\n ...otherOptions,\n },\n layoutTemplate,\n }\n\n response.render(`dpr/components/report-list/list`, renderData)\n } else {\n throw new Error('No specification in definition')\n }\n })\n .catch((err) => next(err))\n}\n\nexport const renderListWithDefinition = async ({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token,\n apiUrl,\n apiTimeout,\n definitionsPath,\n}: RenderListWithDefinitionInput) => {\n const reportingClient = new ReportingClient({\n url: apiUrl,\n agent: {\n timeout: apiTimeout,\n },\n })\n\n const { dataProductDefinitionsPath } = request.query\n const reportDef = <string>dataProductDefinitionsPath || definitionsPath\n\n try {\n const reportDefinition = await reportingClient.getDefinition(token, definitionName, variantName, reportDef)\n const reportName: string = reportDefinition.name\n const variantDefinition = reportDefinition.variant\n const { specification, resourceName } = variantDefinition\n if (specification) {\n const { fields, template } = specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n ...(reportDef && { definitionsPath: reportDef }),\n })\n\n if (!FiltersUtils.redirectWithDefaultFilters(reportQuery, variantDefinition, response, request)) {\n const getListData: ListDataSources = {\n data: reportingClient.getListWithWarnings(resourceName, token, reportQuery),\n count: reportingClient.getCount(resourceName, token, reportQuery),\n }\n\n await renderList(\n getListData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n `${variantDefinition.name}`,\n layoutTemplate,\n otherOptions,\n title || `${reportName}`,\n )\n }\n } else {\n throw new Error('No specification in definition')\n }\n } catch (error) {\n next(error)\n }\n}\n\nexport const renderListWithData = async ({\n title,\n reportName,\n variantDefinition,\n request,\n response,\n next,\n getListDataSources,\n otherOptions,\n layoutTemplate,\n}: RenderListWithDataInput) => {\n const { specification } = variantDefinition\n const { fields, template } = <components['schemas']['Specification']>specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: <string>request.query['dataProductDefinitionsPath'],\n })\n\n const listData = getListDataSources(reportQuery)\n await renderList(\n listData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n title,\n layoutTemplate,\n otherOptions,\n reportName,\n )\n}\n\nexport const createReportListRequestHandler = ({\n title,\n definitionName,\n variantName,\n apiUrl,\n apiTimeout,\n otherOptions,\n layoutTemplate,\n tokenProvider,\n definitionsPath,\n}: CreateRequestHandlerInput): RequestHandler => {\n return (request: Request, response: Response, next: NextFunction) => {\n renderListWithDefinition({\n title: title || '',\n definitionName,\n variantName,\n request,\n response,\n next,\n layoutTemplate,\n token: tokenProvider(request, response, next),\n apiUrl,\n apiTimeout,\n ...(otherOptions && { otherOptions }),\n ...(definitionsPath && { definitionsPath }),\n })\n }\n}\n\nexport default {\n renderListWithData,\n createReportListRequestHandler,\n renderListWithDefinition,\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["import_utils", "ReportActionsUtils", "ReportingClient", "ReportQuery", "FiltersUtils"]
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var clientClass_exports = {};
|
|
20
|
+
__export(clientClass_exports, {
|
|
21
|
+
ShowMore: () => ShowMore,
|
|
22
|
+
default: () => clientClass_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
25
|
+
var import_DprClientClass = require("../../DprClientClass");
|
|
26
|
+
class ShowMore extends import_DprClientClass.DprClientClass {
|
|
27
|
+
static getModuleName() {
|
|
28
|
+
return "show-more";
|
|
29
|
+
}
|
|
30
|
+
initialise() {
|
|
31
|
+
this.initShowMore();
|
|
32
|
+
}
|
|
33
|
+
initShowMore() {
|
|
34
|
+
const element = this.getElement();
|
|
35
|
+
const textContainer = element.querySelector(".dpr-show-more-content");
|
|
36
|
+
const button = element.querySelector(".dpr-show-hide-button");
|
|
37
|
+
const textContent = element.getAttribute("data-content");
|
|
38
|
+
const length = +element.getAttribute("data-length") || 200;
|
|
39
|
+
const shortString = textContent.replaceAll(/<[^>]+>/g, "").substring(0, length);
|
|
40
|
+
if (textContent.length > length) {
|
|
41
|
+
textContainer.innerHTML = `${shortString}... `;
|
|
42
|
+
} else {
|
|
43
|
+
textContainer.innerHTML = `${textContent}`;
|
|
44
|
+
button.style.display = "none";
|
|
45
|
+
}
|
|
46
|
+
button.addEventListener("click", (event) => {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
if (button.innerHTML === "show more") {
|
|
49
|
+
textContainer.innerHTML = `${textContent} `;
|
|
50
|
+
button.innerHTML = "show less";
|
|
51
|
+
} else if (button.innerHTML === "show less") {
|
|
52
|
+
textContainer.innerHTML = `${shortString}... `;
|
|
53
|
+
button.innerHTML = "show more";
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
var clientClass_default = ShowMore;
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {
|
|
61
|
+
ShowMore
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../dpr/components/show-more/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { DprClientClass } from '../../DprClientClass'\n\nclass ShowMore extends DprClientClass {\n static getModuleName() {\n return 'show-more'\n }\n\n initialise() {\n this.initShowMore()\n }\n\n initShowMore() {\n const element = this.getElement()\n const textContainer = element.querySelector('.dpr-show-more-content')\n const button = element.querySelector('.dpr-show-hide-button')\n const textContent = element.getAttribute('data-content')\n const length = +element.getAttribute('data-length') || 200\n const shortString = textContent.replaceAll(/<[^>]+>/g, '').substring(0, length)\n\n if (textContent.length > length) {\n textContainer.innerHTML = `${shortString}... `\n } else {\n textContainer.innerHTML = `${textContent}`\n button.style.display = 'none'\n }\n\n button.addEventListener('click', (event) => {\n event.preventDefault()\n if (button.innerHTML === 'show more') {\n textContainer.innerHTML = `${textContent} `\n button.innerHTML = 'show less'\n } else if (button.innerHTML === 'show less') {\n textContainer.innerHTML = `${shortString}... `\n button.innerHTML = 'show more'\n }\n })\n }\n}\n\nexport { ShowMore }\nexport default ShowMore\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAA+B;AAE/B,MAAM,iBAAiB,qCAAe;AAAA,EACpC,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,eAAe;AACb,UAAM,UAAU,KAAK,WAAW;AAChC,UAAM,gBAAgB,QAAQ,cAAc,wBAAwB;AACpE,UAAM,SAAS,QAAQ,cAAc,uBAAuB;AAC5D,UAAM,cAAc,QAAQ,aAAa,cAAc;AACvD,UAAM,SAAS,CAAC,QAAQ,aAAa,aAAa,KAAK;AACvD,UAAM,cAAc,YAAY,WAAW,YAAY,EAAE,EAAE,UAAU,GAAG,MAAM;AAE9E,QAAI,YAAY,SAAS,QAAQ;AAC/B,oBAAc,YAAY,GAAG,WAAW;AAAA,IAC1C,OAAO;AACL,oBAAc,YAAY,GAAG,WAAW;AACxC,aAAO,MAAM,UAAU;AAAA,IACzB;AAEA,WAAO,iBAAiB,SAAS,CAAC,UAAU;AAC1C,YAAM,eAAe;AACrB,UAAI,OAAO,cAAc,aAAa;AACpC,sBAAc,YAAY,GAAG,WAAW;AACxC,eAAO,YAAY;AAAA,MACrB,WAAW,OAAO,cAAc,aAAa;AAC3C,sBAAc,YAAY,GAAG,WAAW;AACxC,eAAO,YAAY;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/show-more/utils.ts"],
|
|
4
4
|
"sourcesContent": ["export const createShowMoreHtml = (text: string, length?: number) => {\n const sanitizedString = text ? text.replace(/\"/g, \"'\") : ''\n const stringLength = length || 100\n\n return `<div class=\"dpr-show-more\" data-content=\"${sanitizedString}\" data-dpr-module=\"show-more\" data-length=\"${stringLength}\">\n <p class='dpr-show-more-content govuk-body-s'>${sanitizedString}</p><a class=\"dpr-show-hide-button govuk-link--no-visited-state\" href=\"#\">show more</a>\n</div>`\n}\n\nexport default {\n createShowMoreHtml,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,qBAAqB,CAAC,MAAc,WAAoB;AACnE,QAAM,kBAAkB,OAAO,KAAK,QAAQ,MAAM,GAAG,IAAI;AACzD,QAAM,eAAe,UAAU;AAE/B,SAAO,4CAA4C,eAAe,8CAA8C,YAAY;AAAA,oDAC1E,eAAe;AAAA;AAEnE;AAEA,IAAO,gBAAQ;AAAA,EACb;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/user-reports/bookmarks/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Response } from 'express'\nimport { BookmarkService } from '../../../services'\nimport { BookmarkedReportData, BookmarkStoreData } from '../../../types/Bookmark'\nimport { FormattedBookmarkData, LoadType, ReportType } from '../../../types/UserReports'\nimport { Services } from '../../../types/Services'\nimport ShowMoreUtils from '../../show-more/utils'\nimport logger from '../../../utils/logger'\nimport DefinitionUtils from '../../../utils/definitionUtils'\nimport { createListItemProduct, createListActions, setInitialHref } from '../../../utils/reportListsHelper'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport { ReportStoreConfig } from '../../../types/ReportStore'\n\nexport const formatBookmarks = async (bookmarksData: BookmarkedReportData[]): Promise<FormattedBookmarkData[]> => {\n return bookmarksData\n .map((report: BookmarkedReportData) => {\n return formatBookmark(report)\n })\n .sort((a, b) => a.text.localeCompare(b.text))\n}\n\nexport const formatBookmark = (bookmarkData: BookmarkedReportData): FormattedBookmarkData => {\n const reportData: BookmarkedReportData = JSON.parse(JSON.stringify(bookmarkData))\n const { id, name, description, href, reportName, type } = reportData\n\n return {\n id,\n reportName,\n text: name,\n description,\n href,\n type: type as ReportType,\n }\n}\n\nconst formatTable = async (\n bookmarksData: BookmarkedReportData[],\n bookmarkService: BookmarkService,\n csrfToken: string,\n userId: string,\n maxRows?: number,\n nestedBaseUrl?: string,\n) => {\n const userConfig = await bookmarkService.getState(userId)\n const rows = await Promise.all(\n bookmarksData\n .sort((a, b) => a.name.localeCompare(b.name))\n .map(async (bookmark: BookmarkedReportData) => {\n return formatTableData(bookmark, bookmarkService, csrfToken, userConfig, nestedBaseUrl)\n }),\n )\n\n return {\n rows: maxRows ? rows.slice(0, maxRows) : rows,\n head: [\n { text: 'Product', classes: 'dpr-req-product-head' },\n { text: 'Description', classes: 'dpr-bm-description-head' },\n { text: 'Actions', classes: 'dpr-bm-actions-head' },\n ],\n }\n}\n\nconst formatTableData = async (\n bookmarksData: BookmarkedReportData,\n bookmarkService: BookmarkService,\n csrfToken: string,\n userConfig: ReportStoreConfig,\n nestedBaseUrl?: string,\n) => {\n const { description, reportName, reportId, id, href, name, type, loadType } = bookmarksData\n const bookmarkHtml = await bookmarkService.createBookMarkToggleHtml({\n userConfig,\n reportId,\n id,\n csrfToken,\n ctxId: 'bookmark-list',\n reportType: type,\n // We don't have the data here, and missing reports should never get into bookmarked, viewed or requested\n isMissing: false,\n nestedBaseUrl,\n })\n return [\n {\n html: createListItemProduct(reportName, name, type),\n },\n { html: ShowMoreUtils.createShowMoreHtml(description), classes: 'dpr-req-cell' },\n {\n html: createListActions(href, type, loadType, bookmarkHtml),\n classes: 'dpr-req-cell dpr-req-cell__status',\n },\n ]\n}\n\nconst mapBookmarkIdsToDefinition = async (\n bookmarks: BookmarkStoreData[],\n res: Response,\n token: string,\n services: Services,\n): Promise<BookmarkedReportData[]> => {\n const bookmarkData: BookmarkedReportData[] = []\n const { definitionsPath } = LocalsHelper.getValues(res)\n\n await Promise.all(\n bookmarks.map(async (bookmark) => {\n let definition\n const { reportId, id, automatic, type } = bookmark\n const reportType: ReportType = type ? (type as ReportType) : ReportType.REPORT\n\n try {\n let name = ''\n let description = ''\n let loadType = LoadType.ASYNC\n const href = setInitialHref(loadType, reportType, reportId, id, res)\n\n const procuctSummary = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n definitionsPath,\n )\n const reportName = procuctSummary.name\n\n if (reportType === ReportType.REPORT) {\n const variantSummary = procuctSummary.variants.find((v) => v.id === id)\n definition = await services.reportingService.getDefinition(token, reportId, id, definitionsPath)\n name = definition.variant.name\n description = definition.variant.description || definition.description || ''\n loadType = (variantSummary?.loadType as LoadType) || loadType\n }\n\n if (reportType === ReportType.DASHBOARD) {\n definition = await services.dashboardService.getDefinition(token, reportId, id, definitionsPath)\n name = definition.name\n description = definition.description || ''\n }\n\n if (definition) {\n bookmarkData.push({\n reportId,\n id,\n reportName,\n name,\n description,\n type: reportType,\n href,\n loadType,\n automatic,\n })\n }\n } catch (error) {\n // DPD has been deleted so API throws error\n logger.warn(`Failed to map bookmark for: Report ${reportId}, variant ${id}`)\n const { dprUser } = LocalsHelper.getValues(res)\n await services.bookmarkService.removeBookmark(dprUser.id, id, reportId)\n }\n }),\n )\n return bookmarkData\n}\n\nexport const renderBookmarkList = async ({\n services,\n maxRows = 20,\n res,\n}: {\n services: Services\n maxRows?: number\n res: Response\n}) => {\n const { token, csrfToken, dprUser, bookmarks, nestedBaseUrl } = LocalsHelper.getValues(res)\n const bookmarksData: BookmarkedReportData[] = await mapBookmarkIdsToDefinition(bookmarks, res, token, services)\n\n let formatted = await formatBookmarks(bookmarksData)\n const formattedCount = formatted.length\n\n if (maxRows) formatted = formatted.slice(0, maxRows)\n const tableData = await formatTable(\n bookmarksData,\n services.bookmarkService,\n csrfToken,\n dprUser.id,\n maxRows,\n nestedBaseUrl,\n )\n\n const head = {\n ...(formatted.length && { href: '/dpr/my-reports/bookmarks/list' }),\n ...(!formatted.length && { emptyMessage: 'You have 0 bookmarked reports' }),\n }\n\n const total = {\n amount: formattedCount,\n shown: formattedCount > maxRows ? maxRows : formattedCount,\n max: maxRows,\n }\n\n const result = {\n head,\n tableData,\n total,\n csrfToken,\n type: 'bookmark',\n }\n\n return result\n}\n\nexport default {\n renderBookmarkList,\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["ShowMoreUtils", "LocalsHelper", "DefinitionUtils", "logger"]
|
|
@@ -0,0 +1,132 @@
|
|
|
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 clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
DprAsyncRequestList: () => DprAsyncRequestList,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_DprPollingStatusClass = __toESM(require("../../../DprPollingStatusClass"));
|
|
36
|
+
class DprAsyncRequestList extends import_DprPollingStatusClass.default {
|
|
37
|
+
static getModuleName() {
|
|
38
|
+
return "async-request-list";
|
|
39
|
+
}
|
|
40
|
+
initialise() {
|
|
41
|
+
this.END_STATUSES = this.getEndStatuses();
|
|
42
|
+
this.EXPIRED_END_STATUSES = this.getExpiredCheckStatuses();
|
|
43
|
+
this.POLLING_FREQUENCY = this.getPollingFrquency();
|
|
44
|
+
this.requestList = document.getElementById("dpr-async-request-component");
|
|
45
|
+
const requestData = this.requestList.getAttribute("data-request-data");
|
|
46
|
+
this.requestData = requestData ? JSON.parse(requestData) : void 0;
|
|
47
|
+
this.csrfToken = this.requestList.getAttribute("data-csrf-token");
|
|
48
|
+
this.removeActions = document.querySelectorAll(".dpr-remove-requested-report-button");
|
|
49
|
+
this.initItemActions();
|
|
50
|
+
this.initPollingIntervals();
|
|
51
|
+
}
|
|
52
|
+
async initPollingIntervals() {
|
|
53
|
+
await this.checkIfExpired();
|
|
54
|
+
if (this.requestData && !this.allHaveInvalidIds()) {
|
|
55
|
+
if (this.shouldPollExpired(this.requestData)) {
|
|
56
|
+
this.expiredInterval = setInterval(async () => {
|
|
57
|
+
await this.checkIfExpired();
|
|
58
|
+
}, "60000");
|
|
59
|
+
}
|
|
60
|
+
if (this.shouldPollStatus(this.requestData)) {
|
|
61
|
+
this.pollingInterval = setInterval(async () => {
|
|
62
|
+
await this.pollStatus();
|
|
63
|
+
}, this.POLLING_FREQUENCY);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
hasValidIds(metaData) {
|
|
68
|
+
const { id, reportId, executionId, tableId } = metaData;
|
|
69
|
+
return id !== void 0 && reportId !== void 0 && executionId !== void 0 && tableId !== void 0;
|
|
70
|
+
}
|
|
71
|
+
allHaveInvalidIds() {
|
|
72
|
+
return this.requestData.every((meta) => {
|
|
73
|
+
return !this.hasValidIds(meta);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async checkIfExpired() {
|
|
77
|
+
await Promise.all(
|
|
78
|
+
this.requestData.map(async (metaData) => {
|
|
79
|
+
const { status, reportUrl } = metaData;
|
|
80
|
+
if (this.hasValidIds(metaData) && !this.EXPIRED_END_STATUSES.includes(status)) {
|
|
81
|
+
const response = await this.getExpiredStatus(reportUrl, metaData, this.csrfToken);
|
|
82
|
+
if (response && response.isExpired) {
|
|
83
|
+
clearInterval(this.expiredInterval);
|
|
84
|
+
window.location.reload();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
async pollStatus() {
|
|
91
|
+
await Promise.all(
|
|
92
|
+
this.requestData.map(async (metaData) => {
|
|
93
|
+
if (this.hasValidIds(metaData) && !this.END_STATUSES.includes(metaData.status)) {
|
|
94
|
+
const response = await this.getRequestStatus(metaData, this.csrfToken);
|
|
95
|
+
if (this.END_STATUSES.includes(response.status)) {
|
|
96
|
+
clearInterval(this.pollingInterval);
|
|
97
|
+
window.location.reload();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
initItemActions() {
|
|
104
|
+
this.removeActions.forEach((button) => {
|
|
105
|
+
const id = button.getAttribute("data-execution-id");
|
|
106
|
+
button.addEventListener("click", async (e) => {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
await this.removeItemFromList(id);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
async removeItemFromList(executionId) {
|
|
113
|
+
let response;
|
|
114
|
+
await fetch(`dpr/my-reports/requested-reports/${executionId}`, {
|
|
115
|
+
method: "post",
|
|
116
|
+
headers: {
|
|
117
|
+
Accept: "application/json",
|
|
118
|
+
"Content-Type": "application/json",
|
|
119
|
+
"CSRF-Token": this.csrfToken
|
|
120
|
+
}
|
|
121
|
+
}).then(() => {
|
|
122
|
+
window.location.reload();
|
|
123
|
+
}).catch((error) => console.error("Error:", error));
|
|
124
|
+
return response;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
var clientClass_default = DprAsyncRequestList;
|
|
128
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
129
|
+
0 && (module.exports = {
|
|
130
|
+
DprAsyncRequestList
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/user-reports/requested/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport DprPollingStatusClass from '../../../DprPollingStatusClass'\n\nclass DprAsyncRequestList extends DprPollingStatusClass {\n static getModuleName() {\n return 'async-request-list'\n }\n\n initialise() {\n this.END_STATUSES = this.getEndStatuses()\n this.EXPIRED_END_STATUSES = this.getExpiredCheckStatuses()\n this.POLLING_FREQUENCY = this.getPollingFrquency()\n\n this.requestList = document.getElementById('dpr-async-request-component')\n const requestData = this.requestList.getAttribute('data-request-data')\n this.requestData = requestData ? JSON.parse(requestData) : undefined\n this.csrfToken = this.requestList.getAttribute('data-csrf-token')\n this.removeActions = document.querySelectorAll('.dpr-remove-requested-report-button')\n\n this.initItemActions()\n this.initPollingIntervals()\n }\n\n async initPollingIntervals() {\n await this.checkIfExpired()\n\n if (this.requestData && !this.allHaveInvalidIds()) {\n if (this.shouldPollExpired(this.requestData)) {\n this.expiredInterval = setInterval(async () => {\n await this.checkIfExpired()\n }, '60000') // 1 minute\n }\n\n if (this.shouldPollStatus(this.requestData)) {\n this.pollingInterval = setInterval(async () => {\n await this.pollStatus()\n }, this.POLLING_FREQUENCY)\n }\n }\n }\n\n hasValidIds(metaData) {\n const { id, reportId, executionId, tableId } = metaData\n return id !== undefined && reportId !== undefined && executionId !== undefined && tableId !== undefined\n }\n\n allHaveInvalidIds() {\n return this.requestData.every((meta) => {\n return !this.hasValidIds(meta)\n })\n }\n\n async checkIfExpired() {\n await Promise.all(\n this.requestData.map(async (metaData) => {\n const { status, reportUrl } = metaData\n if (this.hasValidIds(metaData) && !this.EXPIRED_END_STATUSES.includes(status)) {\n const response = await this.getExpiredStatus(reportUrl, metaData, this.csrfToken)\n\n if (response && response.isExpired) {\n clearInterval(this.expiredInterval)\n window.location.reload()\n }\n }\n }),\n )\n }\n\n async pollStatus() {\n await Promise.all(\n this.requestData.map(async (metaData) => {\n // Don't poll if current state is an end state\n if (this.hasValidIds(metaData) && !this.END_STATUSES.includes(metaData.status)) {\n const response = await this.getRequestStatus(metaData, this.csrfToken)\n\n // Reload if new status is an end state\n if (this.END_STATUSES.includes(response.status)) {\n clearInterval(this.pollingInterval)\n window.location.reload()\n }\n }\n }),\n )\n }\n\n initItemActions() {\n this.removeActions.forEach((button) => {\n const id = button.getAttribute('data-execution-id')\n button.addEventListener('click', async (e) => {\n e.preventDefault()\n await this.removeItemFromList(id)\n })\n })\n }\n\n async removeItemFromList(executionId) {\n let response\n await fetch(`dpr/my-reports/requested-reports/${executionId}`, {\n method: 'post',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'CSRF-Token': this.csrfToken,\n },\n })\n .then(() => {\n window.location.reload()\n })\n .catch((error) => console.error('Error:', error))\n\n return response\n }\n}\n\nexport { DprAsyncRequestList }\nexport default DprAsyncRequestList\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DprPollingStatusClass"]
|
|
7
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/* eslint-disable class-methods-use-this */
|
|
2
|
-
import DprPollingStatusClass from '../../../DprPollingStatusClass
|
|
3
|
+
import DprPollingStatusClass from '../../../DprPollingStatusClass'
|
|
3
4
|
|
|
4
5
|
class DprAsyncRequestList extends DprPollingStatusClass {
|
|
5
6
|
static getModuleName() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/user-reports/requested/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Response, Request } from 'express'\nimport { RequestStatus, UserReportData } from '../../../types/UserReports'\nimport { getStatus } from '../../../utils/requestStatusHelper'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport { Services } from '../../../types/Services'\n\nexport const getRequestStatus = async ({ req, res, services }: { req: Request; res: Response; services: Services }) => {\n const { executionId, status: currentStatus } = req.body\n const { dprUser } = LocalsHelper.getValues(res)\n const response = await getStatus({ req, res, services })\n const errorMessage = response.errorMessage ? JSON.stringify(response.errorMessage) : undefined\n\n if (currentStatus !== response.status) {\n await services.requestedReportService.updateStatus(\n executionId,\n dprUser.id,\n response.status as RequestStatus,\n errorMessage,\n )\n response.reportData = await services.requestedReportService.getReportByExecutionId(executionId, dprUser.id)\n }\n return response\n}\n\nexport const filterReports = (report: UserReportData) => {\n return report.timestamp ? !report.timestamp.lastViewed : false\n}\n\nexport default {\n getRequestStatus,\n filterReports,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iCAA0B;AAC1B,0BAAyB;AAGlB,MAAM,mBAAmB,OAAO,EAAE,KAAK,KAAK,SAAS,MAA2D;AACrH,QAAM,EAAE,aAAa,QAAQ,cAAc,IAAI,IAAI;AACnD,QAAM,EAAE,QAAQ,IAAI,oBAAAA,QAAa,UAAU,GAAG;AAC9C,QAAM,WAAW,UAAM,sCAAU,EAAE,KAAK,KAAK,SAAS,CAAC;AACvD,QAAM,eAAe,SAAS,eAAe,KAAK,UAAU,SAAS,YAAY,IAAI;AAErF,MAAI,kBAAkB,SAAS,QAAQ;AACrC,UAAM,SAAS,uBAAuB;AAAA,MACpC;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,MACT;AAAA,IACF;AACA,aAAS,aAAa,MAAM,SAAS,uBAAuB,uBAAuB,aAAa,QAAQ,EAAE;AAAA,EAC5G;AACA,SAAO;AACT;AAEO,MAAM,gBAAgB,CAAC,WAA2B;AACvD,SAAO,OAAO,YAAY,CAAC,OAAO,UAAU,aAAa;AAC3D;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
6
|
"names": ["LocalsHelper"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/user-reports/types.d.ts"],
|
|
4
4
|
"sourcesContent": ["import Dict = NodeJS.Dict\nimport type { meta } from '../../types/UserReports'\n\nexport interface RenderTableListResponse {\n head: {\n emptyMessage?: string\n href?: string\n }\n tableData: {\n rows: Dict<string>[][]\n head: Dict<string>[]\n }\n total: {\n amount: number\n shown: number\n max: number\n }\n meta?: meta[]\n csrfToken?: string\n maxRows?: number\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../dpr/components/user-reports/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Response, Request } from 'express'\nimport dayjs from 'dayjs'\nimport { RenderTableListResponse } from './types'\nimport Dict = NodeJS.Dict\nimport {\n FormattedUserReportData,\n UserReportData,\n RequestStatus,\n ReportType,\n RequestedReport,\n StoredReportData,\n meta,\n} from '../../types/UserReports'\nimport { FilterValue } from '../_filters/types'\nimport { Services } from '../../types/Services'\n\nimport { AsyncReportUtilsParams } from '../../types/AsyncReportUtils'\nimport { getExpiredStatus } from '../../utils/requestStatusHelper'\nimport SelectedFiltersUtils from '../_filters/filters-selected/utils'\nimport FiltersUtils from '../_filters/utils'\nimport { itemActionsHtml, createListItemProduct } from '../../utils/reportListsHelper'\nimport RequestedReportUtils from './requested/utils'\nimport RecentlyViewedCardGroupUtils from './viewed/utils'\nimport BookmarklistUtils from './bookmarks/utils'\nimport LocalsHelper from '../../utils/localsHelper'\nimport DateMapper from '../../utils/DateMapper/DateMapper'\nimport UserStoreItemBuilder from '../../utils/UserStoreItemBuilder'\n\nconst formatData = (reportData: UserReportData): FormattedUserReportData => {\n const reportDataCopy: UserReportData = JSON.parse(JSON.stringify(reportData))\n\n const {\n executionId,\n tableId,\n variantName,\n name,\n reportId,\n variantId,\n id,\n description,\n query,\n interactiveQuery,\n status,\n reportName,\n dataProductDefinitionsPath,\n type: reportType,\n url,\n } = reportDataCopy\n\n let summary: { name: string; value: string }[] = []\n if (query) {\n summary = query.summary as { name: string; value: string }[]\n }\n let interactiveSummary: { name: string; value: string }[] = []\n if (interactiveQuery) {\n interactiveSummary = interactiveQuery.summary as { name: string; value: string }[]\n }\n\n const type = reportType || ReportType.REPORT\n\n return {\n id: executionId,\n text: name || variantName || '',\n reportName,\n description,\n tag: 'MIS',\n summary,\n interactiveSummary,\n status,\n type,\n ...(status && setDataFromStatus(status, reportDataCopy)),\n meta: {\n reportId,\n id: variantId || id,\n executionId,\n tableId,\n status,\n type,\n dataProductDefinitionsPath,\n pollingUrl: url?.polling?.pathname,\n reportUrl: url?.report?.pathname,\n },\n }\n}\n\nconst formatTable = (data: FormattedUserReportData[], type: 'requested' | 'viewed') => {\n const rows = data.map((card: FormattedUserReportData) => {\n return formatTableRow(card, type)\n })\n\n return {\n rows,\n head: [\n { text: 'Product', classes: 'dpr-req-product-head' },\n { text: 'Filters', classes: 'dpr-req-filters-head' },\n { text: 'Status', classes: 'dpr-req-status-head' },\n { text: 'Actions', classes: 'dpr-req-actions-head' },\n ],\n }\n}\n\nconst formatTableRow = (data: FormattedUserReportData, type: 'requested' | 'viewed') => {\n let statusClass\n let itemActions = ''\n\n const { href, id, reportName, text, timestamp, type: reportType, status } = data\n if (href) {\n switch (status) {\n case RequestStatus.FAILED:\n statusClass = 'govuk-tag--red'\n itemActions = id ? itemActionsHtml(href, id, type, status) : ''\n break\n case RequestStatus.EXPIRED:\n statusClass = 'govuk-tag--grey'\n itemActions = id ? itemActionsHtml(href, id, type, status) : ''\n break\n case RequestStatus.ABORTED:\n statusClass = 'govuk-tag--orange'\n itemActions = id ? itemActionsHtml(href, id, type, status) : ''\n break\n case RequestStatus.READY:\n case RequestStatus.FINISHED:\n itemActions = `<a class=govuk-link govuk-link--no-visited-state dpr-type__${reportType}' href=\"${href}\">Go to ${reportType}</a>`\n statusClass = 'govuk-tag--green'\n break\n case RequestStatus.PICKED:\n case RequestStatus.SUBMITTED:\n case RequestStatus.STARTED:\n itemActions = `<a class='govuk-link govuk-link--no-visited-state dpr-type__${reportType}' href=\"${href}\">Go to status</a>`\n break\n default:\n break\n }\n }\n\n let filtersSummary = ''\n if (data.summary || data.interactiveSummary) {\n filtersSummary = createSummaryHtml(data)\n }\n\n return [\n {\n html: createListItemProduct(reportName, text, reportType, timestamp),\n },\n { html: filtersSummary },\n {\n html: `<strong class=\"govuk-tag dpr-request-status-tag ${statusClass}\">${status}</strong>`,\n classes: 'dpr-req-cell dpr-req-cell__status',\n },\n {\n html: `${itemActions}`,\n classes: 'dpr-req-cell dpr-req-cell__status',\n },\n ]\n}\n\nconst getTotals = (formattedCount: number, maxRows = 20) => {\n return {\n amount: formattedCount,\n shown: maxRows && formattedCount > maxRows ? maxRows : formattedCount,\n max: maxRows,\n }\n}\n\nconst createSummaryHtml = (data: FormattedUserReportData) => {\n const summaryHtml = data.summary\n ?.map((item) => `<li class=\"govuk-body-s dpr-query-summary\"><strong>${item.name}</strong>: ${item.value}</li>`)\n .join('')\n\n const interactiveSummaryHtml = data.interactiveSummary\n ?.map(\n (item) =>\n `<li class=\"govuk-body-s dpr-interactive-query-summary\"><strong>${item.name}</strong>: ${item.value}</li>`,\n )\n .join('')\n\n return `<ul class=\"dpr-card-group__item__filters-list govuk-!-margin-top-0 govuk-!-margin-bottom-0\">${summaryHtml}${interactiveSummaryHtml}</ul>`\n}\n\nconst getMeta = (formattedData: FormattedUserReportData[], res: Response): meta[] => {\n const { nestedBaseUrl } = LocalsHelper.getValues(res)\n\n return formattedData.map((d) => {\n return {\n reportId: d.meta?.reportId,\n id: d.meta.id,\n executionId: d.meta.executionId,\n tableId: d.meta.tableId,\n status: d.meta.status,\n requestedAt: d.meta.requestedAt,\n type: d.meta.type,\n dataProductDefinitionsPath: d.meta.dataProductDefinitionsPath,\n pollingUrl: d.meta.pollingUrl,\n reportUrl: d.meta.reportUrl,\n nestedBaseUrl,\n }\n })\n}\n\nexport const setDataFromStatus = (status: RequestStatus, reportsData: UserReportData) => {\n let timestamp\n let href\n let formattedDate\n const { url, timestamp: time } = reportsData\n const polling = url?.polling\n const request = url?.request\n const report = url?.report\n\n const dateMapper = new DateMapper()\n switch (status) {\n case RequestStatus.FAILED: {\n formattedDate = time.failed\n ? dateMapper.toDateString(<string>(<unknown>time.failed), 'local-date')\n : dayjs().format('DD/MM/YYYY')\n href = polling?.fullUrl\n timestamp = `Failed at: ${formattedDate}`\n break\n }\n case RequestStatus.ABORTED: {\n href = request?.fullUrl\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.aborted), 'local-date')\n timestamp = `Aborted at: ${formattedDate}`\n break\n }\n case RequestStatus.FINISHED:\n href = report?.fullUrl\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.completed), 'local-date')\n timestamp = `Ready at: ${formattedDate}`\n break\n case RequestStatus.EXPIRED: {\n href = request?.fullUrl\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.expired), 'local-date')\n timestamp = `Expired at: ${formattedDate}`\n break\n }\n case RequestStatus.READY: {\n href = report?.fullUrl\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.lastViewed), 'local-date')\n timestamp = `Last viewed: ${formattedDate}`\n break\n }\n case RequestStatus.SUBMITTED:\n case RequestStatus.STARTED:\n case RequestStatus.PICKED:\n href = polling?.fullUrl\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.requested), 'local-date')\n timestamp = `Requested at: ${formattedDate}`\n break\n default:\n formattedDate = dateMapper.toDateString(<string>(<unknown>time.lastViewed), 'local-date')\n timestamp = `Last viewed: ${formattedDate}`\n break\n }\n\n return {\n timestamp,\n href,\n }\n}\n\nexport const renderList = async ({\n res,\n reportsData,\n maxRows,\n filterFunction,\n type,\n}: {\n res: Response\n reportsData: StoredReportData[]\n maxRows?: number\n filterFunction: (report: UserReportData) => boolean\n type: 'requested' | 'viewed'\n}): Promise<RenderTableListResponse> => {\n const { csrfToken } = LocalsHelper.getValues(res)\n\n let formatted = reportsData.filter(filterFunction).map(formatData)\n const formattedCount = formatted.length\n\n if (maxRows) formatted = formatted.slice(0, maxRows)\n const tableData = formatTable(formatted, type)\n\n const path = type === 'requested' ? 'requested-reports' : 'recently-viewed'\n const head = {\n ...(formatted.length && { href: `dpr/my-reports/${path}/list` }),\n ...(!formatted.length && { emptyMessage: `You have 0 ${type} reports` }),\n }\n\n const result: RenderTableListResponse = {\n head,\n tableData,\n total: getTotals(formattedCount, maxRows),\n meta: getMeta(formatted, res),\n csrfToken,\n ...(maxRows && { maxRows }),\n }\n\n return result\n}\n\nexport const updateExpiredStatus = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { dprUser } = LocalsHelper.getValues(res)\n const report = await getExpiredStatus({ req, res, services })\n\n if (report && report.isExpired) {\n await services.recentlyViewedService.setToExpired(report.executionId, dprUser.id)\n await services.requestedReportService.setToExpired(report.executionId, dprUser.id)\n }\n\n return report ? report.isExpired : false\n}\n\nexport const init = async ({ services, res, maxRows = 6 }: { services: Services; res: Response; maxRows?: number }) => {\n const { requestedReports, recentlyViewedReports, bookmarkingEnabled } = LocalsHelper.getValues(res)\n\n const requestedReportsList = await renderList({\n res,\n reportsData: requestedReports,\n filterFunction: RequestedReportUtils.filterReports,\n maxRows,\n type: 'requested',\n })\n\n const viewedReportsList = await renderList({\n res,\n reportsData: recentlyViewedReports,\n filterFunction: RecentlyViewedCardGroupUtils.filterReports,\n maxRows,\n type: 'viewed',\n })\n\n let bookmarks\n if (bookmarkingEnabled) {\n bookmarks = await BookmarklistUtils.renderBookmarkList({\n res,\n services,\n maxRows,\n })\n }\n\n return {\n requestedReports: requestedReportsList,\n viewedReports: viewedReportsList,\n bookmarks,\n }\n}\n\nexport const updateLastViewed = async ({\n req,\n services,\n reportStateData,\n userId,\n filters,\n}: {\n req: Request\n services: Services\n reportStateData: RequestedReport\n userId: string\n filters: FilterValue[]\n}) => {\n const { type, reportId, reportName, description, id, name, executionId, tableId, query, url } = reportStateData\n const reportData = { type, reportId, reportName, description, id, name }\n const executionData = { executionId, tableId }\n const queryData = query ? { query: query.data, querySummary: query.summary } : { query: {}, querySummary: [] }\n\n const columns = <string[]>req.query?.['columns']\n const { selectedPage, pageSize, sortColumn, sortedAsc } = <Dict<string>>req.query\n const filtersQuery = FiltersUtils.setRequestQueryFromFilterValues(filters, true)\n const reqQuery = {\n ...filtersQuery,\n ...(columns && { columns }),\n ...(selectedPage && { selectedPage }),\n ...(pageSize && { pageSize }),\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n }\n const interactiveQueryData: { query: Dict<string | string[]>; querySummary: Array<Dict<string>> } = {\n query: reqQuery,\n querySummary: SelectedFiltersUtils.getQuerySummary(filtersQuery, filters),\n }\n\n const recentlyViewedData = new UserStoreItemBuilder(reportData)\n .addExecutionData(executionData)\n .addQuery(queryData)\n .addInteractiveQuery(interactiveQueryData)\n .addStatus(RequestStatus.READY)\n .addTimestamp()\n .addAsyncUrls(url)\n .addReportUrls(req)\n .build()\n\n if (executionId) await services.requestedReportService.updateLastViewed(executionId, userId)\n await services.recentlyViewedService.setRecentlyViewed(recentlyViewedData, userId)\n}\n\nexport default {\n renderList,\n updateExpiredStatus,\n init,\n updateLastViewed,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAkB;AAGlB,yBAQO;AAKP,iCAAiC;AACjC,mBAAiC;AACjC,IAAAA,gBAAyB;AACzB,+BAAuD;AACvD,IAAAA,gBAAiC;AACjC,IAAAA,gBAAyC;AACzC,IAAAA,gBAA8B;AAC9B,0BAAyB;AACzB,wBAAuB;AACvB,kCAAiC;AAEjC,MAAM,aAAa,CAAC,eAAwD;AAC1E,QAAM,iBAAiC,KAAK,MAAM,KAAK,UAAU,UAAU,CAAC;AAE5E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,EACF,IAAI;AAEJ,MAAI,UAA6C,CAAC;AAClD,MAAI,OAAO;AACT,cAAU,MAAM;AAAA,EAClB;AACA,MAAI,qBAAwD,CAAC;AAC7D,MAAI,kBAAkB;AACpB,yBAAqB,iBAAiB;AAAA,EACxC;AAEA,QAAM,OAAO,cAAc,8BAAW;AAEtC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM,QAAQ,eAAe;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,UAAU,kBAAkB,QAAQ,cAAc;AAAA,IACtD,MAAM;AAAA,MACJ;AAAA,MACA,IAAI,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,KAAK,SAAS;AAAA,MAC1B,WAAW,KAAK,QAAQ;AAAA,IAC1B;AAAA,EACF;AACF;AAEA,MAAM,cAAc,CAAC,MAAiC,SAAiC;AACrF,QAAM,OAAO,KAAK,IAAI,CAAC,SAAkC;AACvD,WAAO,eAAe,MAAM,IAAI;AAAA,EAClC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,MAAM;AAAA,MACJ,EAAE,MAAM,WAAW,SAAS,uBAAuB;AAAA,MACnD,EAAE,MAAM,WAAW,SAAS,uBAAuB;AAAA,MACnD,EAAE,MAAM,UAAU,SAAS,sBAAsB;AAAA,MACjD,EAAE,MAAM,WAAW,SAAS,uBAAuB;AAAA,IACrD;AAAA,EACF;AACF;AAEA,MAAM,iBAAiB,CAAC,MAA+B,SAAiC;AACtF,MAAI;AACJ,MAAI,cAAc;AAElB,QAAM,EAAE,MAAM,IAAI,YAAY,MAAM,WAAW,MAAM,YAAY,OAAO,IAAI;AAC5E,MAAI,MAAM;AACR,YAAQ,QAAQ;AAAA,MACd,KAAK,iCAAc;AACjB,sBAAc;AACd,sBAAc,SAAK,0CAAgB,MAAM,IAAI,MAAM,MAAM,IAAI;AAC7D;AAAA,MACF,KAAK,iCAAc;AACjB,sBAAc;AACd,sBAAc,SAAK,0CAAgB,MAAM,IAAI,MAAM,MAAM,IAAI;AAC7D;AAAA,MACF,KAAK,iCAAc;AACjB,sBAAc;AACd,sBAAc,SAAK,0CAAgB,MAAM,IAAI,MAAM,MAAM,IAAI;AAC7D;AAAA,MACF,KAAK,iCAAc;AAAA,MACnB,KAAK,iCAAc;AACjB,sBAAc,8DAA8D,UAAU,WAAW,IAAI,WAAW,UAAU;AAC1H,sBAAc;AACd;AAAA,MACF,KAAK,iCAAc;AAAA,MACnB,KAAK,iCAAc;AAAA,MACnB,KAAK,iCAAc;AACjB,sBAAc,+DAA+D,UAAU,WAAW,IAAI;AACtG;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAEA,MAAI,iBAAiB;AACrB,MAAI,KAAK,WAAW,KAAK,oBAAoB;AAC3C,qBAAiB,kBAAkB,IAAI;AAAA,EACzC;AAEA,SAAO;AAAA,IACL;AAAA,MACE,UAAM,gDAAsB,YAAY,MAAM,YAAY,SAAS;AAAA,IACrE;AAAA,IACA,EAAE,MAAM,eAAe;AAAA,IACvB;AAAA,MACE,MAAM,mDAAmD,WAAW,KAAK,MAAM;AAAA,MAC/E,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM,GAAG,WAAW;AAAA,MACpB,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,MAAM,YAAY,CAAC,gBAAwB,UAAU,OAAO;AAC1D,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO,WAAW,iBAAiB,UAAU,UAAU;AAAA,IACvD,KAAK;AAAA,EACP;AACF;AAEA,MAAM,oBAAoB,CAAC,SAAkC;AAC3D,QAAM,cAAc,KAAK,SACrB,IAAI,CAAC,SAAS,sDAAsD,KAAK,IAAI,cAAc,KAAK,KAAK,OAAO,EAC7G,KAAK,EAAE;AAEV,QAAM,yBAAyB,KAAK,oBAChC;AAAA,IACA,CAAC,SACC,kEAAkE,KAAK,IAAI,cAAc,KAAK,KAAK;AAAA,EACvG,EACC,KAAK,EAAE;AAEV,SAAO,+FAA+F,WAAW,GAAG,sBAAsB;AAC5I;AAEA,MAAM,UAAU,CAAC,eAA0C,QAA0B;AACnF,QAAM,EAAE,cAAc,IAAI,oBAAAC,QAAa,UAAU,GAAG;AAEpD,SAAO,cAAc,IAAI,CAAC,MAAM;AAC9B,WAAO;AAAA,MACL,UAAU,EAAE,MAAM;AAAA,MAClB,IAAI,EAAE,KAAK;AAAA,MACX,aAAa,EAAE,KAAK;AAAA,MACpB,SAAS,EAAE,KAAK;AAAA,MAChB,QAAQ,EAAE,KAAK;AAAA,MACf,aAAa,EAAE,KAAK;AAAA,MACpB,MAAM,EAAE,KAAK;AAAA,MACb,4BAA4B,EAAE,KAAK;AAAA,MACnC,YAAY,EAAE,KAAK;AAAA,MACnB,WAAW,EAAE,KAAK;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,MAAM,oBAAoB,CAAC,QAAuB,gBAAgC;AACvF,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,QAAM,EAAE,KAAK,WAAW,KAAK,IAAI;AACjC,QAAM,UAAU,KAAK;AACrB,QAAM,UAAU,KAAK;AACrB,QAAM,SAAS,KAAK;AAEpB,QAAM,aAAa,IAAI,kBAAAC,QAAW;AAClC,UAAQ,QAAQ;AAAA,IACd,KAAK,iCAAc,QAAQ;AACzB,sBAAgB,KAAK,SACjB,WAAW,aAA+B,KAAK,QAAS,YAAY,QACpE,aAAAC,SAAM,EAAE,OAAO,YAAY;AAC/B,aAAO,SAAS;AAChB,kBAAY,cAAc,aAAa;AACvC;AAAA,IACF;AAAA,IACA,KAAK,iCAAc,SAAS;AAC1B,aAAO,SAAS;AAChB,sBAAgB,WAAW,aAA+B,KAAK,SAAU,YAAY;AACrF,kBAAY,eAAe,aAAa;AACxC;AAAA,IACF;AAAA,IACA,KAAK,iCAAc;AACjB,aAAO,QAAQ;AACf,sBAAgB,WAAW,aAA+B,KAAK,WAAY,YAAY;AACvF,kBAAY,aAAa,aAAa;AACtC;AAAA,IACF,KAAK,iCAAc,SAAS;AAC1B,aAAO,SAAS;AAChB,sBAAgB,WAAW,aAA+B,KAAK,SAAU,YAAY;AACrF,kBAAY,eAAe,aAAa;AACxC;AAAA,IACF;AAAA,IACA,KAAK,iCAAc,OAAO;AACxB,aAAO,QAAQ;AACf,sBAAgB,WAAW,aAA+B,KAAK,YAAa,YAAY;AACxF,kBAAY,gBAAgB,aAAa;AACzC;AAAA,IACF;AAAA,IACA,KAAK,iCAAc;AAAA,IACnB,KAAK,iCAAc;AAAA,IACnB,KAAK,iCAAc;AACjB,aAAO,SAAS;AAChB,sBAAgB,WAAW,aAA+B,KAAK,WAAY,YAAY;AACvF,kBAAY,iBAAiB,aAAa;AAC1C;AAAA,IACF;AACE,sBAAgB,WAAW,aAA+B,KAAK,YAAa,YAAY;AACxF,kBAAY,gBAAgB,aAAa;AACzC;AAAA,EACJ;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMwC;AACtC,QAAM,EAAE,UAAU,IAAI,oBAAAF,QAAa,UAAU,GAAG;AAEhD,MAAI,YAAY,YAAY,OAAO,cAAc,EAAE,IAAI,UAAU;AACjE,QAAM,iBAAiB,UAAU;AAEjC,MAAI,QAAS,aAAY,UAAU,MAAM,GAAG,OAAO;AACnD,QAAM,YAAY,YAAY,WAAW,IAAI;AAE7C,QAAM,OAAO,SAAS,cAAc,sBAAsB;AAC1D,QAAM,OAAO;AAAA,IACX,GAAI,UAAU,UAAU,EAAE,MAAM,kBAAkB,IAAI,QAAQ;AAAA,IAC9D,GAAI,CAAC,UAAU,UAAU,EAAE,cAAc,cAAc,IAAI,WAAW;AAAA,EACxE;AAEA,QAAM,SAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA,OAAO,UAAU,gBAAgB,OAAO;AAAA,IACxC,MAAM,QAAQ,WAAW,GAAG;AAAA,IAC5B;AAAA,IACA,GAAI,WAAW,EAAE,QAAQ;AAAA,EAC3B;AAEA,SAAO;AACT;AAEO,MAAM,sBAAsB,OAAO,EAAE,KAAK,KAAK,SAAS,MAA8B;AAC3F,QAAM,EAAE,QAAQ,IAAI,oBAAAA,QAAa,UAAU,GAAG;AAC9C,QAAM,SAAS,UAAM,6CAAiB,EAAE,KAAK,KAAK,SAAS,CAAC;AAE5D,MAAI,UAAU,OAAO,WAAW;AAC9B,UAAM,SAAS,sBAAsB,aAAa,OAAO,aAAa,QAAQ,EAAE;AAChF,UAAM,SAAS,uBAAuB,aAAa,OAAO,aAAa,QAAQ,EAAE;AAAA,EACnF;AAEA,SAAO,SAAS,OAAO,YAAY;AACrC;AAEO,MAAM,OAAO,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,MAA+D;AACrH,QAAM,EAAE,kBAAkB,uBAAuB,mBAAmB,IAAI,oBAAAA,QAAa,UAAU,GAAG;AAElG,QAAM,uBAAuB,MAAM,WAAW;AAAA,IAC5C;AAAA,IACA,aAAa;AAAA,IACb,gBAAgB,cAAAG,QAAqB;AAAA,IACrC;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,QAAM,oBAAoB,MAAM,WAAW;AAAA,IACzC;AAAA,IACA,aAAa;AAAA,IACb,gBAAgB,cAAAC,QAA6B;AAAA,IAC7C;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,MAAI;AACJ,MAAI,oBAAoB;AACtB,gBAAY,MAAM,cAAAC,QAAkB,mBAAmB;AAAA,MACrD;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf;AAAA,EACF;AACF;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,EAAE,MAAM,UAAU,YAAY,aAAa,IAAI,MAAM,aAAa,SAAS,OAAO,IAAI,IAAI;AAChG,QAAM,aAAa,EAAE,MAAM,UAAU,YAAY,aAAa,IAAI,KAAK;AACvE,QAAM,gBAAgB,EAAE,aAAa,QAAQ;AAC7C,QAAM,YAAY,QAAQ,EAAE,OAAO,MAAM,MAAM,cAAc,MAAM,QAAQ,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,EAAE;AAE7G,QAAM,UAAoB,IAAI,QAAQ,SAAS;AAC/C,QAAM,EAAE,cAAc,UAAU,YAAY,UAAU,IAAkB,IAAI;AAC5E,QAAM,eAAe,cAAAC,QAAa,gCAAgC,SAAS,IAAI;AAC/E,QAAM,WAAW;AAAA,IACf,GAAG;AAAA,IACH,GAAI,WAAW,EAAE,QAAQ;AAAA,IACzB,GAAI,gBAAgB,EAAE,aAAa;AAAA,IACnC,GAAI,YAAY,EAAE,SAAS;AAAA,IAC3B,GAAI,cAAc,EAAE,WAAW;AAAA,IAC/B,GAAI,aAAa,EAAE,UAAU;AAAA,EAC/B;AACA,QAAM,uBAA8F;AAAA,IAClG,OAAO;AAAA,IACP,cAAc,aAAAC,QAAqB,gBAAgB,cAAc,OAAO;AAAA,EAC1E;AAEA,QAAM,qBAAqB,IAAI,4BAAAC,QAAqB,UAAU,EAC3D,iBAAiB,aAAa,EAC9B,SAAS,SAAS,EAClB,oBAAoB,oBAAoB,EACxC,UAAU,iCAAc,KAAK,EAC7B,aAAa,EACb,aAAa,GAAG,EAChB,cAAc,GAAG,EACjB,MAAM;AAET,MAAI,YAAa,OAAM,SAAS,uBAAuB,iBAAiB,aAAa,MAAM;AAC3F,QAAM,SAAS,sBAAsB,kBAAkB,oBAAoB,MAAM;AACnF;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
6
|
"names": ["import_utils", "LocalsHelper", "DateMapper", "dayjs", "RequestedReportUtils", "RecentlyViewedCardGroupUtils", "BookmarklistUtils", "FiltersUtils", "SelectedFiltersUtils", "UserStoreItemBuilder"]
|
|
@@ -0,0 +1,102 @@
|
|
|
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 clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
DprRecentlyViewedList: () => DprRecentlyViewedList,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_DprPollingStatusClass = __toESM(require("../../../DprPollingStatusClass"));
|
|
36
|
+
class DprRecentlyViewedList extends import_DprPollingStatusClass.default {
|
|
37
|
+
static getModuleName() {
|
|
38
|
+
return "recently-viewed-list";
|
|
39
|
+
}
|
|
40
|
+
initialise() {
|
|
41
|
+
this.EXPIRED_END_STATUSES = this.getExpiredCheckStatuses();
|
|
42
|
+
this.POLLING_FREQUENCY = "60000";
|
|
43
|
+
this.viewedList = document.getElementById("dpr-recently-viewed-component");
|
|
44
|
+
const viewedReportData = this.viewedList.getAttribute("data-request-data");
|
|
45
|
+
this.viewedReportData = viewedReportData ? JSON.parse(viewedReportData) : void 0;
|
|
46
|
+
this.csrfToken = this.viewedList.getAttribute("data-csrf-token");
|
|
47
|
+
this.removeActions = document.querySelectorAll(".dpr-remove-viewed-report-button");
|
|
48
|
+
this.initItemActions();
|
|
49
|
+
this.initPollingIntervals();
|
|
50
|
+
}
|
|
51
|
+
async initPollingIntervals() {
|
|
52
|
+
await this.checkIsExpired();
|
|
53
|
+
if (this.viewedReportData && this.shouldPollExpired(this.viewedReportData)) {
|
|
54
|
+
this.expiredViewedInterval = setInterval(async () => {
|
|
55
|
+
await this.checkIsExpired();
|
|
56
|
+
}, this.POLLING_FREQUENCY);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async checkIsExpired() {
|
|
60
|
+
await Promise.all(
|
|
61
|
+
this.viewedReportData.map(async (metaData) => {
|
|
62
|
+
const { status, reportUrl } = metaData;
|
|
63
|
+
if (status !== "EXPIRED") {
|
|
64
|
+
const response = await this.getExpiredStatus(reportUrl, metaData, this.csrfToken);
|
|
65
|
+
if (response && response.isExpired) {
|
|
66
|
+
clearInterval(this.expiredViewedInterval);
|
|
67
|
+
window.location.reload();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
initItemActions() {
|
|
74
|
+
this.removeActions.forEach((button) => {
|
|
75
|
+
const id = button.getAttribute("data-execution-id");
|
|
76
|
+
button.addEventListener("click", async (e) => {
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
await this.removeItemFromList(id);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async removeItemFromList(executionId) {
|
|
83
|
+
let response;
|
|
84
|
+
await fetch(`dpr/my-reports/recently-viewed/${executionId}`, {
|
|
85
|
+
method: "post",
|
|
86
|
+
headers: {
|
|
87
|
+
Accept: "application/json",
|
|
88
|
+
"Content-Type": "application/json",
|
|
89
|
+
"CSRF-Token": this.csrfToken
|
|
90
|
+
}
|
|
91
|
+
}).then(() => {
|
|
92
|
+
window.location.reload();
|
|
93
|
+
}).catch((error) => console.error("Error:", error));
|
|
94
|
+
return response;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
var clientClass_default = DprRecentlyViewedList;
|
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
+
0 && (module.exports = {
|
|
100
|
+
DprRecentlyViewedList
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/user-reports/viewed/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport DprPollingStatusClass from '../../../DprPollingStatusClass'\n\nclass DprRecentlyViewedList extends DprPollingStatusClass {\n static getModuleName() {\n return 'recently-viewed-list'\n }\n\n initialise() {\n this.EXPIRED_END_STATUSES = this.getExpiredCheckStatuses()\n this.POLLING_FREQUENCY = '60000' // 1 min\n\n this.viewedList = document.getElementById('dpr-recently-viewed-component')\n const viewedReportData = this.viewedList.getAttribute('data-request-data')\n this.viewedReportData = viewedReportData ? JSON.parse(viewedReportData) : undefined\n this.csrfToken = this.viewedList.getAttribute('data-csrf-token')\n this.removeActions = document.querySelectorAll('.dpr-remove-viewed-report-button')\n\n this.initItemActions()\n this.initPollingIntervals()\n }\n\n async initPollingIntervals() {\n await this.checkIsExpired()\n\n if (this.viewedReportData && this.shouldPollExpired(this.viewedReportData)) {\n this.expiredViewedInterval = setInterval(async () => {\n await this.checkIsExpired()\n }, this.POLLING_FREQUENCY)\n }\n }\n\n async checkIsExpired() {\n await Promise.all(\n this.viewedReportData.map(async (metaData) => {\n const { status, reportUrl } = metaData\n if (status !== 'EXPIRED') {\n const response = await this.getExpiredStatus(reportUrl, metaData, this.csrfToken)\n if (response && response.isExpired) {\n clearInterval(this.expiredViewedInterval)\n window.location.reload()\n }\n }\n }),\n )\n }\n\n initItemActions() {\n this.removeActions.forEach((button) => {\n const id = button.getAttribute('data-execution-id')\n button.addEventListener('click', async (e) => {\n e.preventDefault()\n await this.removeItemFromList(id)\n })\n })\n }\n\n async removeItemFromList(executionId) {\n let response\n await fetch(`dpr/my-reports/recently-viewed/${executionId}`, {\n method: 'post',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'CSRF-Token': this.csrfToken,\n },\n })\n .then(() => {\n window.location.reload()\n })\n .catch((error) => console.error('Error:', error))\n\n return response\n }\n}\n\nexport { DprRecentlyViewedList }\nexport default DprRecentlyViewedList\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mCAAkC;AAElC,MAAM,8BAA8B,6BAAAA,QAAsB;AAAA,EACxD,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,uBAAuB,KAAK,wBAAwB;AACzD,SAAK,oBAAoB;AAEzB,SAAK,aAAa,SAAS,eAAe,+BAA+B;AACzE,UAAM,mBAAmB,KAAK,WAAW,aAAa,mBAAmB;AACzE,SAAK,mBAAmB,mBAAmB,KAAK,MAAM,gBAAgB,IAAI;AAC1E,SAAK,YAAY,KAAK,WAAW,aAAa,iBAAiB;AAC/D,SAAK,gBAAgB,SAAS,iBAAiB,kCAAkC;AAEjF,SAAK,gBAAgB;AACrB,SAAK,qBAAqB;AAAA,EAC5B;AAAA,EAEA,MAAM,uBAAuB;AAC3B,UAAM,KAAK,eAAe;AAE1B,QAAI,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,gBAAgB,GAAG;AAC1E,WAAK,wBAAwB,YAAY,YAAY;AACnD,cAAM,KAAK,eAAe;AAAA,MAC5B,GAAG,KAAK,iBAAiB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB;AACrB,UAAM,QAAQ;AAAA,MACZ,KAAK,iBAAiB,IAAI,OAAO,aAAa;AAC5C,cAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,YAAI,WAAW,WAAW;AACxB,gBAAM,WAAW,MAAM,KAAK,iBAAiB,WAAW,UAAU,KAAK,SAAS;AAChF,cAAI,YAAY,SAAS,WAAW;AAClC,0BAAc,KAAK,qBAAqB;AACxC,mBAAO,SAAS,OAAO;AAAA,UACzB;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,kBAAkB;AAChB,SAAK,cAAc,QAAQ,CAAC,WAAW;AACrC,YAAM,KAAK,OAAO,aAAa,mBAAmB;AAClD,aAAO,iBAAiB,SAAS,OAAO,MAAM;AAC5C,UAAE,eAAe;AACjB,cAAM,KAAK,mBAAmB,EAAE;AAAA,MAClC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,mBAAmB,aAAa;AACpC,QAAI;AACJ,UAAM,MAAM,kCAAkC,WAAW,IAAI;AAAA,MAC3D,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,cAAc,KAAK;AAAA,MACrB;AAAA,IACF,CAAC,EACE,KAAK,MAAM;AACV,aAAO,SAAS,OAAO;AAAA,IACzB,CAAC,EACA,MAAM,CAAC,UAAU,QAAQ,MAAM,UAAU,KAAK,CAAC;AAElD,WAAO;AAAA,EACT;AACF;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": ["DprPollingStatusClass"]
|
|
7
|
+
}
|