@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.4 → 4.17.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/assets/app.js.map +1 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js +1 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
- package/dpr/components/_async/async-filters-form/utils.js +1 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
- package/dpr/components/_async/async-filters-form/utils.test.ts +9 -9
- package/dpr/components/_async/async-filters-form/utils.ts +1 -1
- package/dpr/components/_async/async-filters-form/view.njk +6 -3
- package/dpr/components/_catalogue/catalogue/types.js +1 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/utils.test.ts +6 -3
- package/dpr/components/_catalogue/catalogue/utils.ts +1 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -0
- package/dpr/components/_catalogue/catalogue-list/utils.ts +5 -5
- package/dpr/components/_charts/chart/Buckets.js +1 -1
- package/dpr/components/_charts/chart/Buckets.js.map +3 -3
- package/dpr/components/_charts/chart/Buckets.ts +3 -3
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +3 -3
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +1 -13
- package/dpr/components/_charts/chart/heatmap/types.js +1 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/types.ts +1 -1
- package/dpr/components/_charts/utils.js +1 -1
- package/dpr/components/_charts/utils.js.map +3 -3
- package/dpr/components/_charts/utils.test.ts +1 -0
- package/dpr/components/_charts/utils.ts +84 -43
- package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/utils.test.ts +1 -0
- package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -11
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/types.ts +8 -8
- package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/Scorecard.ts +8 -8
- package/dpr/components/_dashboards/scorecard/types.js +1 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/types.ts +12 -10
- package/dpr/components/_dashboards/scorecard/utils.js +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/utils.test.ts +1 -0
- package/dpr/components/_filters/filter-input/enum.js +1 -1
- package/dpr/components/_filters/filter-input/enum.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.js +1 -1
- package/dpr/components/_filters/filter-input/filters.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.test.ts +1 -0
- package/dpr/components/_filters/filter-input/types.d.js +1 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
- package/dpr/components/_filters/filters-selected/utils.js +1 -1
- package/dpr/components/_filters/filters-selected/utils.js.map +3 -3
- package/dpr/components/_filters/filters-selected/utils.test.ts +7 -4
- package/dpr/components/_filters/filters-selected/utils.ts +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
- package/dpr/components/_filters/types.d.js +1 -1
- package/dpr/components/_filters/types.d.js.map +2 -2
- package/dpr/components/_filters/types.d.ts +5 -5
- package/dpr/components/_filters/utils.js +1 -1
- package/dpr/components/_filters/utils.js.map +2 -2
- package/dpr/components/_filters/utils.test.ts +54 -49
- package/dpr/components/_filters/utils.ts +16 -20
- package/dpr/components/_inputs/date-input/utils.js +1 -1
- package/dpr/components/_inputs/date-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-input/utils.test.ts +1 -0
- package/dpr/components/_inputs/date-range/clientClass.mjs +2 -2
- package/dpr/components/_inputs/date-range/types.js +1 -1
- package/dpr/components/_inputs/date-range/types.js.map +2 -2
- package/dpr/components/_inputs/date-range/types.ts +2 -2
- package/dpr/components/_inputs/date-range/utils.js +1 -1
- package/dpr/components/_inputs/date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/date-range/utils.test.ts +5 -7
- package/dpr/components/_inputs/date-range/utils.ts +4 -4
- package/dpr/components/_inputs/date-range/view.njk +1 -0
- package/dpr/components/_inputs/granular-date-range/types.js +1 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.test.ts +1 -0
- package/dpr/components/_inputs/multi-select/utils.js +1 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +3 -3
- package/dpr/components/_inputs/multi-select/utils.ts +1 -1
- package/dpr/components/_inputs/multi-select/utilt.test.ts +29 -14
- package/dpr/components/_inputs/start-end-date/utils.js +1 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
- package/dpr/components/_inputs/start-end-date/utils.test.ts +1 -0
- package/dpr/components/_reports/report-actions/actionsTemplate.js +1 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/report-actions/types.d.js +1 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
- package/dpr/components/_reports/report-actions/types.d.ts +1 -1
- package/dpr/components/_reports/report-actions/utils.js +1 -1
- package/dpr/components/_reports/report-actions/utils.js.map +1 -1
- package/dpr/components/_reports/report-actions/utils.test.ts +8 -4
- package/dpr/components/_reports/report-columns-form/types.d.js +1 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/utils.ts +1 -1
- package/dpr/components/_reports/report-data-table/types.d.js +1 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
- package/dpr/components/_reports/report-data-table/utils.js +1 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +3 -3
- package/dpr/components/_reports/report-data-table/utils.test.ts +15 -8
- package/dpr/components/_reports/report-data-table/utils.ts +20 -8
- package/dpr/components/_reports/report-pagination/types.d.js +1 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
- package/dpr/components/_reports/report-pagination/types.d.ts +2 -2
- package/dpr/components/_reports/report-pagination/utils.js +1 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
- package/dpr/components/_reports/report-pagination/utils.test.ts +1 -0
- package/dpr/components/_reports/report-totals/utils.js +1 -1
- package/dpr/components/_reports/report-totals/utils.js.map +1 -1
- package/dpr/components/card-group/utils.js +1 -1
- package/dpr/components/card-group/utils.js.map +1 -1
- package/dpr/components/card-group/utils.test.ts +7 -0
- package/dpr/components/report-list/defaultTokenProvider.js +1 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +3 -3
- package/dpr/components/report-list/defaultTokenProvider.ts +3 -3
- package/dpr/components/report-list/types.d.js +1 -1
- package/dpr/components/report-list/types.d.js.map +1 -1
- package/dpr/components/report-list/utils.js +1 -1
- package/dpr/components/report-list/utils.js.map +2 -2
- package/dpr/components/report-list/utils.test.ts +6 -4
- package/dpr/components/report-list/utils.ts +5 -5
- package/dpr/components/show-more/utils.js +1 -1
- package/dpr/components/show-more/utils.js.map +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +3 -3
- package/dpr/components/user-reports/bookmarks/utils.test.ts +14 -11
- package/dpr/components/user-reports/bookmarks/utils.ts +26 -31
- package/dpr/components/user-reports/requested/utils.js +1 -1
- package/dpr/components/user-reports/requested/utils.js.map +3 -3
- package/dpr/components/user-reports/requested/utils.test.ts +4 -3
- package/dpr/components/user-reports/requested/utils.ts +4 -3
- package/dpr/components/user-reports/types.d.js +1 -1
- package/dpr/components/user-reports/types.d.js.map +2 -2
- package/dpr/components/user-reports/types.d.ts +1 -1
- package/dpr/components/user-reports/utils.js +1 -1
- package/dpr/components/user-reports/utils.js.map +3 -3
- package/dpr/components/user-reports/utils.test.ts +48 -47
- package/dpr/components/user-reports/utils.ts +51 -57
- package/dpr/components/user-reports/viewed/utils.js +1 -1
- package/dpr/components/user-reports/viewed/utils.js.map +2 -2
- package/dpr/components/user-reports/viewed/utils.ts +5 -4
- package/dpr/data/agentConfig.js +1 -1
- package/dpr/data/agentConfig.js.map +1 -1
- package/dpr/data/dashboardClient.js +1 -1
- package/dpr/data/dashboardClient.js.map +2 -2
- package/dpr/data/dashboardClient.ts +2 -2
- package/dpr/data/dprReportingClient.js +1 -1
- package/dpr/data/dprReportingClient.js.map +3 -3
- package/dpr/data/dprReportingClient.ts +3 -3
- package/dpr/data/missingReportClient.js +2 -0
- package/dpr/data/missingReportClient.js.map +7 -0
- package/dpr/{services/missingReport → data}/missingReportClient.ts +4 -4
- package/dpr/data/productCollectionClient.js +2 -0
- package/dpr/data/productCollectionClient.js.map +7 -0
- package/dpr/data/productCollectionClient.ts +28 -0
- package/dpr/data/reportDataStore.js +1 -1
- package/dpr/data/reportDataStore.js.map +1 -1
- package/dpr/data/reportingClient.js +1 -1
- package/dpr/data/reportingClient.js.map +3 -3
- package/dpr/data/reportingClient.ts +7 -9
- package/dpr/data/restClient.js +1 -1
- package/dpr/data/restClient.js.map +2 -2
- package/dpr/data/restClient.ts +5 -5
- package/dpr/data/types.d.js +1 -1
- package/dpr/data/types.d.js.map +2 -2
- package/dpr/data/types.d.ts +1 -1
- package/dpr/middleware/reportAuthoriser.js +1 -1
- package/dpr/middleware/reportAuthoriser.js.map +2 -2
- package/dpr/middleware/reportAuthoriser.ts +2 -2
- package/dpr/middleware/setUpDprResources.js +1 -1
- package/dpr/middleware/setUpDprResources.js.map +2 -2
- package/dpr/middleware/setUpDprResources.test.ts +59 -20
- package/dpr/middleware/setUpDprResources.ts +30 -29
- package/dpr/middleware/setUpNestedRoute.js +1 -1
- package/dpr/middleware/setUpNestedRoute.js.map +2 -2
- package/dpr/middleware/setUpNestedRoute.ts +1 -1
- package/dpr/routes/index.js +1 -1
- package/dpr/routes/index.js.map +2 -2
- package/dpr/routes/index.ts +1 -2
- package/dpr/routes/journeys/download-report/controller.js +1 -1
- package/dpr/routes/journeys/download-report/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/controller.ts +7 -6
- package/dpr/routes/journeys/download-report/request-download/form/controller.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js +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 +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.ts +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +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 +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 +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 +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 +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/service.ts +20 -8
- package/dpr/routes/journeys/download-report/routes.js +1 -1
- package/dpr/routes/journeys/download-report/routes.js.map +3 -3
- package/dpr/routes/journeys/download-report/routes.ts +1 -4
- package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/tests.cy.ts +4 -1
- package/dpr/routes/journeys/download-report/utils.js +1 -1
- package/dpr/routes/journeys/download-report/utils.js.map +2 -2
- package/dpr/routes/journeys/download-report/utils.ts +2 -4
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.ts +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +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 +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -2
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/service.js +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/service.ts +31 -18
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +26 -26
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +10 -11
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +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 +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.ts +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +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 +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +7 -4
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +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 +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/recently-viewed/service.ts +0 -2
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js +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 +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.ts +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +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 +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 +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 +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/requested-reports/service.ts +25 -17
- package/dpr/routes/journeys/my-reports/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +3 -3
- package/dpr/routes/journeys/my-reports/routes.ts +0 -3
- package/dpr/routes/journeys/product-collection/routes.js +1 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +6 -4
- package/dpr/routes/journeys/product-collection/selected/validation.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
- package/dpr/routes/journeys/request-missing-report/form/controller.ts +21 -19
- package/dpr/routes/journeys/request-missing-report/form/routes.js +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 +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 +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js +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 +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 +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 +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/tests.cy.ts +1 -1
- package/dpr/routes/journeys/request-report/controller.js +1 -1
- package/dpr/routes/journeys/request-report/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/controller.ts +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/controller.ts +7 -8
- package/dpr/routes/journeys/request-report/filters/routes.js +1 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/utils.ts +38 -23
- package/dpr/routes/journeys/request-report/filters/view.njk +2 -1
- package/dpr/routes/journeys/request-report/routes.js +1 -1
- package/dpr/routes/journeys/request-report/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/routes.ts +2 -2
- package/dpr/routes/journeys/request-report/status/controller.js +1 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/controller.ts +4 -4
- package/dpr/routes/journeys/request-report/status/routes.js +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/tests.cy.ts +9 -4
- package/dpr/routes/journeys/request-report/status/utils.js +1 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/utils.ts +10 -13
- package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/tests.cy.ts +14 -11
- package/dpr/routes/journeys/routes.js +1 -1
- package/dpr/routes/journeys/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/controller.ts +4 -4
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +4 -4
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js +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 +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +6 -8
- package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/report/controller.ts +5 -5
- package/dpr/routes/journeys/view-report/async/report/routes.js +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 +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +9 -7
- package/dpr/routes/journeys/view-report/async/report/types.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/types.ts +8 -8
- package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/utils.ts +16 -18
- package/dpr/routes/journeys/view-report/async/routes.js +1 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/routes.js +1 -1
- package/dpr/routes/journeys/view-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/routes.ts +6 -3
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js +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 +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/controller.ts +6 -6
- package/dpr/routes/journeys/view-report/sync/report/routes.js +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 +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/utils.ts +29 -19
- package/dpr/routes/journeys/view-report/sync/routes.js +1 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/tests.cy.ts +1 -1
- package/dpr/routes/journeys/view-report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/utils.ts +22 -12
- package/dpr/services/dashboardService.js +1 -1
- package/dpr/services/dashboardService.js.map +3 -3
- package/dpr/services/dashboardService.ts +1 -3
- package/dpr/services/defaultFilterValuesService.js +1 -1
- package/dpr/services/defaultFilterValuesService.js.map +3 -3
- package/dpr/services/defaultFilterValuesService.ts +34 -15
- package/dpr/services/index.js +1 -1
- package/dpr/services/index.js.map +1 -1
- package/dpr/services/missingReport/missingReportService.js +2 -0
- package/dpr/services/missingReport/missingReportService.js.map +7 -0
- package/dpr/services/missingReport/missingReportService.ts +26 -0
- package/dpr/services/productCollection/productCollectionService.js +1 -1
- package/dpr/services/productCollection/productCollectionService.js.map +3 -3
- package/dpr/services/productCollection/productCollectionService.ts +19 -14
- package/dpr/services/productCollection/productCollectionStoreService.js +1 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +3 -3
- package/dpr/services/productCollection/productCollectionStoreService.ts +9 -3
- package/dpr/services/reportStoreService.js +1 -1
- package/dpr/services/reportStoreService.js.map +2 -2
- package/dpr/services/reportStoreService.ts +1 -1
- package/dpr/services/reportingService.js +1 -1
- package/dpr/services/reportingService.js.map +3 -3
- package/dpr/services/reportingService.ts +1 -3
- package/dpr/setUpNunjucksFilters.js +1 -1
- package/dpr/setUpNunjucksFilters.js.map +1 -1
- package/dpr/types/AsyncReportUtils.js +1 -1
- package/dpr/types/AsyncReportUtils.js.map +2 -2
- package/dpr/types/AsyncReportUtils.ts +2 -1
- package/dpr/types/Bookmark.js +1 -1
- package/dpr/types/Bookmark.js.map +2 -2
- package/dpr/types/Bookmark.ts +9 -3
- package/dpr/types/Charts.js +1 -1
- package/dpr/types/Charts.js.map +1 -1
- package/dpr/types/Download.js +1 -1
- package/dpr/types/Download.js.map +1 -1
- package/dpr/types/DprConfig.js +1 -1
- package/dpr/types/DprConfig.js.map +2 -2
- package/dpr/types/DprConfig.ts +8 -0
- package/dpr/types/DprUser.js +1 -1
- package/dpr/types/DprUser.js.map +2 -2
- package/dpr/types/DprUser.ts +2 -2
- package/dpr/types/EmbeddedReportUtils.js +1 -1
- package/dpr/types/EmbeddedReportUtils.js.map +1 -1
- package/dpr/types/ExecutionData.d.js +1 -1
- package/dpr/types/ExecutionData.d.js.map +2 -2
- package/dpr/types/ExecutionData.d.ts +2 -2
- package/dpr/types/Metrics.js +1 -1
- package/dpr/types/Metrics.js.map +2 -2
- package/dpr/types/Metrics.ts +1 -1
- package/dpr/types/ReportQuery.js +1 -1
- package/dpr/types/ReportQuery.js.map +2 -2
- package/dpr/types/ReportQuery.ts +15 -11
- package/dpr/types/ReportStore.js +1 -1
- package/dpr/types/ReportStore.js.map +1 -1
- package/dpr/types/Services.d.js +1 -1
- package/dpr/types/Services.d.js.map +2 -2
- package/dpr/types/Services.d.ts +8 -8
- package/dpr/types/Templates.d.js +1 -1
- package/dpr/types/Templates.d.js.map +1 -1
- package/dpr/types/UserReports.js +1 -1
- package/dpr/types/UserReports.js.map +2 -2
- package/dpr/types/UserReports.ts +29 -15
- package/dpr/types/api.d.js +1 -1
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/index.d.js +1 -1
- package/dpr/types/index.d.js.map +2 -2
- package/dpr/types/index.d.ts +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts +2 -0
- package/dpr/utils/CreateDprServices.js +2 -0
- package/dpr/utils/CreateDprServices.js.map +7 -0
- package/dpr/utils/CreateDprServices.ts +73 -0
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.test.ts +10 -0
- package/dpr/utils/DataTableBuilder/types.d.js +1 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/DataTableBuilder/types.d.ts +3 -3
- package/dpr/utils/DateMapper/DateMapper.js +1 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
- package/dpr/utils/DateMapper/DateMapper.test.ts +22 -9
- package/dpr/utils/DateMapper/DateMapper.ts +9 -11
- package/dpr/utils/DateMapper/types.d.js +1 -1
- package/dpr/utils/DateMapper/types.d.js.map +1 -1
- package/dpr/utils/ErrorHandler.js +2 -0
- package/dpr/utils/ErrorHandler.js.map +7 -0
- package/dpr/utils/ErrorHandler.ts +85 -0
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +13 -2
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +3 -3
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
- package/dpr/utils/Personalisation/personalisationUtils.ts +6 -2
- package/dpr/utils/Personalisation/types.d.js +1 -1
- package/dpr/utils/Personalisation/types.d.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +5 -0
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +7 -4
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +3 -3
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.test.ts +1 -0
- package/dpr/utils/UserStoreItemBuilder.js +1 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
- package/dpr/utils/UserStoreItemBuilder.ts +19 -32
- package/dpr/utils/arrayUtils.js +1 -1
- package/dpr/utils/arrayUtils.js.map +1 -1
- package/dpr/utils/datasetHelper.js +1 -1
- package/dpr/utils/datasetHelper.js.map +2 -2
- package/dpr/utils/datasetHelper.test.ts +21 -33
- package/dpr/utils/datasetHelper.ts +12 -17
- package/dpr/utils/definitionUtils.js +1 -1
- package/dpr/utils/definitionUtils.js.map +3 -3
- package/dpr/utils/definitionUtils.ts +14 -3
- package/dpr/utils/index.js +1 -1
- package/dpr/utils/index.js.map +1 -1
- package/dpr/utils/indexedAccesHelper.js +2 -0
- package/dpr/utils/indexedAccesHelper.js.map +7 -0
- package/dpr/utils/indexedAccesHelper.ts +24 -0
- package/dpr/utils/localsHelper.js +1 -1
- package/dpr/utils/localsHelper.js.map +2 -2
- package/dpr/utils/localsHelper.ts +8 -8
- package/dpr/utils/logger.js +1 -1
- package/dpr/utils/logger.js.map +2 -2
- package/dpr/utils/logger.ts +1 -1
- package/dpr/utils/reportListsHelper.js +1 -1
- package/dpr/utils/reportListsHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.js +1 -1
- package/dpr/utils/reportStoreHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.test.ts +3 -2
- package/dpr/utils/requestStatusHelper.js +1 -1
- package/dpr/utils/requestStatusHelper.js.map +3 -3
- package/dpr/utils/requestStatusHelper.ts +29 -42
- package/dpr/utils/sanitisedError.js +1 -1
- package/dpr/utils/sanitisedError.js.map +2 -2
- package/dpr/utils/sanitisedError.ts +1 -1
- package/dpr/utils/urlHelper.js +1 -1
- package/dpr/utils/urlHelper.js.map +2 -2
- package/dpr/utils/urlHelper.ts +4 -4
- package/dpr/validation/validate.js +1 -1
- package/dpr/validation/validate.js.map +2 -2
- package/dpr/validation/validate.ts +2 -2
- package/package.json +4 -2
- package/dpr/components/error-summary/utils.js +0 -2
- package/dpr/components/error-summary/utils.js.map +0 -7
- package/dpr/components/error-summary/utils.test.ts +0 -54
- package/dpr/components/error-summary/utils.ts +0 -65
- package/dpr/services/missingReport/missingReportClient.js +0 -2
- package/dpr/services/missingReport/missingReportClient.js.map +0 -7
- package/dpr/utils/ReportStoreServiceUtils.js +0 -2
- package/dpr/utils/ReportStoreServiceUtils.js.map +0 -7
- package/dpr/utils/ReportStoreServiceUtils.ts +0 -140
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
import { DashboardDataResponse } from '../../../types/Metrics'
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
ListDashboardVisualisationOptions,
|
|
5
|
+
MoJTable,
|
|
6
|
+
MoJTableHead,
|
|
7
|
+
MoJTableRow,
|
|
8
|
+
} from '../dashboard-visualisation/types'
|
|
4
9
|
import DatasetHelper from '../../../utils/datasetHelper'
|
|
5
10
|
import { components } from '../../../types/api'
|
|
6
11
|
|
|
@@ -49,16 +54,16 @@ const createListFromColumns = (
|
|
|
49
54
|
) => {
|
|
50
55
|
const { columns } = listDefinition
|
|
51
56
|
const { keys, measures } = columns
|
|
52
|
-
const groupKey = DatasetHelper.getGroupKey(keys || []
|
|
57
|
+
const groupKey = DatasetHelper.getGroupKey(dashboardData, keys || [])
|
|
53
58
|
|
|
54
|
-
const timestampData = dashboardData[0]?.ts?.raw
|
|
59
|
+
const timestampData = dashboardData[0]?.['ts']?.raw
|
|
55
60
|
const ts = timestampData ? `${timestampData}` : ''
|
|
56
61
|
|
|
57
|
-
const head = []
|
|
62
|
+
const head: MoJTableHead[] = []
|
|
58
63
|
head.push({ text: '' })
|
|
59
64
|
dashboardData.forEach((row) => {
|
|
60
65
|
head.push({
|
|
61
|
-
text: groupKey ? row[groupKey.id].raw : '',
|
|
66
|
+
text: groupKey ? `${row[groupKey.id].raw}` : '',
|
|
62
67
|
})
|
|
63
68
|
})
|
|
64
69
|
|
|
@@ -102,15 +107,15 @@ const creatListFromRows = (
|
|
|
102
107
|
) => {
|
|
103
108
|
const { measures } = listDefinition.columns
|
|
104
109
|
|
|
105
|
-
const head = measures.map((column) => {
|
|
106
|
-
return { text: column.display }
|
|
110
|
+
const head: MoJTableHead[] = measures.map((column) => {
|
|
111
|
+
return { text: column.display || '' }
|
|
107
112
|
})
|
|
108
113
|
|
|
109
114
|
const dataSetRows = DatasetHelper.getDatasetRows(listDefinition, dashboardData)
|
|
110
115
|
const displayRows = DatasetHelper.filterRowsByDisplayColumns(listDefinition, dataSetRows)
|
|
111
116
|
const rows = createTableRows(displayRows, measures)
|
|
112
117
|
|
|
113
|
-
const timestampData = dataSetRows[0]?.ts?.raw
|
|
118
|
+
const timestampData = dataSetRows[0]?.['ts']?.raw
|
|
114
119
|
const ts = timestampData ? `${timestampData}` : ''
|
|
115
120
|
|
|
116
121
|
return {
|
|
@@ -121,13 +126,13 @@ const creatListFromRows = (
|
|
|
121
126
|
}
|
|
122
127
|
|
|
123
128
|
const createFullList = (dashboardData: DashboardDataResponse[]) => {
|
|
124
|
-
const head = Object.keys(dashboardData[0]).map((key) => {
|
|
125
|
-
return { text: key }
|
|
129
|
+
const head: MoJTableHead[] = Object.keys(dashboardData[0]).map((key) => {
|
|
130
|
+
return { text: key || '' }
|
|
126
131
|
})
|
|
127
132
|
const rows = createTableRows(dashboardData)
|
|
128
133
|
|
|
129
134
|
const latestData = DatasetHelper.getLastestDataset(dashboardData)
|
|
130
|
-
const timestampData = latestData[0]?.ts?.raw
|
|
135
|
+
const timestampData = latestData[0]?.['ts']?.raw
|
|
131
136
|
const ts = timestampData ? `${timestampData}` : ''
|
|
132
137
|
|
|
133
138
|
return {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(i,s)=>{for(var n in s)a(i,n,{get:s[n],enumerable:!0})},r=(i,s,n,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of h(s))!u.call(i,o)&&o!==n&&a(i,o,{get:()=>s[o],enumerable:!(e=m(s,o))||e.enumerable});return i};var D=i=>r(a({},"__esModule",{value:!0}),i);var p={};c(p,{DashboardVisualisationClass:()=>t,default:()=>l});module.exports=D(p);class t{constructor(s,n){this.initUnit=()=>{this.unit=this.columns.measures[0].unit?this.columns.measures[0].unit:void 0};this.definition=n,this.columns=n.columns,this.measures=this.columns.measures,this.keys=this.columns.keys,this.type=this.definition.type.split("-")[0],this.initUnit(),this.responseData=s}}var l=t;0&&(module.exports={DashboardVisualisationClass});
|
|
1
|
+
"use strict";var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(i,s)=>{for(var n in s)a(i,n,{get:s[n],enumerable:!0})},r=(i,s,n,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of h(s))!u.call(i,o)&&o!==n&&a(i,o,{get:()=>s[o],enumerable:!(e=m(s,o))||e.enumerable});return i};var D=i=>r(a({},"__esModule",{value:!0}),i);var p={};c(p,{DashboardVisualisationClass:()=>t,default:()=>l});module.exports=D(p);class t{constructor(s,n){this.initUnit=()=>{this.unit=this.columns.measures[0].unit?this.columns.measures[0].unit:void 0};this.definition=n,this.columns=n.columns,this.measures=this.columns.measures,this.keys=this.columns.keys||[],this.type=this.definition.type.split("-")[0],this.initUnit(),this.responseData=s}}var l=t;0&&(module.exports={DashboardVisualisationClass});
|
|
2
2
|
//# sourceMappingURL=DashboardVisualisation.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { components } from '../../../types/api'\nimport { DashboardDataResponse } from '../../../types/Metrics'\n\nclass DashboardVisualisationClass {\n responseData: DashboardDataResponse[]\n\n definition: components['schemas']['DashboardVisualisationDefinition']\n\n columns: components['schemas']['DashboardVisualisationColumnsDefinition']\n\n measures: components['schemas']['DashboardVisualisationColumnDefinition'][]\n\n keys: components['schemas']['DashboardVisualisationColumnDefinition'][]\n\n unit: components['schemas']['DashboardVisualisationColumnDefinition']['unit']\n\n type: components['schemas']['DashboardVisualisationDefinition']['type']\n\n constructor(\n responseData: DashboardDataResponse[],\n definition: components['schemas']['DashboardVisualisationDefinition'],\n ) {\n this.definition = definition\n this.columns = definition.columns\n this.measures = this.columns.measures\n this.keys = this.columns.keys\n this.type = this.definition.type.split('-')[0] as components['schemas']['DashboardVisualisationDefinition']['type']\n this.initUnit()\n this.responseData = responseData\n }\n\n initUnit = () => {\n // todo\n this.unit = this.columns.measures[0].unit ? this.columns.measures[0].unit : undefined\n }\n}\n\nexport { DashboardVisualisationClass }\nexport default DashboardVisualisationClass\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { components } from '../../../types/api'\nimport { DashboardDataResponse } from '../../../types/Metrics'\n\nclass DashboardVisualisationClass {\n responseData: DashboardDataResponse[]\n\n definition: components['schemas']['DashboardVisualisationDefinition']\n\n columns: components['schemas']['DashboardVisualisationColumnsDefinition']\n\n measures: components['schemas']['DashboardVisualisationColumnDefinition'][]\n\n keys: components['schemas']['DashboardVisualisationColumnDefinition'][]\n\n unit: components['schemas']['DashboardVisualisationColumnDefinition']['unit']\n\n type: components['schemas']['DashboardVisualisationDefinition']['type']\n\n constructor(\n responseData: DashboardDataResponse[],\n definition: components['schemas']['DashboardVisualisationDefinition'],\n ) {\n this.definition = definition\n this.columns = definition.columns\n this.measures = this.columns.measures\n this.keys = this.columns.keys || []\n this.type = this.definition.type.split('-')[0] as components['schemas']['DashboardVisualisationDefinition']['type']\n this.initUnit()\n this.responseData = responseData\n }\n\n initUnit = () => {\n // todo\n this.unit = this.columns.measures[0].unit ? this.columns.measures[0].unit : undefined\n }\n}\n\nexport { DashboardVisualisationClass }\nexport default DashboardVisualisationClass\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAIA,MAAME,CAA4B,CAehC,YACEG,EACAC,EACA,CAUF,cAAW,IAAM,CAEf,KAAK,KAAO,KAAK,QAAQ,SAAS,CAAC,EAAE,KAAO,KAAK,QAAQ,SAAS,CAAC,EAAE,KAAO,MAC9E,EAZE,KAAK,WAAaA,EAClB,KAAK,QAAUA,EAAW,QAC1B,KAAK,SAAW,KAAK,QAAQ,SAC7B,KAAK,KAAO,KAAK,QAAQ,MAAQ,CAAC,EAClC,KAAK,KAAO,KAAK,WAAW,KAAK,MAAM,GAAG,EAAE,CAAC,EAC7C,KAAK,SAAS,EACd,KAAK,aAAeD,CACtB,CAMF,CAGA,IAAOF,EAAQD",
|
|
6
6
|
"names": ["DashboardVisualisation_exports", "__export", "DashboardVisualisationClass", "DashboardVisualisation_default", "__toCommonJS", "responseData", "definition"]
|
|
7
7
|
}
|
|
@@ -24,7 +24,7 @@ class DashboardVisualisationClass {
|
|
|
24
24
|
this.definition = definition
|
|
25
25
|
this.columns = definition.columns
|
|
26
26
|
this.measures = this.columns.measures
|
|
27
|
-
this.keys = this.columns.keys
|
|
27
|
+
this.keys = this.columns.keys || []
|
|
28
28
|
this.type = this.definition.type.split('-')[0] as components['schemas']['DashboardVisualisationDefinition']['type']
|
|
29
29
|
this.initUnit()
|
|
30
30
|
this.responseData = responseData
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var o=Object.defineProperty;var
|
|
1
|
+
"use strict";var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})},b=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of l(t))!u.call(e,i)&&i!==r&&o(e,i,{get:()=>t[i],enumerable:!(s=d(t,i))||s.enumerable});return e};var m=e=>b(o({},"__esModule",{value:!0}),e);var D={};c(D,{DashboardVisualisationType:()=>n});module.exports=m(D);var n=(a=>(a.LIST="list",a.DONUT="doughnut",a.BAR="bar",a.LINE="line",a.MATRIX="matrix",a.MATRIX_TIMESERIES="matrix-timeseries",a.BAR_TIMESERIES="bar-timeseries",a.LINE_TIMESERIES="line-timeseries",a.SCORECARD="scorecard",a.SCORECARD_GROUP="scorecard-group",a))(n||{});0&&(module.exports={DashboardVisualisationType});
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_dashboards/dashboard-visualisation/types.ts"],
|
|
4
|
-
"sourcesContent": ["import { components } from '../../../types/api'\nimport { Scorecard, ScorecardGroup } from '../scorecard/types'\nimport { MatrixChartData } from '../../_charts/chart/heatmap/types'\nimport { ChartDetails } from '../../../types/Charts'\n\nexport interface DashboardSection {\n id: string\n title?: string\n description?: string\n visualisations?: DashboardVisualisation[]\n}\n\nexport interface DashboardVisualisation {\n id: string\n type: components['schemas']['DashboardVisualisationDefinition']['type']\n title?: string\n description?: string\n data:\n | Scorecard\n | Scorecard[]\n | ScorecardGroup[]\n | DashboardVisualisatonCardData\n | DashboardVisualisationTable\n | undefined\n}\n\nexport interface DashboardVisualisatonCardData {\n chart
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { components } from '../../../types/api'\nimport { Scorecard, ScorecardGroup } from '../scorecard/types'\nimport { MatrixChartData } from '../../_charts/chart/heatmap/types'\nimport { ChartDetails } from '../../../types/Charts'\n\nexport interface DashboardSection {\n id: string\n title?: string\n description?: string\n visualisations?: DashboardVisualisation[]\n}\n\nexport interface DashboardVisualisation {\n id: string\n type: components['schemas']['DashboardVisualisationDefinition']['type']\n title?: string | undefined\n description?: string | undefined\n data:\n | Scorecard\n | Scorecard[]\n | ScorecardGroup[]\n | DashboardVisualisatonCardData\n | DashboardVisualisationTable\n | undefined\n}\n\nexport interface DashboardVisualisatonCardData {\n chart?: DashboardVisualisationData | undefined\n table?: MoJTable | undefined\n details?: ChartDetails | undefined\n}\n\nexport interface DashboardVisualisationData {\n type: components['schemas']['DashboardVisualisationDefinition']['type']\n unit?: components['schemas']['DashboardVisualisationColumnDefinition']['unit']\n data: DashboardVisualisationDataValues\n timeseries?: boolean\n}\n\nexport interface DashboardVisualisationDataValues {\n labels?: string[]\n datasets: DashboardVisualisationDataSet[]\n axis?: 'x' | 'y'\n}\n\nexport interface DashboardVisualisationDataSet {\n label: string\n data: number[] | MatrixChartData[]\n total?: number\n}\n\nexport interface DashboardVisualisationTable {\n table: MoJTable\n ts?: string\n}\n\nexport interface MoJTable {\n head: MoJTableHead[]\n rows: MoJTableRow[][]\n}\n\nexport interface MoJTableRow {\n text?: string\n html?: string\n}\n\nexport interface MoJTableHead {\n text?: string\n html?: string\n}\n\nexport enum DashboardVisualisationType {\n LIST = 'list',\n DONUT = 'doughnut',\n BAR = 'bar',\n LINE = 'line',\n MATRIX = 'matrix',\n MATRIX_TIMESERIES = 'matrix-timeseries',\n BAR_TIMESERIES = 'bar-timeseries',\n LINE_TIMESERIES = 'line-timeseries',\n SCORECARD = 'scorecard',\n SCORECARD_GROUP = 'scorecard-group',\n}\n\nexport type DashboardVisualisationOptions = ListDashboardVisualisationOptions | BucketDashboardVisualisationOptions\n\nexport interface ListDashboardVisualisationOptions {\n showLatest?: boolean\n columnsAsList?: boolean\n}\n\nexport interface BucketDashboardVisualisationOptions {\n useRagColour?: boolean\n buckets?: DashboardVisualisationBucket[]\n baseColour?: string\n}\n\nexport interface DashboardVisualisationBucket {\n min?: number | undefined\n max?: number | undefined\n hexColour?: string | undefined\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAuEO,IAAKE,OACVA,EAAA,KAAO,OACPA,EAAA,MAAQ,WACRA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,kBAAoB,oBACpBA,EAAA,eAAiB,iBACjBA,EAAA,gBAAkB,kBAClBA,EAAA,UAAY,YACZA,EAAA,gBAAkB,kBAVRA,OAAA",
|
|
6
6
|
"names": ["types_exports", "__export", "DashboardVisualisationType", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -13,8 +13,8 @@ export interface DashboardSection {
|
|
|
13
13
|
export interface DashboardVisualisation {
|
|
14
14
|
id: string
|
|
15
15
|
type: components['schemas']['DashboardVisualisationDefinition']['type']
|
|
16
|
-
title?: string
|
|
17
|
-
description?: string
|
|
16
|
+
title?: string | undefined
|
|
17
|
+
description?: string | undefined
|
|
18
18
|
data:
|
|
19
19
|
| Scorecard
|
|
20
20
|
| Scorecard[]
|
|
@@ -25,9 +25,9 @@ export interface DashboardVisualisation {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export interface DashboardVisualisatonCardData {
|
|
28
|
-
chart
|
|
29
|
-
table?: MoJTable
|
|
30
|
-
details?: ChartDetails
|
|
28
|
+
chart?: DashboardVisualisationData | undefined
|
|
29
|
+
table?: MoJTable | undefined
|
|
30
|
+
details?: ChartDetails | undefined
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export interface DashboardVisualisationData {
|
|
@@ -96,7 +96,7 @@ export interface BucketDashboardVisualisationOptions {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
export interface DashboardVisualisationBucket {
|
|
99
|
-
min?: number
|
|
100
|
-
max?: number
|
|
101
|
-
hexColour?: string
|
|
99
|
+
min?: number | undefined
|
|
100
|
+
max?: number | undefined
|
|
101
|
+
hexColour?: string | undefined
|
|
102
102
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var V=Object.create;var g=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var T=(n,u)=>{for(var e in u)g(n,e,{get:u[e],enumerable:!0})},b=(n,u,e,t)=>{if(u&&typeof u=="object"||typeof u=="function")for(let s of B(u))!F.call(n,s)&&s!==e&&g(n,s,{get:()=>u[s],enumerable:!(t=k(u,s))||t.enumerable});return n};var f=(n,u,e)=>(e=n!=null?V($(n)):{},b(u||!n||!n.__esModule?g(e,"default",{value:n,enumerable:!0}):e,n)),N=n=>b(g({},"__esModule",{value:!0}),n);var x={};T(x,{ScorecardVisualisation:()=>D,default:()=>I});module.exports=N(x);var K=f(require("../dashboard-visualisation/DashboardVisualisation")),l=f(require("../../../utils/datasetHelper")),v=f(require("../../_charts/chart/Buckets"));class D extends K.default{constructor(e,t,s=!1){super(e,t);this.buckets=[];this.valueKey="";this.titleKey="";this.ragColours=["#cce2d8","#fff7bf","#f4cdc6"];this.initBuckets=(e,t)=>{(this.definition.options?.buckets||this.definition.options?.useRagColour)&&(this.bucketsHelper=new v.default(e,this.definition,t,!1,this.ragColours),this.buckets=new v.default(e,this.definition,t,!1,this.ragColours).getBuckets())};this.initGroupVars=()=>{this.groupKey=l.default.getGroupKey(this.
|
|
1
|
+
"use strict";var V=Object.create;var g=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var T=(n,u)=>{for(var e in u)g(n,e,{get:u[e],enumerable:!0})},b=(n,u,e,t)=>{if(u&&typeof u=="object"||typeof u=="function")for(let s of B(u))!F.call(n,s)&&s!==e&&g(n,s,{get:()=>u[s],enumerable:!(t=k(u,s))||t.enumerable});return n};var f=(n,u,e)=>(e=n!=null?V($(n)):{},b(u||!n||!n.__esModule?g(e,"default",{value:n,enumerable:!0}):e,n)),N=n=>b(g({},"__esModule",{value:!0}),n);var x={};T(x,{ScorecardVisualisation:()=>D,default:()=>I});module.exports=N(x);var K=f(require("../dashboard-visualisation/DashboardVisualisation")),l=f(require("../../../utils/datasetHelper")),v=f(require("../../_charts/chart/Buckets"));class D extends K.default{constructor(e,t,s=!1){super(e,t);this.buckets=[];this.valueKey="";this.titleKey="";this.ragColours=["#cce2d8","#fff7bf","#f4cdc6"];this.initBuckets=(e,t)=>{(this.definition.options?.buckets||this.definition.options?.useRagColour)&&(this.bucketsHelper=new v.default(e,this.definition,t,!1,this.ragColours),this.buckets=new v.default(e,this.definition,t,!1,this.ragColours).getBuckets())};this.initGroupVars=()=>{this.groupKey=l.default.getGroupKey(this.dataset.latest,this.keys),this.groupKeyId=this.groupKey?.id,this.groupKeyDisplay=this.groupKey?.display,this.valueColumn=this.measures.find(e=>e.displayValue),this.valueColumn&&(this.valueKey=this.valueColumn?.id,this.titleColumn=this.measures.find(e=>e.display||e.display===""),this.titleKey=this.titleColumn?.id||"")};this.getDataset=(e,t)=>{const s=l.default.getLastestDataset(t),r=l.default.getDatasetRows(e,s),i=r[0]?.ts?.raw,o=l.default.filterRowsByDisplayColumns(e,r,!0),a=l.default.getEarliestDataset(t),c=l.default.getDatasetRows(e,a),d=c[0]?.ts?.raw;return{earliest:l.default.filterRowsByDisplayColumns(e,c,!0),earliestTs:d,latest:o,latestTs:i}};this.setRagScore=(e,t)=>this.bucketsHelper?.getBucketForValue(e,t);this.createScorecardData=({title:e,value:t,rag:s,valueFor:r,valueFrom:i,prevVal:o,groupTitle:a})=>({id:this.definition.id,title:e,value:t,...!Number.isNaN(t)&&this.buckets.length&&this.bucketsHelper&&{rag:this.setRagScore(t,s)},valueFor:r,trend:this.createTrend(r,i,t,o),...a&&{group:a}});this.createTrend=(e,t,s,r)=>{let i;if(t!==e){const o=r?Number(s)-Number(r):0;i={direction:Math.sign(o),value:Math.abs(o),from:t}}return i};this.validateDefinition=()=>{const{id:e,type:t}=this.definition,s=[];if(this.group||(this.measures.length!==1?s.push(`Measures should only have 1 column defined. Found ${this.measures.length}`):this.titleColumn?this.valueKey||s.push('Missing ID in title measure. Expected measure to include "id: string" field'):s.push('No title column defined. Expected measure to include "display: string" field')),s.length){const r=`Validation: Visualisaton definition: ID: ${e}, type: ${t}, errors: ${s.join(",")}`;throw new Error(r)}};this.createScorecardGroupFromColumns=()=>{const{latest:e,earliest:t,latestTs:s,earliestTs:r}=this.dataset;return e.map((i,o)=>({title:this.createGroupTitle(i),scorecards:Object.keys(i).filter(a=>a!==this.groupKeyId).map(a=>{const d=this.measures.find(R=>R.id===a)?.display||a,p=i[a],{raw:h,rag:m}=p,y=Number(h),S=m!==void 0?Number(m):void 0;this.initBuckets([i],a);const C=`${s}`,w=`${r}`,G=t[o][a]?.raw;return this.createScorecardData({title:d,value:y,rag:S,prevVal:G,valueFor:C,valueFrom:w})})}))};this.createScorecardGroupFromList=()=>{const{latest:e,earliest:t}=this.dataset;return[{title:"",scorecards:e.map((s,r)=>{const i=this.getScorecardValues(s),o=t[r][this.valueKey].raw;return this.createScorecardData({...i,prevVal:o})})}]};this.createScorecardGroupFromListWithGroups=()=>{const{latest:e,earliest:t}=this.dataset;let s=l.default.groupRowsByKey(t,this.groupKeyId),r=l.default.groupRowsByKey(e,this.groupKeyId);return this.groupKeyId===this.titleKey&&(r=[r.flat()],s=[s.flat()]),r.map((o,a)=>({title:this.groupKeyDisplay?`By ${this.groupKeyDisplay}`:"",scorecards:o.map((c,d)=>{const p=this.getScorecardValues(c),m=s[a][d][this.valueKey]?.raw;return this.createScorecardData({...p,prevVal:m})})}))};this.getScorecardValues=e=>{const{latestTs:t,earliestTs:s}=this.dataset,r=`${this.titleColumn?.display} ${e[this.titleKey].raw}`,i=e[this.valueKey],{raw:o,rag:a}=i,c=Number(o),d=a!==void 0?Number(a):void 0;this.initBuckets([e],this.valueKey);const p=`${t}`,h=`${s}`;return{title:r,value:c,rag:d,valueFor:p,valueFrom:h}};this.buildScorecard=()=>{const{latest:e,earliest:t,latestTs:s,earliestTs:r}=this.dataset;return e.map((o,a)=>{const{raw:c,rag:d}=o[this.valueKey],p=t[a][this.valueKey].raw,h=`${s}`,m=`${r}`,y=this.titleColumn?.display;return this.createScorecardData({title:y||"",value:c||"",rag:d,prevVal:p,valueFor:h,valueFrom:m})})[0]};this.createGroupTitle=e=>{const t=this.groupKeyId?`${e[this.groupKeyId]?.raw}`:"";return this.groupKeyDisplay&&this.groupKeyDisplay.length?`${this.groupKeyDisplay}: ${t}`:t};this.buildGroup=()=>{let e;return this.valueColumn?this.groupKey?e=this.createScorecardGroupFromListWithGroups():e=this.createScorecardGroupFromList():e=this.createScorecardGroupFromColumns(),e};this.build=()=>(this.validateDefinition(),this.group?this.buildGroup():this.buildScorecard());this.group=s,this.dataset=this.getDataset(t,e),s?this.initGroupVars():(this.valueKey=this.measures[0].id,this.titleColumn={display:t.display||"",id:this.valueKey},this.initBuckets(e,this.valueKey))}}var I=D;0&&(module.exports={ScorecardVisualisation});
|
|
2
2
|
//# sourceMappingURL=Scorecard.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_dashboards/scorecard/Scorecard.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { DashboardDataResponse } from '../../../types/Metrics'\nimport DashboardVisualisationClass from '../dashboard-visualisation/DashboardVisualisation'\nimport { DashboardVisualisationBucket } from '../dashboard-visualisation/types'\nimport DatasetHelper from '../../../utils/datasetHelper'\nimport { CreateScorecardDataArgs, Scorecard, ScorecardDataset, ScorecardGroup, ScorecardTrend } from './types'\nimport Buckets from '../../_charts/chart/Buckets'\nimport { components } from '../../../types/api'\n\nclass ScorecardVisualisation extends DashboardVisualisationClass {\n private dataset: ScorecardDataset\n\n private groupKey: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private groupKeyId: string | undefined\n\n private groupKeyDisplay: string | undefined\n\n private bucketsHelper: Buckets | undefined\n\n private buckets: DashboardVisualisationBucket[] = []\n\n private valueColumn: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private valueKey = ''\n\n private titleColumn: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private titleKey = ''\n\n private group: boolean\n\n private ragColours: string[] = ['#cce2d8', '#fff7bf', '#f4cdc6']\n\n constructor(\n responseData: DashboardDataResponse[],\n definition: components['schemas']['DashboardVisualisationDefinition'],\n group = false,\n ) {\n super(responseData, definition)\n this.group = group\n this.dataset = this.getDataset(definition, responseData)\n\n if (group) {\n this.initGroupVars()\n } else {\n this.valueKey = this.measures[0].id\n this.titleColumn = { display: definition.display, id: this.valueKey }\n this.initBuckets(responseData, this.valueKey)\n }\n }\n\n private initBuckets = (responseData: DashboardDataResponse[], valueKey: string) => {\n if (this.definition.options?.buckets || this.definition.options?.useRagColour) {\n this.bucketsHelper = new Buckets(responseData, this.definition, valueKey, false, this.ragColours)\n this.buckets = new Buckets(responseData, this.definition, valueKey, false, this.ragColours).getBuckets()\n }\n }\n\n private initGroupVars = () => {\n this.groupKey = DatasetHelper.getGroupKey(this.keys, this.dataset.latest)\n this.groupKeyId = this.groupKey?.id\n this.groupKeyDisplay = this.groupKey?.display\n\n this.valueColumn = this.measures.find((col) => col.displayValue)\n if (this.valueColumn) {\n this.valueKey = this.valueColumn?.id\n this.titleColumn = this.measures.find((col) => {\n return col.display || col.display === ''\n })\n this.titleKey = this.titleColumn?.id || ''\n }\n }\n\n private getDataset = (\n scorecardDefinition: components['schemas']['DashboardVisualisationDefinition'],\n rawData: DashboardDataResponse[],\n ) => {\n const latestData = DatasetHelper.getLastestDataset(rawData)\n const latestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, latestData)\n const latestTs = latestDataSetRows[0]?.ts?.raw\n const latestFiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, latestDataSetRows, true)\n\n const earliestData = DatasetHelper.getEarliestDataset(rawData)\n const earliestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, earliestData)\n const earliestTs = earliestDataSetRows[0]?.ts?.raw\n const earliestfiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, earliestDataSetRows, true)\n\n return {\n earliest: earliestfiltered,\n earliestTs,\n latest: latestFiltered,\n latestTs,\n }\n }\n\n private setRagScore = (value: number, rag?: number) => {\n return this.bucketsHelper?.getBucketForValue(value, rag)\n }\n\n private createScorecardData = ({\n title,\n value,\n rag,\n valueFor,\n valueFrom,\n prevVal,\n groupTitle,\n }: CreateScorecardDataArgs): Scorecard => {\n return {\n id: this.definition.id,\n title,\n value,\n ...(!Number.isNaN(value) &&\n this.buckets.length &&\n this.bucketsHelper && { rag: this.setRagScore(<number>value, rag) }),\n valueFor,\n trend: this.createTrend(valueFor, valueFrom, value, prevVal),\n ...(groupTitle && {\n group: groupTitle,\n }),\n }\n }\n\n private createTrend = (\n valueFor: string,\n valueFrom: string,\n latestValue: string | number,\n earliestValue: string | number,\n ): ScorecardTrend | undefined => {\n let trendData\n\n if (valueFrom !== valueFor) {\n const value = +latestValue - +earliestValue\n const direction = Math.sign(value)\n trendData = {\n direction,\n value: Math.abs(value),\n from: valueFrom,\n }\n }\n\n return trendData\n }\n\n private validateDefinition = () => {\n const { id, type } = this.definition\n const errors = []\n if (!this.group) {\n if (this.measures.length !== 1) {\n errors.push(`Measures should only have 1 column defined. Found ${this.measures.length}`)\n } else if (!this.titleColumn) {\n errors.push(`No title column defined. Expected measure to include \"display: string\" field`)\n } else if (!this.valueKey) {\n errors.push(`Missing ID in title measure. Expected measure to include \"id: string\" field`)\n }\n }\n\n if (errors.length) {\n // Throw the error\n const message = `Validation: Visualisaton definition: ID: ${id}, type: ${type}, errors: ${errors.join(',')}`\n throw new Error(message)\n }\n }\n\n private createScorecardGroupFromColumns = () => {\n const { latest, earliest, latestTs, earliestTs } = this.dataset\n\n return latest.map((row, rowIndex) => {\n return {\n title: this.createGroupTitle(row),\n scorecards: Object.keys(row)\n .filter((colId) => colId !== this.groupKeyId)\n .map((colId) => {\n const measure = this.measures.find((m) => m.id === colId)\n const title = measure?.display || colId\n const rowCol = row[colId]\n const { raw, rag: ragScore } = rowCol\n const value = Number(raw)\n\n const rag = ragScore !== undefined ? Number(ragScore) : undefined\n this.initBuckets([row], colId)\n\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n\n const comparisonRow = earliest[rowIndex]\n const prevVal = comparisonRow[colId]?.raw\n\n return this.createScorecardData({\n title,\n value,\n rag,\n prevVal,\n valueFor,\n valueFrom,\n })\n }),\n }\n })\n }\n\n private createScorecardGroupFromList = (): ScorecardGroup[] => {\n const { latest, earliest } = this.dataset\n return [\n {\n title: '',\n scorecards: latest.map((row: DashboardDataResponse, index: number) => {\n const values = this.getScorecardValues(row)\n const prevVal = earliest[index][this.valueKey].raw\n return this.createScorecardData({\n ...values,\n prevVal,\n })\n }),\n },\n ]\n }\n\n private createScorecardGroupFromListWithGroups = () => {\n const { latest, earliest } = this.dataset\n\n let earliestGroupedByKey = DatasetHelper.groupRowsByKey(earliest, <string>this.groupKeyId)\n let latestGroupedByKey = DatasetHelper.groupRowsByKey(latest, <string>this.groupKeyId)\n if (this.groupKeyId === this.titleKey) {\n latestGroupedByKey = [latestGroupedByKey.flat()]\n earliestGroupedByKey = [earliestGroupedByKey.flat()]\n }\n\n const scorecardGroup = latestGroupedByKey.map((group, groupIndex) => {\n return {\n title: this.groupKeyDisplay ? `By ${this.groupKeyDisplay}` : '',\n scorecards: group.map((row, rowIndex) => {\n const values = this.getScorecardValues(row)\n const comparisonRow = earliestGroupedByKey[groupIndex][rowIndex]\n const prevVal = comparisonRow[this.valueKey]?.raw\n\n return this.createScorecardData({\n ...values,\n prevVal,\n })\n }),\n }\n })\n\n return scorecardGroup\n }\n\n private getScorecardValues = (row: DashboardDataResponse) => {\n const { latestTs, earliestTs } = this.dataset\n const title = `${this.titleColumn?.display} ${row[this.titleKey].raw}`\n const rowCol = row[this.valueKey]\n const { raw, rag: ragScore } = rowCol\n const value = Number(raw)\n const rag = ragScore !== undefined ? Number(ragScore) : undefined\n this.initBuckets([row], this.valueKey)\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n\n return {\n title,\n value,\n rag,\n valueFor,\n valueFrom,\n }\n }\n\n /**\n * Builds a single scorecard\n *\n * @return {Scorecard}\n */\n private buildScorecard = () => {\n const { latest, earliest, latestTs, earliestTs } = this.dataset\n const scorecordArr: Scorecard[] = latest.map((datasetRow: DashboardDataResponse, index: number) => {\n const { raw: value, rag } = datasetRow[this.valueKey]\n const prevVal = earliest[index][this.valueKey].raw\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n const title = this.titleColumn?.display\n\n return this.createScorecardData({\n title: title || '',\n value,\n rag,\n prevVal,\n valueFor,\n valueFrom,\n })\n })\n\n return scorecordArr[0]\n }\n\n private createGroupTitle = (row: DashboardDataResponse) => {\n const title = this.groupKeyId ? `${row[this.groupKeyId]?.raw}` : ''\n return this.groupKeyDisplay && this.groupKeyDisplay.length ? `${this.groupKeyDisplay}: ${title}` : title\n }\n\n private buildGroup = () => {\n let scorecardGroup: ScorecardGroup[]\n if (!this.valueColumn) {\n scorecardGroup = this.createScorecardGroupFromColumns()\n } else if (this.groupKey) {\n scorecardGroup = this.createScorecardGroupFromListWithGroups()\n } else {\n scorecardGroup = this.createScorecardGroupFromList()\n }\n return scorecardGroup\n }\n\n build = () => {\n this.validateDefinition()\n if (this.group) {\n return this.buildGroup()\n }\n return this.buildScorecard()\n }\n}\n\nexport { ScorecardVisualisation }\nexport default ScorecardVisualisation\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { DashboardDataResponse } from '../../../types/Metrics'\nimport DashboardVisualisationClass from '../dashboard-visualisation/DashboardVisualisation'\nimport { DashboardVisualisationBucket } from '../dashboard-visualisation/types'\nimport DatasetHelper from '../../../utils/datasetHelper'\nimport { CreateScorecardDataArgs, Scorecard, ScorecardDataset, ScorecardGroup, ScorecardTrend } from './types'\nimport Buckets from '../../_charts/chart/Buckets'\nimport { components } from '../../../types/api'\n\nclass ScorecardVisualisation extends DashboardVisualisationClass {\n private dataset: ScorecardDataset\n\n private groupKey: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private groupKeyId: string | undefined\n\n private groupKeyDisplay: string | undefined\n\n private bucketsHelper: Buckets | undefined\n\n private buckets: DashboardVisualisationBucket[] = []\n\n private valueColumn: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private valueKey = ''\n\n private titleColumn: components['schemas']['DashboardVisualisationColumnDefinition'] | undefined\n\n private titleKey = ''\n\n private group: boolean\n\n private ragColours: string[] = ['#cce2d8', '#fff7bf', '#f4cdc6']\n\n constructor(\n responseData: DashboardDataResponse[],\n definition: components['schemas']['DashboardVisualisationDefinition'],\n group = false,\n ) {\n super(responseData, definition)\n this.group = group\n this.dataset = this.getDataset(definition, responseData)\n\n if (group) {\n this.initGroupVars()\n } else {\n this.valueKey = this.measures[0].id\n this.titleColumn = { display: definition.display || '', id: this.valueKey }\n this.initBuckets(responseData, this.valueKey)\n }\n }\n\n private initBuckets = (responseData: DashboardDataResponse[], valueKey: string) => {\n if (this.definition.options?.buckets || this.definition.options?.useRagColour) {\n this.bucketsHelper = new Buckets(responseData, this.definition, valueKey, false, this.ragColours)\n this.buckets = new Buckets(responseData, this.definition, valueKey, false, this.ragColours).getBuckets()\n }\n }\n\n private initGroupVars = () => {\n this.groupKey = DatasetHelper.getGroupKey(this.dataset.latest, this.keys)\n this.groupKeyId = this.groupKey?.id\n this.groupKeyDisplay = this.groupKey?.display\n\n this.valueColumn = this.measures.find((col) => col.displayValue)\n if (this.valueColumn) {\n this.valueKey = this.valueColumn?.id\n this.titleColumn = this.measures.find((col) => {\n return col.display || col.display === ''\n })\n this.titleKey = this.titleColumn?.id || ''\n }\n }\n\n private getDataset = (\n scorecardDefinition: components['schemas']['DashboardVisualisationDefinition'],\n rawData: DashboardDataResponse[],\n ): ScorecardDataset => {\n const latestData = DatasetHelper.getLastestDataset(rawData)\n const latestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, latestData)\n const latestTs = latestDataSetRows[0]?.['ts']?.raw\n const latestFiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, latestDataSetRows, true)\n\n const earliestData = DatasetHelper.getEarliestDataset(rawData)\n const earliestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, earliestData)\n const earliestTs = earliestDataSetRows[0]?.['ts']?.raw\n const earliestfiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, earliestDataSetRows, true)\n\n return {\n earliest: earliestfiltered,\n earliestTs,\n latest: latestFiltered,\n latestTs,\n }\n }\n\n private setRagScore = (value: number, rag?: number) => {\n return this.bucketsHelper?.getBucketForValue(value, rag)\n }\n\n private createScorecardData = ({\n title,\n value,\n rag,\n valueFor,\n valueFrom,\n prevVal,\n groupTitle,\n }: CreateScorecardDataArgs): Scorecard => {\n return {\n id: this.definition.id,\n title,\n value,\n ...(!Number.isNaN(value) &&\n this.buckets.length &&\n this.bucketsHelper && { rag: this.setRagScore(<number>value, rag) }),\n valueFor,\n trend: this.createTrend(valueFor, valueFrom, value, prevVal),\n ...(groupTitle && {\n group: groupTitle,\n }),\n }\n }\n\n private createTrend = (\n valueFor: string,\n valueFrom: string,\n latestValue: string | number,\n earliestValue: string | number | null | undefined,\n ): ScorecardTrend | undefined => {\n let trendData\n\n if (valueFrom !== valueFor) {\n const value = earliestValue ? Number(latestValue) - Number(earliestValue) : 0\n const direction = Math.sign(value)\n trendData = {\n direction,\n value: Math.abs(value),\n from: valueFrom,\n }\n }\n\n return trendData\n }\n\n private validateDefinition = () => {\n const { id, type } = this.definition\n const errors = []\n if (!this.group) {\n if (this.measures.length !== 1) {\n errors.push(`Measures should only have 1 column defined. Found ${this.measures.length}`)\n } else if (!this.titleColumn) {\n errors.push(`No title column defined. Expected measure to include \"display: string\" field`)\n } else if (!this.valueKey) {\n errors.push(`Missing ID in title measure. Expected measure to include \"id: string\" field`)\n }\n }\n\n if (errors.length) {\n // Throw the error\n const message = `Validation: Visualisaton definition: ID: ${id}, type: ${type}, errors: ${errors.join(',')}`\n throw new Error(message)\n }\n }\n\n private createScorecardGroupFromColumns = () => {\n const { latest, earliest, latestTs, earliestTs } = this.dataset\n\n return latest.map((row, rowIndex) => {\n return {\n title: this.createGroupTitle(row),\n scorecards: Object.keys(row)\n .filter((colId) => colId !== this.groupKeyId)\n .map((colId) => {\n const measure = this.measures.find((m) => m.id === colId)\n const title = measure?.display || colId\n const rowCol = row[colId]\n const { raw, rag: ragScore } = rowCol\n const value = Number(raw)\n\n const rag = ragScore !== undefined ? Number(ragScore) : undefined\n this.initBuckets([row], colId)\n\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n\n const comparisonRow = earliest[rowIndex]\n const prevVal = comparisonRow[colId]?.raw\n\n return this.createScorecardData({\n title,\n value,\n rag,\n prevVal,\n valueFor,\n valueFrom,\n })\n }),\n }\n })\n }\n\n private createScorecardGroupFromList = (): ScorecardGroup[] => {\n const { latest, earliest } = this.dataset\n return [\n {\n title: '',\n scorecards: latest.map((row: DashboardDataResponse, index: number) => {\n const values = this.getScorecardValues(row)\n const prevVal = earliest[index][this.valueKey].raw\n return this.createScorecardData({\n ...values,\n prevVal,\n })\n }),\n },\n ]\n }\n\n private createScorecardGroupFromListWithGroups = () => {\n const { latest, earliest } = this.dataset\n\n let earliestGroupedByKey = DatasetHelper.groupRowsByKey(earliest, <string>this.groupKeyId)\n let latestGroupedByKey = DatasetHelper.groupRowsByKey(latest, <string>this.groupKeyId)\n if (this.groupKeyId === this.titleKey) {\n latestGroupedByKey = [latestGroupedByKey.flat()]\n earliestGroupedByKey = [earliestGroupedByKey.flat()]\n }\n\n const scorecardGroup = latestGroupedByKey.map((group, groupIndex) => {\n return {\n title: this.groupKeyDisplay ? `By ${this.groupKeyDisplay}` : '',\n scorecards: group.map((row, rowIndex) => {\n const values = this.getScorecardValues(row)\n const comparisonRow = earliestGroupedByKey[groupIndex][rowIndex]\n const prevVal = comparisonRow[this.valueKey]?.raw\n\n return this.createScorecardData({\n ...values,\n prevVal,\n })\n }),\n }\n })\n\n return scorecardGroup\n }\n\n private getScorecardValues = (row: DashboardDataResponse) => {\n const { latestTs, earliestTs } = this.dataset\n const title = `${this.titleColumn?.display} ${row[this.titleKey].raw}`\n const rowCol = row[this.valueKey]\n const { raw, rag: ragScore } = rowCol\n const value = Number(raw)\n const rag = ragScore !== undefined ? Number(ragScore) : undefined\n this.initBuckets([row], this.valueKey)\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n\n return {\n title,\n value,\n rag,\n valueFor,\n valueFrom,\n }\n }\n\n /**\n * Builds a single scorecard\n *\n * @return {Scorecard}\n */\n private buildScorecard = () => {\n const { latest, earliest, latestTs, earliestTs } = this.dataset\n const scorecordArr: Scorecard[] = latest.map((datasetRow: DashboardDataResponse, index: number) => {\n const { raw: value, rag } = datasetRow[this.valueKey]\n const prevVal = earliest[index][this.valueKey].raw\n const valueFor = `${latestTs}`\n const valueFrom = `${earliestTs}`\n const title = this.titleColumn?.display\n\n return this.createScorecardData({\n title: title || '',\n value: value || '',\n rag,\n prevVal,\n valueFor,\n valueFrom,\n })\n })\n\n return scorecordArr[0]\n }\n\n private createGroupTitle = (row: DashboardDataResponse) => {\n const title = this.groupKeyId ? `${row[this.groupKeyId]?.raw}` : ''\n return this.groupKeyDisplay && this.groupKeyDisplay.length ? `${this.groupKeyDisplay}: ${title}` : title\n }\n\n private buildGroup = () => {\n let scorecardGroup: ScorecardGroup[]\n if (!this.valueColumn) {\n scorecardGroup = this.createScorecardGroupFromColumns()\n } else if (this.groupKey) {\n scorecardGroup = this.createScorecardGroupFromListWithGroups()\n } else {\n scorecardGroup = this.createScorecardGroupFromList()\n }\n return scorecardGroup\n }\n\n build = () => {\n this.validateDefinition()\n if (this.group) {\n return this.buildGroup()\n }\n return this.buildScorecard()\n }\n}\n\nexport { ScorecardVisualisation }\nexport default ScorecardVisualisation\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Scorecard_exports", "__export", "ScorecardVisualisation", "Scorecard_default", "__toCommonJS", "import_DashboardVisualisation", "import_datasetHelper", "import_Buckets", "DashboardVisualisationClass", "responseData", "definition", "group", "valueKey", "Buckets", "DatasetHelper", "col", "scorecardDefinition", "rawData", "latestData", "latestDataSetRows", "latestTs", "latestFiltered", "earliestData", "earliestDataSetRows", "earliestTs", "value", "rag", "title", "valueFor", "valueFrom", "prevVal", "groupTitle", "latestValue", "earliestValue", "trendData", "id", "type", "errors", "message", "latest", "earliest", "row", "rowIndex", "colId", "m", "rowCol", "raw", "ragScore", "index", "values", "earliestGroupedByKey", "latestGroupedByKey", "groupIndex", "datasetRow", "scorecardGroup"]
|
|
7
7
|
}
|
|
@@ -45,7 +45,7 @@ class ScorecardVisualisation extends DashboardVisualisationClass {
|
|
|
45
45
|
this.initGroupVars()
|
|
46
46
|
} else {
|
|
47
47
|
this.valueKey = this.measures[0].id
|
|
48
|
-
this.titleColumn = { display: definition.display, id: this.valueKey }
|
|
48
|
+
this.titleColumn = { display: definition.display || '', id: this.valueKey }
|
|
49
49
|
this.initBuckets(responseData, this.valueKey)
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -58,7 +58,7 @@ class ScorecardVisualisation extends DashboardVisualisationClass {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
private initGroupVars = () => {
|
|
61
|
-
this.groupKey = DatasetHelper.getGroupKey(this.
|
|
61
|
+
this.groupKey = DatasetHelper.getGroupKey(this.dataset.latest, this.keys)
|
|
62
62
|
this.groupKeyId = this.groupKey?.id
|
|
63
63
|
this.groupKeyDisplay = this.groupKey?.display
|
|
64
64
|
|
|
@@ -75,15 +75,15 @@ class ScorecardVisualisation extends DashboardVisualisationClass {
|
|
|
75
75
|
private getDataset = (
|
|
76
76
|
scorecardDefinition: components['schemas']['DashboardVisualisationDefinition'],
|
|
77
77
|
rawData: DashboardDataResponse[],
|
|
78
|
-
) => {
|
|
78
|
+
): ScorecardDataset => {
|
|
79
79
|
const latestData = DatasetHelper.getLastestDataset(rawData)
|
|
80
80
|
const latestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, latestData)
|
|
81
|
-
const latestTs = latestDataSetRows[0]?.ts?.raw
|
|
81
|
+
const latestTs = latestDataSetRows[0]?.['ts']?.raw
|
|
82
82
|
const latestFiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, latestDataSetRows, true)
|
|
83
83
|
|
|
84
84
|
const earliestData = DatasetHelper.getEarliestDataset(rawData)
|
|
85
85
|
const earliestDataSetRows = DatasetHelper.getDatasetRows(scorecardDefinition, earliestData)
|
|
86
|
-
const earliestTs = earliestDataSetRows[0]?.ts?.raw
|
|
86
|
+
const earliestTs = earliestDataSetRows[0]?.['ts']?.raw
|
|
87
87
|
const earliestfiltered = DatasetHelper.filterRowsByDisplayColumns(scorecardDefinition, earliestDataSetRows, true)
|
|
88
88
|
|
|
89
89
|
return {
|
|
@@ -126,12 +126,12 @@ class ScorecardVisualisation extends DashboardVisualisationClass {
|
|
|
126
126
|
valueFor: string,
|
|
127
127
|
valueFrom: string,
|
|
128
128
|
latestValue: string | number,
|
|
129
|
-
earliestValue: string | number,
|
|
129
|
+
earliestValue: string | number | null | undefined,
|
|
130
130
|
): ScorecardTrend | undefined => {
|
|
131
131
|
let trendData
|
|
132
132
|
|
|
133
133
|
if (valueFrom !== valueFor) {
|
|
134
|
-
const value =
|
|
134
|
+
const value = earliestValue ? Number(latestValue) - Number(earliestValue) : 0
|
|
135
135
|
const direction = Math.sign(value)
|
|
136
136
|
trendData = {
|
|
137
137
|
direction,
|
|
@@ -282,7 +282,7 @@ class ScorecardVisualisation extends DashboardVisualisationClass {
|
|
|
282
282
|
|
|
283
283
|
return this.createScorecardData({
|
|
284
284
|
title: title || '',
|
|
285
|
-
value,
|
|
285
|
+
value: value || '',
|
|
286
286
|
rag,
|
|
287
287
|
prevVal,
|
|
288
288
|
valueFor,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
"use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(e,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of s(r))!d.call(e,n)&&n!==i&&t(e,n,{get:()=>r[n],enumerable:!(a=o(r,n))||a.enumerable});return e};var u=e=>c(t({},"__esModule",{value:!0}),e);var g={};module.exports=u(g);
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_dashboards/scorecard/types.ts"],
|
|
4
|
-
"sourcesContent": ["import { DashboardDataResponse } from '../../../types/Metrics'\n\nexport interface Scorecard {\n id: string\n title: string\n group?: string\n value: number | string\n trend?: ScorecardTrend\n link
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { DashboardDataResponse } from '../../../types/Metrics'\n\nexport interface Scorecard {\n id: string\n title: string\n group?: string\n value: number | string\n trend?: ScorecardTrend | undefined\n link?:\n | {\n href: '#'\n displayName: 'View breakdown'\n }\n | undefined\n valueFor?: string\n rag?: ScorecardRag | undefined\n}\n\nexport interface ScorecardSubGroup {\n name: string\n scorecards: Scorecard[]\n}\n\nexport interface ScorecardGroup {\n title?: string\n description?: string\n scorecards: Scorecard[]\n}\n\nexport interface ScorecardTrend {\n direction: number\n value: number\n from: string\n}\n\nexport interface ScorecardRag {\n score: number\n colour: string\n}\n\nexport interface ScorecardDataset {\n earliest: DashboardDataResponse[]\n earliestTs?: string | number | null | undefined\n latest: DashboardDataResponse[]\n latestTs?: string | number | null | undefined\n}\n\nexport interface CreateScorecardDataArgs {\n title: string\n value: string | number\n rag?: number | undefined\n valueFor: string\n valueFrom: string\n prevVal: string | number | null | undefined\n groupTitle?: string\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -5,13 +5,15 @@ export interface Scorecard {
|
|
|
5
5
|
title: string
|
|
6
6
|
group?: string
|
|
7
7
|
value: number | string
|
|
8
|
-
trend?: ScorecardTrend
|
|
9
|
-
link?:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
trend?: ScorecardTrend | undefined
|
|
9
|
+
link?:
|
|
10
|
+
| {
|
|
11
|
+
href: '#'
|
|
12
|
+
displayName: 'View breakdown'
|
|
13
|
+
}
|
|
14
|
+
| undefined
|
|
13
15
|
valueFor?: string
|
|
14
|
-
rag?: ScorecardRag
|
|
16
|
+
rag?: ScorecardRag | undefined
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
export interface ScorecardSubGroup {
|
|
@@ -38,17 +40,17 @@ export interface ScorecardRag {
|
|
|
38
40
|
|
|
39
41
|
export interface ScorecardDataset {
|
|
40
42
|
earliest: DashboardDataResponse[]
|
|
41
|
-
earliestTs
|
|
43
|
+
earliestTs?: string | number | null | undefined
|
|
42
44
|
latest: DashboardDataResponse[]
|
|
43
|
-
latestTs
|
|
45
|
+
latestTs?: string | number | null | undefined
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
export interface CreateScorecardDataArgs {
|
|
47
49
|
title: string
|
|
48
50
|
value: string | number
|
|
49
|
-
rag?: number
|
|
51
|
+
rag?: number | undefined
|
|
50
52
|
valueFor: string
|
|
51
53
|
valueFrom: string
|
|
52
|
-
prevVal: string | number
|
|
54
|
+
prevVal: string | number | null | undefined
|
|
53
55
|
groupTitle?: string
|
|
54
56
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var i=(o,c)=>{for(var e in c)d(o,e,{get:c[e],enumerable:!0})},l=(o,c,e,t)=>{if(c&&typeof c=="object"||typeof c=="function")for(let r of p(c))!h.call(o,r)&&r!==e&&d(o,r,{get:()=>c[r],enumerable:!(t=u(c,r))||t.enumerable});return o};var m=o=>l(d({},"__esModule",{value:!0}),o);var f={};i(f,{default:()=>b,mergeScorecardsIntoGroup:()=>s});module.exports=m(f);var n=require("../dashboard-visualisation/types");const s=o=>(o.reduce((e,t,r)=>(t.type===n.DashboardVisualisationType.SCORECARD&&e.push(r),e),[]).reduce((e,t)=>{const r=e[e.length-1];return(!r||r[r.length-1]!==t-1)&&e.push([]),e[e.length-1].push(t),e},[]).reverse().forEach(e=>{const t=e[0],r=e.map(a=>o[a].data).filter(a=>!!a);for(;e.length;){const a=e.pop();a!==void 0&&o.splice(a,1)}r.length&&o.splice(t,0,{id:`${t}`,type:n.DashboardVisualisationType.SCORECARD_GROUP,data:[{scorecards:r}]})}),o);var b={mergeScorecardsIntoGroup:s};0&&(module.exports={mergeScorecardsIntoGroup});
|
|
1
|
+
"use strict";var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var i=(o,c)=>{for(var e in c)d(o,e,{get:c[e],enumerable:!0})},l=(o,c,e,t)=>{if(c&&typeof c=="object"||typeof c=="function")for(let r of p(c))!h.call(o,r)&&r!==e&&d(o,r,{get:()=>c[r],enumerable:!(t=u(c,r))||t.enumerable});return o};var m=o=>l(d({},"__esModule",{value:!0}),o);var f={};i(f,{default:()=>b,mergeScorecardsIntoGroup:()=>s});module.exports=m(f);var n=require("../dashboard-visualisation/types");const s=o=>(o.reduce((e,t,r)=>(t.type===n.DashboardVisualisationType.SCORECARD&&e.push(r),e),[]).reduce((e,t)=>{const r=e[e.length-1];return(!r||r[r.length-1]!==t-1)&&e.push([]),e[e.length-1].push(t),e},[]).reverse().forEach(e=>{const t=e[0],r=e.map(a=>o[a].data).filter(a=>!!a);for(;e.length;){const a=e.pop();a!==void 0&&o.splice(a,1)}r.length&&o.splice(t,0,{id:`${t}`,type:n.DashboardVisualisationType.SCORECARD_GROUP,data:[{scorecards:r}]})}),o);var b={mergeScorecardsIntoGroup:s};0&&(module.exports={mergeScorecardsIntoGroup});
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_dashboards/scorecard/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { DashboardVisualisation, DashboardVisualisationType } from '../dashboard-visualisation/types'\nimport { Scorecard } from './types'\n\nexport const mergeScorecardsIntoGroup = (visualisations: DashboardVisualisation[]) => {\n const groupedScorecardIndexes: number[][] = visualisations\n // get scorecard indexes\n .reduce((acc: number[], vis: DashboardVisualisation, i: number) => {\n if (vis.type === DashboardVisualisationType.SCORECARD) acc.push(i)\n return acc\n }, [])\n // group adjacent indexes\n .reduce((r: number[][], n) => {\n const lastSubArray = r[r.length - 1]\n if (!lastSubArray || lastSubArray[lastSubArray.length - 1] !== n - 1) r.push([])\n r[r.length - 1].push(n)\n return r\n }, [])\n\n groupedScorecardIndexes.reverse().forEach((group: number[]) => {\n const spliceAtIndex = group[0]\n const scorecardGroup: Scorecard[] = group\n .map((scIndex: number) => {\n return visualisations[scIndex].data as Scorecard\n })\n .filter((scorecard: Scorecard) => !!scorecard)\n\n while (group.length) {\n const i = group.pop()\n if (i !== undefined) visualisations.splice(i, 1)\n }\n\n if (scorecardGroup.length) {\n visualisations.splice(spliceAtIndex, 0, {\n id: `${spliceAtIndex}`,\n type: DashboardVisualisationType.SCORECARD_GROUP,\n data: [{ scorecards: scorecardGroup }],\n })\n }\n })\n\n return visualisations\n}\n\nexport default {\n mergeScorecardsIntoGroup,\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,6BAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAmE,4CAG5D,MAAMF,EAA4BG,IACKA,EAEzC,OAAO,CAACC,EAAeC,EAA6BC,KAC/CD,EAAI,OAAS,6BAA2B,WAAWD,EAAI,KAAKE,CAAC,EAC1DF,GACN,CAAC,CAAC,EAEJ,OAAO,CAACG,EAAeC,IAAM,CAC5B,MAAMC,EAAeF,EAAEA,EAAE,OAAS,CAAC,EACnC,OAAI,CAACE,GAAgBA,EAAaA,EAAa,OAAS,CAAC,IAAMD,EAAI,IAAGD,EAAE,KAAK,CAAC,CAAC,EAC/EA,EAAEA,EAAE,OAAS,CAAC,EAAE,KAAKC,CAAC,EACfD,CACT,EAAG,CAAC,CAAC,EAEiB,QAAQ,EAAE,QAASG,GAAoB,CAC7D,MAAMC,EAAgBD,EAAM,CAAC,EACvBE,EAA8BF,EACjC,IAAKG,GACGV,EAAeU,CAAO,EAAE,IAChC,EACA,OAAQC,GAAyB,CAAC,CAACA,CAAS,EAE/C,KAAOJ,EAAM,QAAQ,CACnB,MAAMJ,EAAII,EAAM,IAAI,EAChBJ,IAAM,QAAWH,EAAe,OAAOG,EAAG,CAAC,CACjD,CAEIM,EAAe,QACjBT,EAAe,OAAOQ,EAAe,EAAG,CACtC,GAAI,GAAGA,CAAa,GACpB,KAAM,6BAA2B,gBACjC,KAAM,CAAC,CAAE,WAAYC,CAAe,CAAC,CACvC,CAAC,CAEL,CAAC,EAEMT,GAGT,IAAOJ,EAAQ,CACb,yBAAAC,CACF",
|
|
6
6
|
"names": ["utils_exports", "__export", "utils_default", "mergeScorecardsIntoGroup", "__toCommonJS", "import_types", "visualisations", "acc", "vis", "i", "r", "n", "lastSubArray", "group", "spliceAtIndex", "scorecardGroup", "scIndex", "scorecard"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var u=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var D=(e,a)=>{for(var o in a)u(e,o,{get:a[o],enumerable:!0})},s=(e,a,o,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of d(a))!m.call(e,n)&&n!==o&&u(e,n,{get:()=>a[n],enumerable:!(c=R(a,n))||c.enumerable});return e};var x=e=>s(u({},"__esModule",{value:!0}),e);var l={};D(l,{FilterType:()=>g});module.exports=x(l);var g=(t=>(t.radio="Radio",t.dateRange="DateRange",t.granularDateRange="GranularDateRange",t.date="Date",t.select="Select",t.autocomplete="Autocomplete",t.text="Text",t.multiselect="Multiselect",t))(g||{});0&&(module.exports={FilterType});
|
|
1
|
+
"use strict";var u=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var D=(e,a)=>{for(var o in a)u(e,o,{get:a[o],enumerable:!0})},s=(e,a,o,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of d(a))!m.call(e,n)&&n!==o&&u(e,n,{get:()=>a[n],enumerable:!(c=R(a,n))||c.enumerable});return e};var x=e=>s(u({},"__esModule",{value:!0}),e);var l={};D(l,{FilterType:()=>g});module.exports=x(l);var g=(t=>(t.radio="Radio",t.dateRange="DateRange",t.granularDateRange="GranularDateRange",t.date="Date",t.select="Select",t.autocomplete="Autocomplete",t.text="Text",t.multiselect="Multiselect",t))(g||{});0&&(module.exports={FilterType});
|
|
2
2
|
//# sourceMappingURL=enum.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_filters/filter-input/enum.ts"],
|
|
4
4
|
"sourcesContent": ["// eslint-disable-next-line import/prefer-default-export\nexport enum FilterType {\n radio = 'Radio',\n dateRange = 'DateRange',\n granularDateRange = 'GranularDateRange',\n date = 'Date',\n select = 'Select',\n autocomplete = 'Autocomplete',\n text = 'Text',\n multiselect = 'Multiselect',\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GACO,IAAKE,OACVA,EAAA,MAAQ,QACRA,EAAA,UAAY,YACZA,EAAA,kBAAoB,oBACpBA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,aAAe,eACfA,EAAA,KAAO,OACPA,EAAA,YAAc,cARJA,OAAA",
|
|
6
6
|
"names": ["enum_exports", "__export", "FilterType", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(r,t)=>{for(var i in t)o(r,i,{get:t[i],enumerable:!0})},m=(r,t,i,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of d(t))!l.call(r,e)&&e!==i&&o(r,e,{get:()=>t[e],enumerable:!(u=a(t,e))||u.enumerable});return r};var A=r=>m(o({},"__esModule",{value:!0}),r);var f={};n(f,{addRequiredAttributeToAll:()=>p,default:()=>b});module.exports=A(f);const p=r=>r.map(t=>({...t,attributes:{required:!0}}));var b=p;0&&(module.exports={addRequiredAttributeToAll});
|
|
1
|
+
"use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(r,t)=>{for(var i in t)o(r,i,{get:t[i],enumerable:!0})},m=(r,t,i,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of d(t))!l.call(r,e)&&e!==i&&o(r,e,{get:()=>t[e],enumerable:!(u=a(t,e))||u.enumerable});return r};var A=r=>m(o({},"__esModule",{value:!0}),r);var f={};n(f,{addRequiredAttributeToAll:()=>p,default:()=>b});module.exports=A(f);const p=r=>r.map(t=>({...t,attributes:{required:!0}}));var b=p;0&&(module.exports={addRequiredAttributeToAll});
|
|
2
2
|
//# sourceMappingURL=filters.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_filters/filter-input/filters.ts"],
|
|
4
4
|
"sourcesContent": ["import { FilterOption } from './types'\n\nexport const addRequiredAttributeToAll = (items: Array<FilterOption>) => {\n return items.map((i) => ({\n ...i,\n attributes: {\n required: true,\n },\n }))\n}\n\nexport default addRequiredAttributeToAll\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEO,MAAME,EAA6BG,GACjCA,EAAM,IAAKC,IAAO,CACvB,GAAGA,EACH,WAAY,CACV,SAAU,EACZ,CACF,EAAE,EAGJ,IAAOH,EAAQD",
|
|
6
6
|
"names": ["filters_exports", "__export", "addRequiredAttributeToAll", "filters_default", "__toCommonJS", "items", "i"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var p=(t,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!o.call(t,r)&&r!==a&&n(t,r,{get:()=>e[r],enumerable:!(i=l(e,r))||i.enumerable});return t};var g=t=>p(n({},"__esModule",{value:!0}),t);var c={};module.exports=g(c);
|
|
1
|
+
"use strict";var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var p=(t,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!o.call(t,r)&&r!==a&&n(t,r,{get:()=>e[r],enumerable:!(i=l(e,r))||i.enumerable});return t};var g=t=>p(n({},"__esModule",{value:!0}),t);var c={};module.exports=g(c);
|
|
2
2
|
//# sourceMappingURL=types.d.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_filters/filter-input/types.d.ts"],
|
|
4
4
|
"sourcesContent": ["import { FilterType } from './enum'\n\nexport interface FilterOption {\n value: string\n text: string\n disabled?: boolean\n selected?: boolean\n}\n\nexport type FilterValue = GenericFilterValue | DateFilterValue\n\nexport interface GenericFilterValue {\n text: string\n name: string\n type: FilterType\n value?: string\n options?: Array<FilterOption>\n minimumLength?: number\n dynamicResourceEndpoint?: string\n mandatory?: boolean\n}\n\nexport interface DateFilterValue extends GenericFilterValue {\n type: FilterType.dateRange\n value?: DateRange\n min?: string\n max?: string\n}\n\nexport interface SelectedFilter {\n text: string\n href: string\n classes: string\n}\n\nexport interface DateRange {\n start: string\n end: string\n}\n\nexport interface FilterOptions {\n filters: Array<FilterValue>\n selectedFilters: Array<SelectedFilter>\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_d_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var W=Object.create;var V=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var
|
|
1
|
+
"use strict";var W=Object.create;var V=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var T=(t,l)=>{for(var s in l)V(t,s,{get:l[s],enumerable:!0})},L=(t,l,s,e)=>{if(l&&typeof l=="object"||typeof l=="function")for(let a of G(l))!P.call(t,a)&&a!==s&&V(t,a,{get:()=>l[a],enumerable:!(e=j(l,a))||e.enumerable});return t};var b=(t,l,s)=>(s=t!=null?W(_(t)):{},L(l||!t||!t.__esModule?V(s,"default",{value:t,enumerable:!0}):s,t)),X=t=>L(V({},"__esModule",{value:!0}),t);var J={};T(J,{default:()=>q,disabledDate:()=>S,disabledDateRange:()=>w,getMultiselectValues:()=>F,getOptionsValue:()=>C,getQuerySummary:()=>M,getSelectedDate:()=>k,getSelectedFilters:()=>x,setDateDisplayFormat:()=>d,setMinMaxContraints:()=>v,setSelectedDateRange:()=>D,setSelectedGranularDateRange:()=>R});module.exports=X(J);var u=require("../filter-input/enum"),h=b(require("../../_inputs/date-range/utils")),O=b(require("../../../utils/DateMapper/DateMapper"));const x=(t,l)=>{const s=[void 0,null,""];return t.filter(e=>e.value&&Object.prototype.hasOwnProperty.call(e.value,"start")&&!s.includes(e.value.start)||e.value&&Object.prototype.hasOwnProperty.call(e.value,"end")&&!s.includes(e.value.end)||e.value&&!Object.prototype.hasOwnProperty.call(e.value,"start")&&!Object.prototype.hasOwnProperty.call(e.value,"end")).filter(e=>e.value&&e.value!=="no-filter").map(e=>{let a=`${e.value}`,n=[`"${a}"`],o=[`${l}${e.name}`],r="",i=!1,c;e.type.toLowerCase()===u.FilterType.dateRange.toLowerCase()&&({key:o,value:n,disabled:i,cantRemoveClass:r,displayValue:a,constraints:c}=D(e,l)),e.type.toLowerCase()===u.FilterType.granularDateRange.toLowerCase()&&({key:o,value:n,disabled:i,cantRemoveClass:r,displayValue:a,constraints:c}=R(e,l)),e.type.toLowerCase()===u.FilterType.date.toLowerCase()&&({key:o,value:n,disabled:i,cantRemoveClass:r,displayValue:a,constraints:c}=k(e,l)),(e.type.toLowerCase()===u.FilterType.autocomplete.toLowerCase()||e.type.toLowerCase()===u.FilterType.radio.toLowerCase()||e.type.toLowerCase()===u.FilterType.select.toLowerCase())&&({key:o,value:n,displayValue:a}=C(e,l)),e.type.toLowerCase()===u.FilterType.multiselect.toLowerCase()&&({key:o,value:n,displayValue:a}=F(e,l));let p;return i?p=`Selected Filter: ${e.text}: ${a}. This filter cant be removed. Update the filter input to change the value`:p=`Selected Filter: ${e.text}: ${a}. Click to clear this filter`,{text:e.text,displayValue:a,key:JSON.stringify(o),value:n,disabled:i,constraints:c,classes:`interactive-remove-filter-button${r}`,attributes:{"aria-label":p}}})},d=t=>{const l=new O.default;return l.getDateType(t)!=="none"&&(t=l.toDateString(t,"local-date")||t),t},D=(t,l)=>{const s=t.value.start||"Open start",e=t.value.end||"Open end",a=[`"${s}"`,`"${e}"`],n=`${l}${t.name}`,o=[`${n}.start`,`${n}.end`],r=d(s),i=d(e);let c=`${r} - ${i}`;const{relative:p}=t.value;p&&(o.push(`${n}.relative-duration`),a.push(`"${p}"`),c=h.default.mapRelativeValue(p));const g=v(t,o),{disabled:y,cantRemoveClass:m,displayValue:$}=w(t,a,c);return{key:o,value:a,displayValue:$||c,disabled:y,cantRemoveClass:m,constraints:g}},v=(t,l,s=!1)=>{const e=[],{min:a,max:n}=t;return a&&e.push({key:l[0],value:a}),n&&!s&&e.push({key:l[1],value:n}),e.length?e:void 0},C=(t,l)=>{const s=t.options.find(o=>o.value===t.value),e=s?s.text:"",a=[`${l}${t.name}`],n=[`"${t.value}"`];return{key:a,value:n,displayValue:e}},F=(t,l)=>{const e=t.value.split(",");let a=e.map(r=>{const i=t.options.find(c=>c.value===r);return i?i.text:""}).filter((r,i)=>i<3).join(", ");a=e.length>3?`${a} + ${e.length-3} more`:a;const n=e.map(r=>`"${r}"`);return{key:[`${l}${t.name}`],value:n,displayValue:a}},R=(t,l)=>{const s=t.value.start||"Open start",e=t.value.end||"Open end",a=t.value.quickFilter?.value,n=t.value.quickFilter?.display,o=t.value.granularity.value,r=`${l}${t.name}`,i=[`${r}.start`,`${r}.end`,`${r}.granularity`],c=[`"${s}"`,`"${e}"`,`"${o}"`],p=v(t,i);let g;const y=t.value.granularity.display;if(a&&a!=="none"&&n)i.push(`${r}.quick-filter`),c.push(`"${a}"`),g=`${n}: ${y}`;else{const E=d(s),U=d(e);g=`${E} - ${U}: ${y}`}const{disabled:m,cantRemoveClass:$,displayValue:A}=w(t,c,g);return{key:i,value:c,displayValue:A||g,disabled:m,constraints:p,cantRemoveClass:$}},k=(t,l)=>{const s=[`${l}${t.name}`],e=[`"${t.value}"`],a=d(t.value),n=v(t,s,!0),{disabled:o,cantRemoveClass:r,displayValue:i}=S(t,e,a);return{key:s,value:e,displayValue:i||a,disabled:o,constraints:n,cantRemoveClass:r}},w=(t,l,s)=>{const{min:e,max:a}=t;return e&&l[0].includes(e)&&a&&l[1].includes(a)?{disabled:!0,cantRemoveClass:" interactive-remove-filter-button--disabled",displayValue:`${s} (maximum range)`}:{disabled:!1,cantRemoveClass:"",displayValue:s}},S=(t,l,s)=>{const{min:e,max:a}=t;if(e&&l[0].includes(e)||a&&l[0].includes(a)){let n;return e&&l[0].includes(e)&&(n="min"),a&&l[0].includes(a)&&(n="max"),{disabled:!0,cantRemoveClass:" interactive-remove-filter-button--disabled",displayValue:`${s} (${n} date)`}}return{disabled:!1,cantRemoveClass:"",displayValue:s}},M=(t,l)=>{const s="filters.";return l.filter(e=>t[`filters.${e.name}`]||t[`filters.${e.name}.start`]||t[`filters.${e.name}.end`]).map(e=>{let{value:a}=e;return e.type.toLowerCase()===u.FilterType.multiselect.toLowerCase()&&(a=F(e,"filters").displayValue),(e.type.toLowerCase()===u.FilterType.autocomplete.toLowerCase()||e.type.toLowerCase()===u.FilterType.radio.toLowerCase()||e.type.toLowerCase()===u.FilterType.select.toLowerCase())&&(a=C(e,s).displayValue),e.type.toLowerCase()===u.FilterType.date.toLowerCase()&&(a=d(e.value)),e.type.toLowerCase()===u.FilterType.dateRange.toLowerCase()&&(a=D(e,s).displayValue),e.type.toLowerCase()===u.FilterType.granularDateRange.toLowerCase()&&(a=R(e,s).displayValue),{id:e.name,name:e.text,value:a}})};var q={getSelectedFilters:x,getQuerySummary:M};0&&(module.exports={disabledDate,disabledDateRange,getMultiselectValues,getOptionsValue,getQuerySummary,getSelectedDate,getSelectedFilters,setDateDisplayFormat,setMinMaxContraints,setSelectedDateRange,setSelectedGranularDateRange});
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|