@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.0 → 4.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/DprClientClass.js +43 -0
- package/dpr/DprClientClass.js.map +7 -0
- package/dpr/{DprClientClass.mjs → DprClientClass.ts} +1 -0
- package/dpr/DprFormValidationClass.js +157 -0
- package/dpr/DprFormValidationClass.js.map +7 -0
- package/dpr/{DprFormValidationClass.mjs → DprFormValidationClass.ts} +2 -1
- package/dpr/DprGenericFormClass.js +66 -0
- package/dpr/DprGenericFormClass.js.map +7 -0
- package/dpr/{DprGenericFormClass.mjs → DprGenericFormClass.ts} +2 -1
- package/dpr/DprLoadingHelper.js +51 -0
- package/dpr/DprLoadingHelper.js.map +7 -0
- package/dpr/{DprLoadingHelper.mjs → DprLoadingHelper.ts} +1 -0
- package/dpr/DprPollingStatusClass.js +79 -0
- package/dpr/DprPollingStatusClass.js.map +7 -0
- package/dpr/{DprPollingStatusClass.mjs → DprPollingStatusClass.ts} +2 -1
- package/dpr/DprQueryParamClass.js +231 -0
- package/dpr/DprQueryParamClass.js.map +7 -0
- package/dpr/{DprQueryParamClass.mjs → DprQueryParamClass.ts} +2 -1
- package/dpr/DprSyncLoading.js +44 -0
- package/dpr/DprSyncLoading.js.map +7 -0
- package/dpr/{DprSyncLoading.mjs → DprSyncLoading.ts} +2 -1
- package/dpr/all.js +111 -0
- package/dpr/all.js.map +7 -0
- package/dpr/{all.mjs → all.ts} +29 -28
- package/dpr/assets/app.js +1 -1
- package/dpr/assets/app.js.map +2 -2
- package/dpr/components/_async/async-filters-form/clientClass.js +76 -0
- package/dpr/components/_async/async-filters-form/clientClass.js.map +7 -0
- package/dpr/components/_async/async-filters-form/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +1 -1
- package/dpr/components/_async/async-polling/clientClass.js +78 -0
- package/dpr/components/_async/async-polling/clientClass.js.map +7 -0
- package/dpr/components/_async/async-polling/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js +94 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js +70 -0
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filters/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-search/clientClass.js +106 -0
- package/dpr/components/_catalogue/catalogue-search/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-search/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js +135 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/Chart.js.map +1 -1
- package/dpr/components/_charts/chart/ChartColours.js.map +1 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +1 -1
- package/dpr/components/_charts/chart/bar/BarChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar/clientClass.js +98 -0
- package/dpr/components/_charts/chart/bar/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/bar/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/bar/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar/validate.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/Buckets.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/types.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/validate.js.map +1 -1
- package/dpr/components/_charts/chart/chart-config.js.map +1 -1
- package/dpr/components/_charts/chart/clientClass.js +136 -0
- package/dpr/components/_charts/chart/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/clientClass.js +170 -0
- package/dpr/components/_charts/chart/doughnut/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/doughnut/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/types.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/validate.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/clientClass.js +118 -0
- package/dpr/components/_charts/chart/heatmap/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/heatmap/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line/LineChart.js.map +1 -1
- package/dpr/components/_charts/chart/line/clientClass.js +93 -0
- package/dpr/components/_charts/chart/line/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/line/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/line/types.js.map +1 -1
- package/dpr/components/_charts/chart/line/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/types.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/clientClass.js +50 -0
- package/dpr/components/_dashboards/scorecard/clientClass.js.map +7 -0
- package/dpr/components/_dashboards/scorecard/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/validate.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/validate.js.map +1 -1
- package/dpr/components/_filters/filter-input/enum.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.js.map +1 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
- package/dpr/components/_filters/filters-form/clientClass.js +104 -0
- package/dpr/components/_filters/filters-form/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-interactive/clientClass.js +55 -0
- package/dpr/components/_filters/filters-interactive/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-interactive/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-selected/clientClass.js +396 -0
- package/dpr/components/_filters/filters-selected/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-selected/{clientClass.mjs → clientClass.ts} +7 -7
- package/dpr/components/_filters/filters-selected/utils.js.map +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
- package/dpr/components/_filters/types.d.js.map +1 -1
- package/dpr/components/_filters/utils.js.map +1 -1
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js +153 -0
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/autocomplete-text-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-input/clientClass.js +109 -0
- package/dpr/components/_inputs/date-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-range/clientClass.js +206 -0
- package/dpr/components/_inputs/date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-range/types.js.map +1 -1
- package/dpr/components/_inputs/date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/clientClass.js +245 -0
- package/dpr/components/_inputs/granular-date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/granular-date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +1 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/report-actions/clientClass.js +103 -0
- package/dpr/components/_reports/report-actions/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-actions/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
- package/dpr/components/_reports/report-actions/utils.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/clientClass.js +76 -0
- package/dpr/components/_reports/report-columns-form/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-columns-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +1 -1
- package/dpr/components/_reports/report-data-table/clientClass.js +80 -0
- package/dpr/components/_reports/report-data-table/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-data-table/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +1 -1
- package/dpr/components/_reports/report-download-message/clientClass.js +42 -0
- package/dpr/components/_reports/report-download-message/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-download-message/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/clientClass.js +61 -0
- package/dpr/components/_reports/report-pagination/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-pagination/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +1 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
- package/dpr/components/_reports/report-totals/utils.js.map +1 -1
- package/dpr/components/_sync/sync-load/view.njk +1 -1
- package/dpr/components/bookmark-toggle/clientClass.js +111 -0
- package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
- package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/clientClass.js +53 -0
- package/dpr/components/card-group/clientClass.js.map +7 -0
- package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/utils.js.map +1 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
- package/dpr/components/report-list/types.d.js.map +1 -1
- package/dpr/components/report-list/utils.js.map +1 -1
- package/dpr/components/show-more/clientClass.js +63 -0
- package/dpr/components/show-more/clientClass.js.map +7 -0
- package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/show-more/utils.js.map +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
- package/dpr/components/user-reports/requested/clientClass.js +132 -0
- package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
- package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/requested/utils.js.map +1 -1
- package/dpr/components/user-reports/types.d.js.map +1 -1
- package/dpr/components/user-reports/utils.js.map +1 -1
- package/dpr/components/user-reports/viewed/clientClass.js +102 -0
- package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
- package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/viewed/utils.js.map +1 -1
- package/dpr/data/agentConfig.js.map +1 -1
- package/dpr/data/dashboardClient.js.map +1 -1
- package/dpr/data/dprReportingClient.js.map +1 -1
- package/dpr/data/missingReportClient.js.map +1 -1
- package/dpr/data/productCollectionClient.js.map +1 -1
- package/dpr/data/reportDataStore.js.map +1 -1
- package/dpr/data/reportingClient.js.map +1 -1
- package/dpr/data/restClient.js.map +1 -1
- package/dpr/data/types.d.js.map +1 -1
- package/dpr/middleware/reportAuthoriser.js.map +1 -1
- package/dpr/middleware/setUpDprResources.js.map +1 -1
- package/dpr/middleware/setUpNestedRoute.js.map +1 -1
- package/dpr/routes/index.js.map +1 -1
- package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
- package/dpr/routes/journeys/download-report/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js +2 -2
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/report/utils.ts +2 -2
- package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +1 -1
- package/dpr/services/dashboardService.js.map +1 -1
- package/dpr/services/defaultFilterValuesService.js.map +1 -1
- package/dpr/services/featureFlagService.js.map +1 -1
- package/dpr/services/featureFlags.cy.js.map +1 -1
- package/dpr/services/index.js.map +1 -1
- package/dpr/services/missingReport/missingReportService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
- package/dpr/services/reportStoreService.js.map +1 -1
- package/dpr/services/reportingService.js.map +1 -1
- package/dpr/setUpNunjucksFilters.js.map +1 -1
- package/dpr/types/AsyncReportUtils.js.map +1 -1
- package/dpr/types/Bookmark.js.map +1 -1
- package/dpr/types/Charts.js.map +1 -1
- package/dpr/types/Download.js.map +1 -1
- package/dpr/types/DprConfig.js.map +1 -1
- package/dpr/types/DprUser.js.map +1 -1
- package/dpr/types/EmbeddedReportUtils.js.map +1 -1
- package/dpr/types/ExecutionData.d.js.map +1 -1
- package/dpr/types/Metrics.js.map +1 -1
- package/dpr/types/ReportQuery.js.map +1 -1
- package/dpr/types/ReportStore.js.map +1 -1
- package/dpr/types/Services.d.js.map +1 -1
- package/dpr/types/Templates.d.js.map +1 -1
- package/dpr/types/UserReports.js.map +1 -1
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/index.d.js.map +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
- package/dpr/utils/CreateDprServices.js.map +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
- package/dpr/utils/DateMapper/types.d.js.map +1 -1
- package/dpr/utils/ErrorHandler.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
- package/dpr/utils/Personalisation/types.d.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
- package/dpr/utils/arrayUtils.js.map +1 -1
- package/dpr/utils/datasetHelper.js.map +1 -1
- package/dpr/utils/definitionUtils.js.map +1 -1
- package/dpr/utils/index.js.map +1 -1
- package/dpr/utils/indexedAccesHelper.js.map +1 -1
- package/dpr/utils/localsHelper.js.map +1 -1
- package/dpr/utils/logger.js.map +1 -1
- package/dpr/utils/reportListsHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.js.map +1 -1
- package/dpr/utils/requestStatusHelper.js.map +1 -1
- package/dpr/utils/sanitisedError.js.map +1 -1
- package/dpr/utils/urlHelper.js.map +1 -1
- package/dpr/validation/validate.js.map +1 -1
- package/package.json +10 -6
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
DprCatalogueUnauthorisedFilter: () => DprCatalogueUnauthorisedFilter,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_clientClass = __toESM(require("../catalogue-filters/clientClass"));
|
|
36
|
+
class DprCatalogueUnauthorisedFilter extends import_clientClass.default {
|
|
37
|
+
static getModuleName() {
|
|
38
|
+
return "dpr-catalogue-show-unauthorised";
|
|
39
|
+
}
|
|
40
|
+
initialise() {
|
|
41
|
+
this.toggleFilters = this.getElement().querySelector("#dpr-toggle-filters");
|
|
42
|
+
this.hideClasses = ["dpr-unauthorised-report-hide", "dpr-live-report-hide", "dpr-missing-report-hide"];
|
|
43
|
+
if (this.toggleFilters) {
|
|
44
|
+
this.tableId = this.toggleFilters.dataset.tableId;
|
|
45
|
+
this.initTable();
|
|
46
|
+
this.initCheckboxToggleEvents();
|
|
47
|
+
this.initCheckboxesFromQueryParams();
|
|
48
|
+
this.updateTableRows();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
initCheckboxToggleEvents() {
|
|
52
|
+
this.toggleFilters.addEventListener("change", (e) => {
|
|
53
|
+
const queryParams = new URLSearchParams(window.location.search);
|
|
54
|
+
if (e.target.checked) {
|
|
55
|
+
queryParams.set(e.target.id, e.target.value);
|
|
56
|
+
} else {
|
|
57
|
+
queryParams.delete(e.target.id, e.target.value);
|
|
58
|
+
}
|
|
59
|
+
window.history.replaceState(null, null, `?${queryParams.toString()}`);
|
|
60
|
+
this.updateTableRows();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
updateTableRows() {
|
|
64
|
+
const query = new URLSearchParams(window.location.search);
|
|
65
|
+
this.updateUnauthorisedRows(query);
|
|
66
|
+
this.updateMissingRows(query);
|
|
67
|
+
this.updateLiveRows(query);
|
|
68
|
+
this.updateTotals();
|
|
69
|
+
}
|
|
70
|
+
updateUnauthorisedRows(queryParams) {
|
|
71
|
+
const value = queryParams.get("show-unauthorised");
|
|
72
|
+
const hideClassName = this.hideClasses[0];
|
|
73
|
+
const tag = "dpr-unauthorised-report";
|
|
74
|
+
this.updateRows(value, hideClassName, tag);
|
|
75
|
+
}
|
|
76
|
+
updateLiveRows(queryParams) {
|
|
77
|
+
const value = queryParams.get("hide-live");
|
|
78
|
+
const hideClassName = this.hideClasses[1];
|
|
79
|
+
const tag = "dpr-live-report";
|
|
80
|
+
this.updateRowsLive(value, hideClassName, tag);
|
|
81
|
+
}
|
|
82
|
+
updateMissingRows(queryParams) {
|
|
83
|
+
const value = queryParams.get("show-missing");
|
|
84
|
+
const hideClassName = this.hideClasses[2];
|
|
85
|
+
const tag = "dpr-missing-report";
|
|
86
|
+
this.updateRows(value, hideClassName, tag);
|
|
87
|
+
}
|
|
88
|
+
updateRowsLive(value, hideClassName, tag) {
|
|
89
|
+
Array.from(this.table.rows).filter((row) => {
|
|
90
|
+
return Array.from(row.cells).find((cell) => {
|
|
91
|
+
return cell.innerHTML.includes(tag);
|
|
92
|
+
});
|
|
93
|
+
}).forEach((row) => {
|
|
94
|
+
if (value) {
|
|
95
|
+
row.classList.add(hideClassName);
|
|
96
|
+
} else {
|
|
97
|
+
row.classList.remove(hideClassName);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
updateRows(value, hideClassName, tag) {
|
|
102
|
+
Array.from(this.table.rows).filter((row) => {
|
|
103
|
+
return Array.from(row.cells).find((cell) => {
|
|
104
|
+
return cell.innerHTML.includes(tag);
|
|
105
|
+
});
|
|
106
|
+
}).forEach((row) => {
|
|
107
|
+
if (value) {
|
|
108
|
+
row.classList.remove(hideClassName);
|
|
109
|
+
} else if (!row.classList.contains(hideClassName)) {
|
|
110
|
+
row.classList.add(hideClassName);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
initCheckboxesFromQueryParams() {
|
|
115
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
116
|
+
urlParams.forEach((value, key) => {
|
|
117
|
+
const element = document.getElementById(key);
|
|
118
|
+
if (element && element.id === "show-unauthorised") {
|
|
119
|
+
element.setAttribute("checked", "");
|
|
120
|
+
}
|
|
121
|
+
if (element && element.id === "show-missing") {
|
|
122
|
+
element.setAttribute("checked", "");
|
|
123
|
+
}
|
|
124
|
+
if (element && element.id === "hide-live") {
|
|
125
|
+
element.setAttribute("checked", "");
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
var clientClass_default = DprCatalogueUnauthorisedFilter;
|
|
131
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
132
|
+
0 && (module.exports = {
|
|
133
|
+
DprCatalogueUnauthorisedFilter
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\n/* eslint-disable no-param-reassign */\nimport DprCatalogueFilters from '../catalogue-filters/clientClass'\n\nclass DprCatalogueUnauthorisedFilter extends DprCatalogueFilters {\n static getModuleName() {\n return 'dpr-catalogue-show-unauthorised'\n }\n\n initialise() {\n this.toggleFilters = this.getElement().querySelector('#dpr-toggle-filters')\n this.hideClasses = ['dpr-unauthorised-report-hide', 'dpr-live-report-hide', 'dpr-missing-report-hide']\n\n if (this.toggleFilters) {\n this.tableId = this.toggleFilters.dataset.tableId\n this.initTable()\n this.initCheckboxToggleEvents()\n this.initCheckboxesFromQueryParams()\n this.updateTableRows()\n }\n }\n\n initCheckboxToggleEvents() {\n this.toggleFilters.addEventListener('change', (e) => {\n const queryParams = new URLSearchParams(window.location.search)\n if (e.target.checked) {\n queryParams.set(e.target.id, e.target.value)\n } else {\n queryParams.delete(e.target.id, e.target.value)\n }\n window.history.replaceState(null, null, `?${queryParams.toString()}`)\n this.updateTableRows()\n })\n }\n\n updateTableRows() {\n const query = new URLSearchParams(window.location.search)\n this.updateUnauthorisedRows(query)\n this.updateMissingRows(query)\n this.updateLiveRows(query)\n this.updateTotals()\n }\n\n updateUnauthorisedRows(queryParams) {\n const value = queryParams.get('show-unauthorised')\n const hideClassName = this.hideClasses[0]\n const tag = 'dpr-unauthorised-report'\n this.updateRows(value, hideClassName, tag)\n }\n\n updateLiveRows(queryParams) {\n const value = queryParams.get('hide-live')\n const hideClassName = this.hideClasses[1]\n const tag = 'dpr-live-report'\n this.updateRowsLive(value, hideClassName, tag)\n }\n\n updateMissingRows(queryParams) {\n const value = queryParams.get('show-missing')\n const hideClassName = this.hideClasses[2]\n const tag = 'dpr-missing-report'\n this.updateRows(value, hideClassName, tag)\n }\n\n updateRowsLive(value, hideClassName, tag) {\n Array.from(this.table.rows)\n .filter((row) => {\n return Array.from(row.cells).find((cell) => {\n return cell.innerHTML.includes(tag)\n })\n })\n .forEach((row) => {\n if (value) {\n row.classList.add(hideClassName)\n } else {\n row.classList.remove(hideClassName)\n }\n })\n }\n\n updateRows(value, hideClassName, tag) {\n Array.from(this.table.rows)\n .filter((row) => {\n return Array.from(row.cells).find((cell) => {\n return cell.innerHTML.includes(tag)\n })\n })\n .forEach((row) => {\n if (value) {\n row.classList.remove(hideClassName)\n } else if (!row.classList.contains(hideClassName)) {\n row.classList.add(hideClassName)\n }\n })\n }\n\n initCheckboxesFromQueryParams() {\n const urlParams = new URLSearchParams(window.location.search)\n urlParams.forEach((value, key) => {\n const element = document.getElementById(key)\n if (element && element.id === 'show-unauthorised') {\n element.setAttribute('checked', '')\n }\n if (element && element.id === 'show-missing') {\n element.setAttribute('checked', '')\n }\n if (element && element.id === 'hide-live') {\n element.setAttribute('checked', '')\n }\n })\n }\n}\n\nexport { DprCatalogueUnauthorisedFilter }\nexport default DprCatalogueUnauthorisedFilter\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DprCatalogueFilters"]
|
|
7
|
+
}
|
package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts}
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/* eslint-disable class-methods-use-this */
|
|
2
3
|
/* eslint-disable no-param-reassign */
|
|
3
|
-
import DprCatalogueFilters from '../catalogue-filters/clientClass
|
|
4
|
+
import DprCatalogueFilters from '../catalogue-filters/clientClass'
|
|
4
5
|
|
|
5
6
|
class DprCatalogueUnauthorisedFilter extends DprCatalogueFilters {
|
|
6
7
|
static getModuleName() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_charts/chart/Chart.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { DashboardDataResponse } from '../../../types/Metrics'\nimport {\n DashboardVisualisationDataSet,\n VisualisationDefinitionKey,\n ChartMeasure,\n} from '../../_dashboards/dashboard-visualisation/types'\nimport { ChartColours } from './ChartColours'\nimport ChartConfig from './chart-config'\n\nclass Chart {\n labels: string[] = []\n\n private labelId: string | undefined = undefined\n\n datasets: DashboardVisualisationDataSet[] = []\n\n unit: 'NUMBER' | 'PERCENTAGE' | undefined\n\n responseData: DashboardDataResponse[] = []\n\n backgroundColor: string[][] = []\n\n borderWidth: number[] = [0, 0]\n\n borderColor: string[][] = []\n\n hexColours: string[] = []\n\n config = ChartConfig\n\n withData = (responseData: DashboardDataResponse[]) => {\n this.responseData = responseData\n return this\n }\n\n initUnit = (measures: ChartMeasure) => {\n this.unit = measures.find((m) => m.unit)?.unit\n }\n\n createDatasets = (measures: ChartMeasure, responseData: DashboardDataResponse[]) => {\n this.hexColours = new ChartColours().getHexPallette()\n this.datasets = responseData.map((row, datasetIndex) => {\n const label = this.createDatasetLabel(row)\n const data = this.createDatasetValues(measures, row)\n const total = data.reduce((acc: number, val: number) => acc + val, 0)\n\n return {\n label,\n data,\n total,\n ...this.setStyles(datasetIndex),\n }\n })\n }\n\n private createDatasetLabel = (row: DashboardDataResponse) => {\n return this.labelId && row[this.labelId] ? `${row[this.labelId].raw}` : 'All'\n }\n\n private createDatasetValues = (measures: ChartMeasure, row: DashboardDataResponse) => {\n return measures.map((column) => {\n const rowId = column.id\n return row[rowId] && row[rowId].raw ? Number(row[rowId].raw) : 0\n })\n }\n\n setStyles = (datasetIndex: number) => {\n const colour = this.hexColours[datasetIndex % this.hexColours.length]\n return {\n backgroundColor: colour,\n borderColor: colour,\n }\n }\n\n createLabels = (measures: ChartMeasure) => {\n this.labels = measures.map((col) => col.display || '')\n }\n\n getLabelId = (keys: VisualisationDefinitionKey[]) => {\n if (keys.length) {\n const lastIndex = keys.length - 1\n this.labelId = keys[lastIndex]?.id\n }\n }\n}\n\nexport { Chart }\nexport default Chart\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,0BAA6B;AAC7B,0BAAwB;AAExB,MAAM,MAAM;AAAA,EACV,SAAmB,CAAC;AAAA,EAEZ,UAA8B;AAAA,EAEtC,WAA4C,CAAC;AAAA,EAE7C;AAAA,EAEA,eAAwC,CAAC;AAAA,EAEzC,kBAA8B,CAAC;AAAA,EAE/B,cAAwB,CAAC,GAAG,CAAC;AAAA,EAE7B,cAA0B,CAAC;AAAA,EAE3B,aAAuB,CAAC;AAAA,EAExB,SAAS,oBAAAA;AAAA,EAET,WAAW,CAAC,iBAA0C;AACpD,SAAK,eAAe;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,CAAC,aAA2B;AACrC,SAAK,OAAO,SAAS,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG;AAAA,EAC5C;AAAA,EAEA,iBAAiB,CAAC,UAAwB,iBAA0C;AAClF,SAAK,aAAa,IAAI,iCAAa,EAAE,eAAe;AACpD,SAAK,WAAW,aAAa,IAAI,CAAC,KAAK,iBAAiB;AACtD,YAAM,QAAQ,KAAK,mBAAmB,GAAG;AACzC,YAAM,OAAO,KAAK,oBAAoB,UAAU,GAAG;AACnD,YAAM,QAAQ,KAAK,OAAO,CAAC,KAAa,QAAgB,MAAM,KAAK,CAAC;AAEpE,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG,KAAK,UAAU,YAAY;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ,qBAAqB,CAAC,QAA+B;AAC3D,WAAO,KAAK,WAAW,IAAI,KAAK,OAAO,IAAI,GAAG,IAAI,KAAK,OAAO,EAAE,GAAG,KAAK;AAAA,EAC1E;AAAA,EAEQ,sBAAsB,CAAC,UAAwB,QAA+B;AACpF,WAAO,SAAS,IAAI,CAAC,WAAW;AAC9B,YAAM,QAAQ,OAAO;AACrB,aAAO,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,KAAK,EAAE,GAAG,IAAI;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,YAAY,CAAC,iBAAyB;AACpC,UAAM,SAAS,KAAK,WAAW,eAAe,KAAK,WAAW,MAAM;AACpE,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,eAAe,CAAC,aAA2B;AACzC,SAAK,SAAS,SAAS,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;AAAA,EACvD;AAAA,EAEA,aAAa,CAAC,SAAuC;AACnD,QAAI,KAAK,QAAQ;AACf,YAAM,YAAY,KAAK,SAAS;AAChC,WAAK,UAAU,KAAK,SAAS,GAAG;AAAA,IAClC;AAAA,EACF;AACF;AAGA,IAAO,gBAAQ;",
|
|
6
6
|
"names": ["ChartConfig"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_charts/chart/ChartColours.ts"],
|
|
4
4
|
"sourcesContent": ["export class ChartColours {\n pallette = [\n {\n name: 'blue',\n hex: '#5694ca',\n },\n {\n name: 'purple',\n hex: '#912b88',\n },\n {\n name: 'green',\n hex: '#00703c',\n },\n {\n name: 'dark_blue',\n hex: '#003078',\n },\n {\n name: 'orange',\n hex: '#f47738',\n },\n {\n name: 'orange',\n hex: '#28a197',\n },\n ]\n\n getColourPallette = () => {\n return this.pallette\n }\n\n getHexPallette = () => {\n return this.pallette.map((p) => p.hex)\n }\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,aAAa;AAAA,EACxB,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,oBAAoB,MAAM;AACxB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,iBAAiB,MAAM;AACrB,WAAO,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG;AAAA,EACvC;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_charts/chart/ChartTimeseries.ts"],
|
|
4
4
|
"sourcesContent": ["import { components } from '../../../types/api'\nimport { DashboardDataResponse } from '../../../types/Metrics'\nimport {\n DashboardVisualisationDataSet,\n TimeseriesChartMeasure,\n VisualisationDefinitionKey,\n} from '../../_dashboards/dashboard-visualisation/types'\nimport DatasetHelper from '../../../utils/datasetHelper'\nimport { BarTimeseriesDefinitionMeasure, BarTimeseriesDefinitionType } from './bar-timeseries/types'\nimport { LineTimeseriesDefinitionMeasure, LineTimeseriesDefinitionType } from './line-timeseries/types'\nimport { ChartColours } from './ChartColours'\nimport ChartConfig from './chart-config'\nimport { PartialDate } from '../../_filters/types'\n\nclass TimeseriesChart {\n labels: string[] = []\n\n labelId: string | undefined = undefined\n\n datasets: DashboardVisualisationDataSet[] = []\n\n unit: 'NUMBER' | 'PERCENTAGE' | undefined\n\n responseData: DashboardDataResponse[] = []\n\n measures: TimeseriesChartMeasure = []\n\n keys: VisualisationDefinitionKey[] = []\n\n timeBlockData: DashboardDataResponse[][] = []\n\n groupKey: LineTimeseriesDefinitionMeasure | BarTimeseriesDefinitionMeasure | undefined\n\n datasetCount = 0\n\n hexColours: string[] = []\n\n config = ChartConfig\n\n partialDate: PartialDate | undefined\n\n withData = (responseData: DashboardDataResponse[]) => {\n this.responseData = responseData\n this.initFromData()\n return this\n }\n\n initFromDefinition = (definition: BarTimeseriesDefinitionType | LineTimeseriesDefinitionType) => {\n this.measures = definition.columns.measures\n this.keys = definition.columns.keys || []\n this.unit = this.measures.find((m) => m.unit)?.unit\n }\n\n withPartialDate = (partialDate?: PartialDate) => {\n this.partialDate = partialDate\n return this\n }\n\n initFromData = () => {\n this.groupKey = DatasetHelper.getGroupKey(\n this.responseData,\n <Array<components['schemas']['DashboardVisualisationColumnDefinition']>>this.keys,\n )\n this.labelId = this.groupKey?.id || ''\n this.timeBlockData = DatasetHelper.groupRowsByTimestamp(this.responseData)\n this.labels = this.getLabels()\n this.datasetCount = this.timeBlockData[0]?.length\n }\n\n buildDatasets = () => {\n this.hexColours = new ChartColours().getHexPallette()\n for (let index = 0; index < this.datasetCount; index += 1) {\n const data = this.timeBlockData.map((timeperiod) => {\n const { raw } = timeperiod[index][this.measures[1].id]\n return raw ? Number(raw) : 0\n })\n const total = data.reduce((a, c) => a + c, 0)\n const rawValue = this.labelId ? this.timeBlockData[0][index][this.labelId].raw : ''\n const label = rawValue ? <string>rawValue : ''\n\n this.datasets.push({\n data,\n label,\n total,\n })\n }\n }\n\n private getLabels = () => {\n return this.timeBlockData.map((d: DashboardDataResponse[]) => <string>d[0]['ts'].raw)\n }\n}\n\nexport { TimeseriesChart }\nexport default TimeseriesChart\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,2BAA0B;AAG1B,0BAA6B;AAC7B,0BAAwB;AAGxB,MAAM,gBAAgB;AAAA,EACpB,SAAmB,CAAC;AAAA,EAEpB,UAA8B;AAAA,EAE9B,WAA4C,CAAC;AAAA,EAE7C;AAAA,EAEA,eAAwC,CAAC;AAAA,EAEzC,WAAmC,CAAC;AAAA,EAEpC,OAAqC,CAAC;AAAA,EAEtC,gBAA2C,CAAC;AAAA,EAE5C;AAAA,EAEA,eAAe;AAAA,EAEf,aAAuB,CAAC;AAAA,EAExB,SAAS,oBAAAA;AAAA,EAET;AAAA,EAEA,WAAW,CAAC,iBAA0C;AACpD,SAAK,eAAe;AACpB,SAAK,aAAa;AAClB,WAAO;AAAA,EACT;AAAA,EAEA,qBAAqB,CAAC,eAA2E;AAC/F,SAAK,WAAW,WAAW,QAAQ;AACnC,SAAK,OAAO,WAAW,QAAQ,QAAQ,CAAC;AACxC,SAAK,OAAO,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG;AAAA,EACjD;AAAA,EAEA,kBAAkB,CAAC,gBAA8B;AAC/C,SAAK,cAAc;AACnB,WAAO;AAAA,EACT;AAAA,EAEA,eAAe,MAAM;AACnB,SAAK,WAAW,qBAAAC,QAAc;AAAA,MAC5B,KAAK;AAAA,MACmE,KAAK;AAAA,IAC/E;AACA,SAAK,UAAU,KAAK,UAAU,MAAM;AACpC,SAAK,gBAAgB,qBAAAA,QAAc,qBAAqB,KAAK,YAAY;AACzE,SAAK,SAAS,KAAK,UAAU;AAC7B,SAAK,eAAe,KAAK,cAAc,CAAC,GAAG;AAAA,EAC7C;AAAA,EAEA,gBAAgB,MAAM;AACpB,SAAK,aAAa,IAAI,iCAAa,EAAE,eAAe;AACpD,aAAS,QAAQ,GAAG,QAAQ,KAAK,cAAc,SAAS,GAAG;AACzD,YAAM,OAAO,KAAK,cAAc,IAAI,CAAC,eAAe;AAClD,cAAM,EAAE,IAAI,IAAI,WAAW,KAAK,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE;AACrD,eAAO,MAAM,OAAO,GAAG,IAAI;AAAA,MAC7B,CAAC;AACD,YAAM,QAAQ,KAAK,OAAO,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC;AAC5C,YAAM,WAAW,KAAK,UAAU,KAAK,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM;AACjF,YAAM,QAAQ,WAAmB,WAAW;AAE5C,WAAK,SAAS,KAAK;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,YAAY,MAAM;AACxB,WAAO,KAAK,cAAc,IAAI,CAAC,MAAuC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG;AAAA,EACtF;AACF;AAGA,IAAO,0BAAQ;",
|
|
6
6
|
"names": ["ChartConfig", "DatasetHelper"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar/BarChart.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { DashboardDataResponse } from '../../../../types/Metrics'\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n DashboardVisualisationDataSet,\n VisualisationDefinitionKey,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { components } from '../../../../types/api'\nimport DatasetHelper from '../../../../utils/datasetHelper'\nimport Chart from '../Chart'\nimport BarChartSchemas from './validate'\nimport { BarDefinitionMeasure, BarDefinitionOptions, BarDefinitionType } from './types'\nimport { ChartColours } from '../ChartColours'\n\nclass BarChart extends Chart {\n private definition!: BarDefinitionType\n\n private measures!: BarDefinitionMeasure[]\n\n private keys!: VisualisationDefinitionKey[]\n\n private options: BarDefinitionOptions | undefined\n\n override responseData: DashboardDataResponse[] = []\n\n private isList = false\n\n override datasets: DashboardVisualisationDataSet[] = []\n\n private groupsData: DashboardDataResponse[][] = []\n\n private groupKey: BarDefinitionMeasure | undefined\n\n private xAxisColumn: BarDefinitionMeasure | undefined\n\n private yAxisColumn: BarDefinitionMeasure | undefined\n\n private barCount = 0\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = BarChartSchemas.BarSchema.parse(definition)\n this.initFromDefinitionData()\n\n return this\n }\n\n override withData = (responseData: DashboardDataResponse[]) => {\n this.responseData = responseData\n if (this.isList) this.initListData()\n return this\n }\n\n getCanvasHeight = () => {\n this.barCount = this.datasets.length * this.datasets[0].data.length\n return this.options?.horizontal ? this.barCount : 5\n }\n\n build = (): DashboardVisualisationData => {\n if (!this.isList) {\n this.getBarChartData()\n } else {\n this.getListBarChartData()\n }\n const height = this.getCanvasHeight()\n\n return {\n type: DashboardVisualisationType.BAR,\n options: {\n height,\n unit: this.unit,\n timeseries: false,\n },\n data: {\n labels: this.labels,\n datasets: this.datasets,\n config: this.config,\n },\n }\n }\n\n augmentDataset = (datasets: DashboardVisualisationDataSet[]) => {\n return datasets.map((set) => {\n return {\n ...set,\n borderWidth: [0, 0],\n datalabels: {\n align: 'center',\n anchor: 'bottom',\n },\n }\n })\n }\n\n setBespokeOptions = () => {\n let indexAxis = 'x'\n let scales\n\n if (this.options) {\n const { horizontal, xStacked, yStacked } = this.options\n indexAxis = horizontal ? 'y' : indexAxis\n if (xStacked || yStacked) {\n scales = {\n ...(xStacked && { x: { stacked: xStacked } }),\n ...(yStacked && { y: { stacked: yStacked } }),\n }\n }\n }\n\n return {\n ...this.config,\n indexAxis,\n ...(scales && { scales }),\n }\n }\n\n private getBarChartData = () => {\n this.createDatasets(this.measures, this.responseData)\n this.datasets = this.augmentDataset(this.datasets)\n this.config = this.setBespokeOptions()\n this.createLabels(this.measures)\n }\n\n private getListBarChartData = () => {\n this.createListLabels()\n this.createListDatasets()\n this.datasets = this.augmentDataset(this.datasets)\n this.config = this.setBespokeOptions()\n }\n\n private initFromDefinitionData = () => {\n this.measures = this.definition.columns.measures\n this.options = this.definition.options\n this.keys = this.definition.columns.keys || []\n this.isList = !!this.measures.find((col) => col.axis)\n this.initUnit(this.measures)\n\n if (!this.isList) this.getLabelId(this.keys)\n }\n\n private initListData = () => {\n this.xAxisColumn = this.measures.find((col) => col.axis === 'x')\n this.yAxisColumn = this.measures.find((col) => col.axis === 'y')\n this.groupKey = <BarDefinitionMeasure>(\n DatasetHelper.getGroupKey(\n this.responseData,\n <Array<components['schemas']['DashboardVisualisationColumnDefinition']>>this.keys,\n )\n )\n this.groupsData = this.groupKey\n ? DatasetHelper.groupRowsByKey(this.responseData, this.groupKey.id)\n : [this.responseData]\n }\n\n private createListDatasets = () => {\n this.hexColours = new ChartColours().getHexPallette()\n this.datasets = this.groupsData.map((groupData, groupIndex) => {\n const data = Array(this.labels.length)\n groupData.forEach((row) => {\n // Validation will ensure these columns exist\n const yId = this.yAxisColumn?.id || ''\n const xId = this.xAxisColumn?.id || ''\n\n const labelField = row[xId]\n const valueField = row[yId]\n\n const raw = valueField && valueField.raw ? Number(valueField.raw) : 0\n const dataIndex = this.labels.findIndex((l) => l === labelField.raw)\n if (dataIndex !== -1) {\n data[dataIndex] = Number(raw)\n }\n })\n\n let label = ''\n if (this.groupKey) {\n const groupKeyId = this.groupKey.id\n const groupRow = groupData[0]\n label = groupRow && groupRow[groupKeyId] ? `${groupRow[groupKeyId].raw}` : ''\n } else {\n label = this.yAxisColumn?.display || label\n }\n\n return {\n label,\n data,\n total: data.reduce((acc: number, val: number) => acc + val, 0),\n ...this.setStyles(groupIndex),\n }\n })\n }\n\n private createListLabels = () => {\n this.labels = this.groupsData.flatMap((gd) => {\n const id = this.xAxisColumn?.id || ''\n return gd.map((row) => {\n const field = row[id]\n return field ? `${field.raw}` : ''\n })\n })\n }\n}\n\nexport { BarChart }\nexport default BarChart\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["Chart", "BarChartSchemas", "DatasetHelper"]
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
BarChartVisualisation: () => BarChartVisualisation,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_clientClass = __toESM(require("../clientClass"));
|
|
36
|
+
class BarChartVisualisation extends import_clientClass.default {
|
|
37
|
+
static getModuleName() {
|
|
38
|
+
return "bar-chart";
|
|
39
|
+
}
|
|
40
|
+
initialise() {
|
|
41
|
+
this.setupCanvas();
|
|
42
|
+
this.settings = this.initSettings();
|
|
43
|
+
this.chartData = this.generateChartData(this.settings);
|
|
44
|
+
this.initChart(this.chartData);
|
|
45
|
+
}
|
|
46
|
+
initSettings() {
|
|
47
|
+
return {
|
|
48
|
+
toolTipOptions: this.setToolTipOptions(),
|
|
49
|
+
datalabels: this.setDataLabels()
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
setToolTipOptions() {
|
|
53
|
+
const ctx = this;
|
|
54
|
+
return {
|
|
55
|
+
callbacks: {
|
|
56
|
+
title(context) {
|
|
57
|
+
const { label, dataset } = context[0];
|
|
58
|
+
const { label: establishmentId } = dataset;
|
|
59
|
+
const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`;
|
|
60
|
+
return title;
|
|
61
|
+
},
|
|
62
|
+
label(context) {
|
|
63
|
+
const { label } = context;
|
|
64
|
+
const { data, label: legend } = context.dataset;
|
|
65
|
+
const value = `${data[context.dataIndex]}${ctx.suffix}`;
|
|
66
|
+
ctx.setHoverValue({ label, value, legend, ctx });
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
setDataLabels() {
|
|
73
|
+
return {
|
|
74
|
+
color: "#FFF",
|
|
75
|
+
display: () => {
|
|
76
|
+
return !this.timeseries;
|
|
77
|
+
},
|
|
78
|
+
formatter: (value) => {
|
|
79
|
+
return `${value}${this.suffix}`;
|
|
80
|
+
},
|
|
81
|
+
labels: {
|
|
82
|
+
title: {
|
|
83
|
+
font: {
|
|
84
|
+
weight: "bold",
|
|
85
|
+
size: 16,
|
|
86
|
+
color: "#FFF"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
var clientClass_default = BarChartVisualisation;
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
BarChartVisualisation
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable class-methods-use-this */\nimport ChartVisualisation from '../clientClass'\n\nclass BarChartVisualisation extends ChartVisualisation {\n static getModuleName() {\n return 'bar-chart'\n }\n\n initialise() {\n this.setupCanvas()\n this.settings = this.initSettings()\n this.chartData = this.generateChartData(this.settings)\n this.initChart(this.chartData)\n }\n\n initSettings() {\n return {\n toolTipOptions: this.setToolTipOptions(),\n datalabels: this.setDataLabels(),\n }\n }\n\n setToolTipOptions() {\n const ctx = this\n return {\n callbacks: {\n title(context) {\n const { label, dataset } = context[0]\n const { label: establishmentId } = dataset\n const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`\n return title\n },\n label(context) {\n const { label } = context\n const { data, label: legend } = context.dataset\n const value = `${data[context.dataIndex]}${ctx.suffix}`\n ctx.setHoverValue({ label, value, legend, ctx })\n return value\n },\n },\n }\n }\n\n setDataLabels() {\n return {\n color: '#FFF',\n display: () => {\n return !this.timeseries\n },\n formatter: (value) => {\n return `${value}${this.suffix}`\n },\n labels: {\n title: {\n font: {\n weight: 'bold',\n size: 16,\n color: '#FFF',\n },\n },\n },\n }\n }\n}\n\nexport { BarChartVisualisation }\nexport default BarChartVisualisation\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAA+B;AAE/B,MAAM,8BAA8B,mBAAAA,QAAmB;AAAA,EACrD,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,YAAY;AACjB,SAAK,WAAW,KAAK,aAAa;AAClC,SAAK,YAAY,KAAK,kBAAkB,KAAK,QAAQ;AACrD,SAAK,UAAU,KAAK,SAAS;AAAA,EAC/B;AAAA,EAEA,eAAe;AACb,WAAO;AAAA,MACL,gBAAgB,KAAK,kBAAkB;AAAA,MACvC,YAAY,KAAK,cAAc;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,UAAM,MAAM;AACZ,WAAO;AAAA,MACL,WAAW;AAAA,QACT,MAAM,SAAS;AACb,gBAAM,EAAE,OAAO,QAAQ,IAAI,QAAQ,CAAC;AACpC,gBAAM,EAAE,OAAO,gBAAgB,IAAI;AACnC,gBAAM,QAAQ,IAAI,gBAAgB,GAAG,KAAK,KAAK,GAAG,eAAe,KAAK,KAAK;AAC3E,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,SAAS;AACb,gBAAM,EAAE,MAAM,IAAI;AAClB,gBAAM,EAAE,MAAM,OAAO,OAAO,IAAI,QAAQ;AACxC,gBAAM,QAAQ,GAAG,KAAK,QAAQ,SAAS,CAAC,GAAG,IAAI,MAAM;AACrD,cAAI,cAAc,EAAE,OAAO,OAAO,QAAQ,IAAI,CAAC;AAC/C,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,gBAAgB;AACd,WAAO;AAAA,MACL,OAAO;AAAA,MACP,SAAS,MAAM;AACb,eAAO,CAAC,KAAK;AAAA,MACf;AAAA,MACA,WAAW,CAAC,UAAU;AACpB,eAAO,GAAG,KAAK,GAAG,KAAK,MAAM;AAAA,MAC/B;AAAA,MACA,QAAQ;AAAA,QACN,OAAO;AAAA,UACL,MAAM;AAAA,YACJ,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": ["ChartVisualisation"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/* eslint-disable no-underscore-dangle */
|
|
2
3
|
/* eslint-disable class-methods-use-this */
|
|
3
|
-
import ChartVisualisation from '../clientClass
|
|
4
|
+
import ChartVisualisation from '../clientClass'
|
|
4
5
|
|
|
5
6
|
class BarChartVisualisation extends ChartVisualisation {
|
|
6
7
|
static getModuleName() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar/types.ts"],
|
|
4
4
|
"sourcesContent": ["import z from 'zod'\nimport BarChartSchemas from './validate'\n\nexport type BarDefinitionType = z.infer<typeof BarChartSchemas.BarSchema>\nexport type BarDefinitionMeasure = z.infer<typeof BarChartSchemas.BarMeasureShema>\nexport type BarDefinitionOptions = z.infer<typeof BarChartSchemas.BarOptionsSchema>\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar/validate.ts"],
|
|
4
4
|
"sourcesContent": ["import { z } from 'zod'\nimport { DashboardVisualisationSchema, DashboardColumns } from '../../../_dashboards/dashboard-visualisation/Validate'\n\nconst BarMeasureShema = z.object({\n id: z.string(),\n display: z.string().optional(),\n unit: z.enum(['NUMBER', 'PERCENTAGE']).optional(),\n axis: z.enum(['x', 'y']).optional(),\n})\n\nconst BarOptionsSchema = z.object({\n showLatest: z.boolean().default(true),\n horizontal: z.boolean().default(false),\n xStacked: z.boolean().default(false),\n yStacked: z.boolean().default(false),\n})\n\nconst BarSchema = z.object({\n ...DashboardVisualisationSchema.shape,\n type: z.literal('bar'),\n display: z.string(),\n options: z.object(BarOptionsSchema.shape).optional(),\n columns: z.object({\n ...DashboardColumns.shape,\n measures: z\n .array(BarMeasureShema)\n .refine(\n (measures) => {\n const xAxis = measures.find((m) => m.axis === 'x')\n const yAxis = measures.find((m) => m.axis === 'y')\n\n let valid = true\n if ((xAxis !== undefined && !yAxis) || (yAxis !== undefined && !xAxis)) {\n valid = false\n }\n return valid\n },\n { error: 'X and Y axis must be defined in measure' },\n )\n .refine(\n (measures) => {\n const xAxis = measures.find((m) => m.axis === 'x')\n const yAxis = measures.find((m) => m.axis === 'y')\n let valid = true\n if (xAxis !== undefined && yAxis !== undefined && measures.length > 2) valid = false\n return valid\n },\n { error: 'Measure must contain only 2 items when axis is specified' },\n ),\n }),\n})\n\nconst BarChartSchemas = {\n BarSchema,\n BarMeasureShema,\n BarOptionsSchema,\n}\n\nexport default BarChartSchemas\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAA+D;AAE/D,MAAM,kBAAkB,aAAE,OAAO;AAAA,EAC/B,IAAI,aAAE,OAAO;AAAA,EACb,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,aAAE,KAAK,CAAC,UAAU,YAAY,CAAC,EAAE,SAAS;AAAA,EAChD,MAAM,aAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,SAAS;AACpC,CAAC;AAED,MAAM,mBAAmB,aAAE,OAAO;AAAA,EAChC,YAAY,aAAE,QAAQ,EAAE,QAAQ,IAAI;AAAA,EACpC,YAAY,aAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EACrC,UAAU,aAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EACnC,UAAU,aAAE,QAAQ,EAAE,QAAQ,KAAK;AACrC,CAAC;AAED,MAAM,YAAY,aAAE,OAAO;AAAA,EACzB,GAAG,6CAA6B;AAAA,EAChC,MAAM,aAAE,QAAQ,KAAK;AAAA,EACrB,SAAS,aAAE,OAAO;AAAA,EAClB,SAAS,aAAE,OAAO,iBAAiB,KAAK,EAAE,SAAS;AAAA,EACnD,SAAS,aAAE,OAAO;AAAA,IAChB,GAAG,iCAAiB;AAAA,IACpB,UAAU,aACP,MAAM,eAAe,EACrB;AAAA,MACC,CAAC,aAAa;AACZ,cAAM,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;AACjD,cAAM,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;AAEjD,YAAI,QAAQ;AACZ,YAAK,UAAU,UAAa,CAAC,SAAW,UAAU,UAAa,CAAC,OAAQ;AACtE,kBAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT;AAAA,MACA,EAAE,OAAO,0CAA0C;AAAA,IACrD,EACC;AAAA,MACC,CAAC,aAAa;AACZ,cAAM,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;AACjD,cAAM,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;AACjD,YAAI,QAAQ;AACZ,YAAI,UAAU,UAAa,UAAU,UAAa,SAAS,SAAS,EAAG,SAAQ;AAC/E,eAAO;AAAA,MACT;AAAA,MACA,EAAE,OAAO,2DAA2D;AAAA,IACtE;AAAA,EACJ,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAO,mBAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { components } from '../../../../types/api'\nimport { BarTimeseriesDefinitionType } from './types'\nimport BarTimeseriesChartSchemas from './validate'\nimport TimeseriesChart from '../ChartTimeseries'\nimport BarChart from '../bar/BarChart'\n\nclass BarTimeseriesChart extends TimeseriesChart {\n private definition!: BarTimeseriesDefinitionType\n\n private BarChartBuilder: BarChart = new BarChart()\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = BarTimeseriesChartSchemas.BarTimeseriesSchema.parse(definition)\n this.initFromDefinition(this.definition)\n\n return this\n }\n\n build = (): DashboardVisualisationData => {\n this.buildDatasets()\n this.setStyles()\n this.datasets = this.BarChartBuilder.augmentDataset(this.datasets)\n this.BarChartBuilder.setBespokeOptions()\n\n return {\n type: DashboardVisualisationType.BAR,\n options: {\n unit: this.unit,\n timeseries: true,\n },\n data: {\n labels: this.labels,\n datasets: this.datasets,\n config: this.config,\n },\n }\n }\n\n private setStyles = () => {\n this.datasets = this.datasets.map((set, datasetIndex) => {\n const colour = this.hexColours[datasetIndex]\n return {\n ...set,\n backgroundColor: colour,\n borderColor: colour,\n }\n })\n }\n}\n\nexport { BarTimeseriesChart }\nexport default BarTimeseriesChart\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAGO;AAGP,sBAAsC;AACtC,6BAA4B;AAC5B,sBAAqB;AAErB,MAAM,2BAA2B,uBAAAA,QAAgB;AAAA,EACvC;AAAA,EAEA,kBAA4B,IAAI,gBAAAC,QAAS;AAAA,EAEjD,iBAAiB,CAAC,eAA0E;AAC1F,SAAK,aAAa,gBAAAC,QAA0B,oBAAoB,MAAM,UAAU;AAChF,SAAK,mBAAmB,KAAK,UAAU;AAEvC,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAkC;AACxC,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,WAAW,KAAK,gBAAgB,eAAe,KAAK,QAAQ;AACjE,SAAK,gBAAgB,kBAAkB;AAEvC,WAAO;AAAA,MACL,MAAM,wCAA2B;AAAA,MACjC,SAAS;AAAA,QACP,MAAM,KAAK;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,YAAY,MAAM;AACxB,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,iBAAiB;AACvD,YAAM,SAAS,KAAK,WAAW,YAAY;AAC3C,aAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB;AAAA,QACjB,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAGA,IAAO,6BAAQ;",
|
|
6
6
|
"names": ["TimeseriesChart", "BarChart", "BarTimeseriesChartSchemas"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar-timeseries/types.ts"],
|
|
4
4
|
"sourcesContent": ["import z from 'zod'\nimport BarTimeseriesChartSchemas from './validate'\n\nexport type BarTimeseriesDefinitionType = z.infer<typeof BarTimeseriesChartSchemas.BarTimeseriesSchema>\nexport type BarTimeseriesDefinitionMeasure = z.infer<typeof BarTimeseriesChartSchemas.BarTimeseriesMeasureSchema>\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/bar-timeseries/validate.ts"],
|
|
4
4
|
"sourcesContent": ["import { z } from 'zod'\nimport { DashboardVisualisationSchema, DashboardColumns } from '../../../_dashboards/dashboard-visualisation/Validate'\n\nconst BarTimeseriesMeasureSchema = z.object({\n id: z.string(),\n display: z.string().optional(),\n unit: z.enum(['NUMBER', 'PERCENTAGE']).optional(),\n})\n\nconst BarTimeseriesOptions = z.object({\n showLatest: z.literal(false),\n})\n\nconst BarTimeseriesSchema = z.object({\n ...DashboardVisualisationSchema.shape,\n display: z.string(),\n type: z.literal('bar-timeseries'),\n options: z.object(BarTimeseriesOptions.shape).optional(),\n columns: z.object({\n ...DashboardColumns.shape,\n measures: z.array(BarTimeseriesMeasureSchema).min(1, 'Measure must contain at least one item'),\n }),\n})\n\nconst BarTimeseriesChartSchemas = {\n BarTimeseriesMeasureSchema,\n BarTimeseriesSchema,\n}\n\nexport default BarTimeseriesChartSchemas\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAA+D;AAE/D,MAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,IAAI,aAAE,OAAO;AAAA,EACb,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,aAAE,KAAK,CAAC,UAAU,YAAY,CAAC,EAAE,SAAS;AAClD,CAAC;AAED,MAAM,uBAAuB,aAAE,OAAO;AAAA,EACpC,YAAY,aAAE,QAAQ,KAAK;AAC7B,CAAC;AAED,MAAM,sBAAsB,aAAE,OAAO;AAAA,EACnC,GAAG,6CAA6B;AAAA,EAChC,SAAS,aAAE,OAAO;AAAA,EAClB,MAAM,aAAE,QAAQ,gBAAgB;AAAA,EAChC,SAAS,aAAE,OAAO,qBAAqB,KAAK,EAAE,SAAS;AAAA,EACvD,SAAS,aAAE,OAAO;AAAA,IAChB,GAAG,iCAAiB;AAAA,IACpB,UAAU,aAAE,MAAM,0BAA0B,EAAE,IAAI,GAAG,wCAAwC;AAAA,EAC/F,CAAC;AACH,CAAC;AAED,MAAM,4BAA4B;AAAA,EAChC;AAAA,EACA;AACF;AAEA,IAAO,mBAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/buckets/Buckets.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport { withAlphaHex } from 'with-alpha-hex'\nimport { ScorecardDefinitionType } from '../../../_dashboards/scorecard/types'\nimport { ScorecardGroupDefinitionType } from '../../../_dashboards/scorecard-group/types'\nimport { DashboardDataResponse } from '../../../../types/Metrics'\nimport { DashboardVisualisationBucket } from '../../../_dashboards/dashboard-visualisation/types'\nimport { MatrixTimeseriesDefinitionType } from '../heatmap/types'\nimport BucketOptionsSchema from './validate'\nimport { BucketOptionsDefinition } from './types'\n\ntype DefinitionsWithBuckets = MatrixTimeseriesDefinitionType | ScorecardGroupDefinitionType | ScorecardDefinitionType\n\nclass Buckets {\n private baseColour = '#1d70b8'\n\n private ragColours: string[] = ['#00703c', '#ffdd00', '#d4351c']\n\n private buckets: DashboardVisualisationBucket[] = []\n\n private useRagColour = false\n\n private bucketCount = 0\n\n private onlyBucketColoursDefined = false\n\n private autoBucketing = false\n\n private hasRagScore = false\n\n private valueKey: string\n\n private options!: BucketOptionsDefinition\n\n responseData: DashboardDataResponse[]\n\n constructor(\n responseData: DashboardDataResponse[],\n definition: DefinitionsWithBuckets,\n valueKey: string,\n autoBucketing?: boolean,\n ragColours?: string[],\n ) {\n this.responseData = responseData\n this.initFromOptions(definition)\n this.valueKey = valueKey\n this.hasRagScore = responseData[0][this.valueKey].rag !== undefined\n this.autoBucketing = Boolean(autoBucketing)\n if (ragColours) this.ragColours = ragColours\n this.initBuckets()\n }\n\n private initFromOptions = (definition: DefinitionsWithBuckets) => {\n this.options = BucketOptionsSchema.parse(definition.options)\n this.baseColour = this.options?.baseColour || this.baseColour\n this.useRagColour = this.options?.useRagColour || false\n this.onlyBucketColoursDefined =\n this.options && this.options.buckets\n ? this.options?.buckets?.every((bucket) => !bucket.max && !bucket.min && bucket.hexColour !== undefined)\n : false\n }\n\n private initBuckets = () => {\n const { buckets } = this.options\n\n this.setBucketCount()\n this.initBucketColours()\n\n if (buckets && buckets.length) {\n if (this.hasRagScore) {\n if (this.onlyBucketColoursDefined) {\n this.buckets = buckets\n }\n } else if (!this.hasRagScore && this.onlyBucketColoursDefined && this.autoBucketing) {\n this.initAutomaticThresholdBucket()\n } else {\n this.initCustomThresholdBuckets()\n }\n } else if (!this.hasRagScore && this.autoBucketing) {\n this.initAutomaticThresholdBucket()\n }\n }\n\n private initCustomThresholdBuckets = () => {\n this.buckets = this.options.buckets\n ? this.options.buckets.map((bucket, i) => {\n return {\n ...this.buckets[i],\n ...bucket,\n }\n })\n : []\n }\n\n /**\n * Initialises the bucket thresholds by defining the range between the min and max\n * and dividing into 3 equal parts\n */\n private initAutomaticThresholdBucket = () => {\n const { min, max, bucketSize } = this.setAutomaticThresholdSize()\n let maxValue = 0\n this.buckets = this.buckets.map((bucket, i) => {\n let minValue = min\n if (i !== 0) minValue = maxValue + 1\n maxValue = bucketSize * (i + 1) + min\n if (i === this.buckets.length - 1) maxValue = max\n\n return {\n hexColour:\n this.options?.buckets && this.options?.buckets.length ? this.options.buckets[i]?.hexColour : bucket.hexColour,\n min: minValue,\n max: maxValue,\n }\n })\n }\n\n private initBucketColours = () => {\n if (this.useRagColour && this.bucketCount === 3) {\n this.buckets = Array.from(new Array(this.bucketCount)).map((_d, i) => {\n return {\n hexColour: this.ragColours[i],\n }\n })\n } else {\n const alphaDivision = 1 / this.bucketCount\n this.buckets = Array.from(new Array(this.bucketCount)).map((_d, i) => {\n const division = alphaDivision * (i + 1)\n return {\n hexColour: withAlphaHex(this.baseColour, division),\n }\n })\n }\n }\n\n private setAutomaticThresholdSize = () => {\n const values = this.responseData.map((resData) => Number(resData[this.valueKey].raw))\n const min = Math.min(...values)\n const max = Math.max(...values)\n const bucketSize = Math.ceil((max - min) / this.bucketCount)\n\n return {\n min,\n max,\n bucketSize,\n }\n }\n\n private setBucketCount = () => {\n const { buckets } = this.options\n if (this.hasRagScore) {\n if (this.useRagColour) {\n this.bucketCount = 3\n } else {\n const allRags: number[] = this.responseData.reduce((acc: number[], resData: DashboardDataResponse) => {\n if (resData[this.valueKey].rag !== undefined) {\n acc.push(<number>resData[this.valueKey].rag)\n }\n return acc\n }, [])\n this.bucketCount = Math.max(...allRags) + 1\n }\n } else if (buckets && buckets.length) {\n this.bucketCount = buckets.length\n } else {\n this.bucketCount = 3\n }\n }\n\n getBucketForValue = (value: number, ragScore?: number): { colour: string; score: number } => {\n let colour = ''\n let score = 0\n\n if (ragScore !== undefined) {\n return {\n colour: this.buckets[ragScore].hexColour || colour,\n score: ragScore,\n }\n }\n\n this.buckets.forEach((bucket, index) => {\n const { min, max } = bucket\n // First bucket\n if (!min && max && value <= max) {\n colour = bucket.hexColour || colour\n score = index\n }\n // middle buckets\n if (min && value >= min && max && value <= max) {\n colour = bucket.hexColour || colour\n score = index\n }\n // last bucket\n if (min && !max && value >= min) {\n colour = bucket.hexColour || colour\n score = index\n }\n })\n\n return {\n colour,\n score,\n }\n }\n\n getBuckets = () => {\n return this.buckets\n }\n}\n\nexport { Buckets }\nexport default Buckets\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["BucketOptionsSchema"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/buckets/types.ts"],
|
|
4
4
|
"sourcesContent": ["import z from 'zod'\nimport BucketOptionsSchema from './validate'\n\nexport type BucketOptionsDefinition = z.infer<typeof BucketOptionsSchema>\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../dpr/components/_charts/chart/buckets/validate.ts"],
|
|
4
4
|
"sourcesContent": ["import { z } from 'zod'\n\nconst dashboardBucket = z.object({\n min: z.number().optional(),\n max: z.number().optional(),\n hexColour: z.string().regex(/^#/).optional(),\n})\n\nexport const BucketOptionsSchema = z.object({\n useRagColour: z.boolean().default(false),\n buckets: z.array(dashboardBucket).default([]),\n baseColour: z.string().regex(/^#/).optional(),\n})\n\nexport default BucketOptionsSchema\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAElB,MAAM,kBAAkB,aAAE,OAAO;AAAA,EAC/B,KAAK,aAAE,OAAO,EAAE,SAAS;AAAA,EACzB,KAAK,aAAE,OAAO,EAAE,SAAS;AAAA,EACzB,WAAW,aAAE,OAAO,EAAE,MAAM,IAAI,EAAE,SAAS;AAC7C,CAAC;AAEM,MAAM,sBAAsB,aAAE,OAAO;AAAA,EAC1C,cAAc,aAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EACvC,SAAS,aAAE,MAAM,eAAe,EAAE,QAAQ,CAAC,CAAC;AAAA,EAC5C,YAAY,aAAE,OAAO,EAAE,MAAM,IAAI,EAAE,SAAS;AAC9C,CAAC;AAED,IAAO,mBAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_charts/chart/chart-config.ts"],
|
|
4
4
|
"sourcesContent": ["const tooltip: ChartTooltipType = {\n backgroundColor: '#FFF',\n bodyColor: '#000',\n titleFont: {\n size: 16,\n },\n bodyFont: {\n size: 16,\n },\n titleColor: '#000',\n displayColors: false,\n borderWidth: 1,\n borderColor: '#b1b4b6',\n cornerRadius: 0,\n padding: 20,\n footerFont: {\n weight: 'bold',\n },\n animation: {\n duration: 0,\n },\n}\n\nconst chartConfig: ChartOptionsType = {\n responsive: true,\n maintainAspectRatio: false,\n animation: {\n duration: 0,\n },\n hover: {\n animationDuration: 0,\n },\n plugins: {\n legend: {\n position: 'bottom',\n },\n tooltip,\n },\n}\n\ntype ChartTooltipType = {\n backgroundColor: string\n bodyColor: string\n titleFont: {\n size: number\n }\n bodyFont: {\n size: number\n }\n titleColor: string\n displayColors: false\n borderWidth: number\n borderColor: string\n cornerRadius: number\n padding: number\n footerFont: {\n weight: string\n }\n animation: {\n duration: number\n }\n}\n\nexport type ChartOptionsType = {\n responsive: boolean\n maintainAspectRatio: boolean\n animation: {\n duration: number\n }\n hover: {\n animationDuration: number\n }\n plugins: {\n legend: {\n position: string\n }\n tooltip: ChartTooltipType\n }\n indexAxis?: string\n cutout?: string\n scales?: ChartScalesType\n}\n\ntype ChartScalesType = {\n y?: ChartScaleAxis\n x?: ChartScaleAxis\n}\n\ntype ChartScaleAxis = {\n stacked?: boolean\n position?: string\n type?: string\n min?: number\n offset?: boolean\n labels?: Array<string | number>\n grid?: {\n display: boolean\n drawBorder: boolean\n }\n ticks?: {\n fontSize?: number\n padding?: number\n maxRotation?: number\n stepSize?: number\n }\n}\n\nexport default chartConfig\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,UAA4B;AAAA,EAChC,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,EACZ;AACF;AAEA,MAAM,cAAgC;AAAA,EACpC,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,WAAW;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,mBAAmB;AAAA,EACrB;AAAA,EACA,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA;AAAA,EACF;AACF;AAqEA,IAAO,uBAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
ChartVisualisation: () => ChartVisualisation,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_auto = __toESM(require("chart.js/auto"));
|
|
36
|
+
var import_chartjs_plugin_datalabels = __toESM(require("chartjs-plugin-datalabels"));
|
|
37
|
+
var import_chartjs_chart_matrix = require("chartjs-chart-matrix");
|
|
38
|
+
var import_DprClientClass = require("../../../DprClientClass");
|
|
39
|
+
class ChartVisualisation extends import_DprClientClass.DprClientClass {
|
|
40
|
+
setupCanvas() {
|
|
41
|
+
this.chartContext = this.getElement().querySelector("canvas");
|
|
42
|
+
this.id = this.chartContext.getAttribute("id");
|
|
43
|
+
this.chartParams = JSON.parse(this.getElement().getAttribute("data-dpr-chart-data"));
|
|
44
|
+
this.type = this.getElement().getAttribute("data-dpr-chart-type");
|
|
45
|
+
this.setValueSuffix();
|
|
46
|
+
this.legend = this.getElement().querySelector(`#js-legend-${this.id}`);
|
|
47
|
+
this.tooltipDetailsEl = document.getElementById(`dpr-${this.id}-tooltip-details`);
|
|
48
|
+
this.headlineValuesEl = document.getElementById(`dpr-${this.id}-headline-values`);
|
|
49
|
+
this.labelElement = document.getElementById(`dpr-${this.id}-label`);
|
|
50
|
+
this.valueElement = document.getElementById(`dpr-${this.id}-value`);
|
|
51
|
+
this.legendElement = document.getElementById(`dpr-${this.id}-legend`);
|
|
52
|
+
this.legendElement = document.getElementById(`dpr-${this.id}-legend`);
|
|
53
|
+
if (this.chartParams.partialDate) {
|
|
54
|
+
this.partialStart = this.chartParams.partialDate.start || false;
|
|
55
|
+
this.partialEnd = this.chartParams.partialDate.end || false;
|
|
56
|
+
}
|
|
57
|
+
this.singleDataset = this.chartParams.datasets.length === 1;
|
|
58
|
+
}
|
|
59
|
+
initChart() {
|
|
60
|
+
window.addEventListener("load", () => {
|
|
61
|
+
import_auto.default.defaults.font.family = "GDS Transport";
|
|
62
|
+
import_auto.default.defaults.font.size = 12;
|
|
63
|
+
import_auto.default.register(import_chartjs_plugin_datalabels.default);
|
|
64
|
+
import_auto.default.register(import_chartjs_chart_matrix.MatrixController, import_chartjs_chart_matrix.MatrixElement);
|
|
65
|
+
this.chart = new import_auto.default(this.chartContext, this.chartData);
|
|
66
|
+
});
|
|
67
|
+
this.initChartEvents();
|
|
68
|
+
}
|
|
69
|
+
generateChartData(settings) {
|
|
70
|
+
const { datasets, labels, config } = this.chartParams;
|
|
71
|
+
const { options, datalabels, plugins, pluginsOptions, toolTipOptions, hoverEvent, styling } = settings;
|
|
72
|
+
const chartData = {
|
|
73
|
+
type: this.type,
|
|
74
|
+
data: {
|
|
75
|
+
labels,
|
|
76
|
+
datasets: this.createDatasets(datasets, styling)
|
|
77
|
+
},
|
|
78
|
+
options: {
|
|
79
|
+
...config,
|
|
80
|
+
...options && options,
|
|
81
|
+
...hoverEvent && hoverEvent,
|
|
82
|
+
plugins: {
|
|
83
|
+
...config.plugins,
|
|
84
|
+
...pluginsOptions && pluginsOptions,
|
|
85
|
+
...datalabels && { datalabels },
|
|
86
|
+
tooltip: {
|
|
87
|
+
...config.plugins.tooltip,
|
|
88
|
+
...toolTipOptions && toolTipOptions
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
plugins: plugins && plugins.length ? [...plugins] : []
|
|
93
|
+
};
|
|
94
|
+
return chartData;
|
|
95
|
+
}
|
|
96
|
+
createDatasets(datasets, styling) {
|
|
97
|
+
return datasets.map((dataset) => {
|
|
98
|
+
return {
|
|
99
|
+
...dataset,
|
|
100
|
+
...styling && styling
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
setHoverValue({ label, value, legend, ctx }) {
|
|
105
|
+
if (ctx.tooltipDetailsEl) {
|
|
106
|
+
ctx.tooltipDetailsEl.style.display = "block";
|
|
107
|
+
ctx.labelElement.innerHTML = ctx.singleDataset ? `${label}` : `${legend}: ${label}`;
|
|
108
|
+
ctx.valueElement.innerHTML = `${value}`;
|
|
109
|
+
}
|
|
110
|
+
if (ctx.headlineValuesEl) {
|
|
111
|
+
ctx.headlineValuesEl.style.display = "none";
|
|
112
|
+
}
|
|
113
|
+
if (!legend) {
|
|
114
|
+
ctx.legendElement.style.display = "none";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
setValueSuffix() {
|
|
118
|
+
this.unit = this.getElement().getAttribute("data-dpr-chart-unit");
|
|
119
|
+
this.suffix = this.unit === "percentage" ? "%" : "";
|
|
120
|
+
}
|
|
121
|
+
isPercentage() {
|
|
122
|
+
return this.unit === "percentage";
|
|
123
|
+
}
|
|
124
|
+
initChartEvents() {
|
|
125
|
+
this.chart.canvas.addEventListener("mouseout", (e) => {
|
|
126
|
+
if (this.tooltipDetailsEl) this.tooltipDetailsEl.style.display = "none";
|
|
127
|
+
if (this.headlineValuesEl) this.headlineValuesEl.style.display = "block";
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
var clientClass_default = ChartVisualisation;
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
ChartVisualisation
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=clientClass.js.map
|