@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.3 → 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 +2 -2
- 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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/components/_filters/filters-selected/utils.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { FilterType } from '../filter-input/enum'\nimport {\n FilterValue,\n DateRange,\n DateFilterValue,\n DateRangeFilterValue,\n FilterValueWithOptions,\n GranularDateRangeFilterValue,\n MultiselectFilterValue,\n} from '../types'\nimport DateRangeFilterUtils from '../../_inputs/date-range/utils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport Dict = NodeJS.Dict\n\nexport const getSelectedFilters = (filters: FilterValue[], prefix: string) => {\n const emptyValues: (string | undefined | null)[] = [undefined, null, '']\n\n return filters\n .filter((f) => {\n return (\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !emptyValues.includes((<DateRange>f.value).start)) ||\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'end') &&\n !emptyValues.includes((<DateRange>f.value).end)) ||\n (f.value &&\n !Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !Object.prototype.hasOwnProperty.call(f.value, 'end'))\n )\n })\n .filter((f) => {\n return f.value && f.value !== 'no-filter'\n })\n .map((f) => {\n let displayValue = `${f.value}`\n let value: (string | DateRange)[] = [`\"${displayValue}\"`]\n let key: string[] = [`${prefix}${f.name}`]\n let cantRemoveClass = ''\n let disabled = false\n let constraints: { key: string; value: string }[] | undefined\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedDateRange(\n <DateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedGranularDateRange(\n <GranularDateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = getSelectedDate(\n <DateFilterValue>f,\n prefix,\n ))\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n ;({ key, value, displayValue } = getOptionsValue(<FilterValueWithOptions>f, prefix))\n }\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n ;({ key, value, displayValue } = getMultiselectValues(<FilterValueWithOptions>f, prefix))\n }\n\n let ariaLabel\n if (disabled) {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. This filter cant be removed. Update the filter input to change the value`\n } else {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. Click to clear this filter`\n }\n\n return {\n text: f.text,\n displayValue,\n key: JSON.stringify(key),\n value,\n disabled,\n constraints,\n classes: `interactive-remove-filter-button${cantRemoveClass}`,\n attributes: {\n 'aria-label': ariaLabel,\n },\n }\n })\n}\n\nexport const setDateDisplayFormat = (dateValue: string) => {\n const dateMapper = new DateMapper()\n const type = dateMapper.getDateType(dateValue)\n if (type !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'local-date') || dateValue\n }\n return dateValue\n}\n\nexport const setSelectedDateRange = (f: DateRangeFilterValue, prefix: string) => {\n const startValue = (<DateRange>f.value).start || 'Open start'\n const endValue = (<DateRange>f.value).end || 'Open end'\n const value = [`\"${startValue}\"`, `\"${endValue}\"`]\n const name = `${prefix}${f.name}`\n const key = [`${name}.start`, `${name}.end`]\n\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n let displayValue = `${displayStartValue} - ${displayEndValue}`\n const { relative } = <DateRange>f.value\n if (relative) {\n key.push(`${name}.relative-duration`)\n value.push(`\"${relative}\"`)\n displayValue = DateRangeFilterUtils.mapRelativeValue(relative)\n }\n\n const constraints = setMinMaxContraints(f, key)\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n cantRemoveClass,\n constraints,\n }\n}\n\nexport const setMinMaxContraints = (f: DateFilterValue | DateRangeFilterValue, key: string[], singleDate = false) => {\n const constraints: { key: string; value: string }[] = []\n const { min, max } = f\n if (min) {\n constraints.push({\n key: key[0],\n value: min,\n })\n }\n if (max && !singleDate) {\n constraints.push({\n key: key[1],\n value: max,\n })\n }\n return constraints.length ? constraints : undefined\n}\n\nexport const getOptionsValue = (f: FilterValueWithOptions, prefix: string) => {\n const displayOption = f.options.find((opt) => opt.value === f.value)\n const displayValue = displayOption ? displayOption.text : ''\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const getMultiselectValues = (f: FilterValueWithOptions, prefix: string) => {\n const MAX_VALUES = 3\n const splitValues = (<string>f.value).split(',')\n let displayValue = splitValues\n .map((v) => {\n const displayOption = f.options.find((opt) => opt.value === v)\n return displayOption ? displayOption.text : ''\n })\n .filter((v, i) => {\n return i < MAX_VALUES\n })\n .join(', ')\n\n displayValue =\n splitValues.length > MAX_VALUES ? `${displayValue} + ${splitValues.length - MAX_VALUES} more` : displayValue\n\n const value = splitValues.map((v) => `\"${v}\"`)\n const key = [`${prefix}${f.name}`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const setSelectedGranularDateRange = (f: GranularDateRangeFilterValue, prefix: string) => {\n const startValue = f.value.start || 'Open start'\n const endValue = f.value.end || 'Open end'\n const quickFilterValue = f.value.quickFilter?.value\n const quickFilterDisplay = f.value.quickFilter?.display\n const granularityValue = f.value.granularity.value\n const name = `${prefix}${f.name}`\n\n const key = [`${name}.start`, `${name}.end`, `${name}.granularity`]\n const value = [`\"${startValue}\"`, `\"${endValue}\"`, `\"${granularityValue}\"`]\n const constraints = setMinMaxContraints(f, key)\n\n let displayValue\n const granularityDisplay = f.value.granularity.display\n if (quickFilterValue && quickFilterValue !== 'none' && quickFilterDisplay) {\n key.push(`${name}.quick-filter`)\n value.push(`\"${quickFilterValue}\"`)\n displayValue = `${quickFilterDisplay}: ${granularityDisplay}`\n } else {\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n displayValue = `${displayStartValue} - ${displayEndValue}: ${granularityDisplay}`\n }\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const getSelectedDate = (f: DateFilterValue, prefix: string) => {\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n const displayValue = setDateDisplayFormat(<string>f.value)\n const constraints = setMinMaxContraints(f, key, true)\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDate(f, value, displayValue)\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const disabledDateRange = (f: DateRangeFilterValue | DateFilterValue, value: string[], displayValue: string) => {\n const { min, max } = f\n if (min && (<string>value[0]).includes(min) && max && (<string>value[1]).includes(max)) {\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (maximum range)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const disabledDate = (f: DateFilterValue, value: (string | DateRange)[], displayValue: string) => {\n const { min, max } = <DateFilterValue>f\n\n if ((min && (<string>value[0]).includes(min)) || (max && (<string>value[0]).includes(max))) {\n let valueType\n if (min && (<string>value[0]).includes(min)) valueType = 'min'\n if (max && (<string>value[0]).includes(max)) valueType = 'max'\n\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (${valueType} date)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const getQuerySummary = (reqQuery: Dict<string>, filters: FilterValue[]) => {\n const prefix = 'filters.'\n\n return filters\n .filter(\n (f) => reqQuery[`filters.${f.name}`] || reqQuery[`filters.${f.name}.start`] || reqQuery[`filters.${f.name}.end`],\n )\n .map((f) => {\n let { value } = f\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n value = <string>getMultiselectValues(<MultiselectFilterValue>f, 'filters').displayValue\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n value = <string>getOptionsValue(<FilterValueWithOptions>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n value = setDateDisplayFormat(<string>f.value)\n }\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n value = setSelectedDateRange(<DateRangeFilterValue>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n value = setSelectedGranularDateRange(<GranularDateRangeFilterValue>f, prefix).displayValue\n }\n\n return {\n id: f.name,\n name: f.text,\n value: <string>value,\n }\n })\n}\n\nexport default {\n getSelectedFilters,\n getQuerySummary,\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["utils_exports", "__export", "utils_default", "disabledDate", "disabledDateRange", "getMultiselectValues", "getOptionsValue", "getQuerySummary", "getSelectedDate", "getSelectedFilters", "setDateDisplayFormat", "setMinMaxContraints", "setSelectedDateRange", "setSelectedGranularDateRange", "__toCommonJS", "import_enum", "import_utils", "import_DateMapper", "filters", "prefix", "emptyValues", "f", "displayValue", "value", "key", "cantRemoveClass", "disabled", "constraints", "ariaLabel", "dateValue", "dateMapper", "DateMapper", "startValue", "endValue", "name", "displayStartValue", "displayEndValue", "relative", "DateRangeFilterUtils", "disabledDisplayValue", "singleDate", "min", "max", "displayOption", "opt", "splitValues", "v", "quickFilterValue", "quickFilterDisplay", "granularityValue", "granularityDisplay", "valueType", "reqQuery"]
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { FilterType } from '../filter-input/enum'\nimport {\n FilterValue,\n DateRange,\n DateFilterValue,\n DateRangeFilterValue,\n FilterValueWithOptions,\n GranularDateRangeFilterValue,\n MultiselectFilterValue,\n} from '../types'\nimport DateRangeFilterUtils from '../../_inputs/date-range/utils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport Dict = NodeJS.Dict\n\nexport const getSelectedFilters = (filters: FilterValue[], prefix: string) => {\n const emptyValues: (string | undefined | null)[] = [undefined, null, '']\n\n return filters\n .filter((f) => {\n return (\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !emptyValues.includes((<DateRange>f.value).start)) ||\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'end') &&\n !emptyValues.includes((<DateRange>f.value).end)) ||\n (f.value &&\n !Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !Object.prototype.hasOwnProperty.call(f.value, 'end'))\n )\n })\n .filter((f) => {\n return f.value && f.value !== 'no-filter'\n })\n .map((f) => {\n let displayValue = `${f.value}`\n let value: (string | DateRange)[] = [`\"${displayValue}\"`]\n let key: string[] = [`${prefix}${f.name}`]\n let cantRemoveClass = ''\n let disabled = false\n let constraints: { key: string; value: string }[] | undefined\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedDateRange(\n <DateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedGranularDateRange(\n <GranularDateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = getSelectedDate(\n <DateFilterValue>f,\n prefix,\n ))\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n ;({ key, value, displayValue } = getOptionsValue(<FilterValueWithOptions>f, prefix))\n }\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n ;({ key, value, displayValue } = getMultiselectValues(<FilterValueWithOptions>f, prefix))\n }\n\n let ariaLabel\n if (disabled) {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. This filter cant be removed. Update the filter input to change the value`\n } else {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. Click to clear this filter`\n }\n\n return {\n text: f.text,\n displayValue,\n key: JSON.stringify(key),\n value,\n disabled,\n constraints,\n classes: `interactive-remove-filter-button${cantRemoveClass}`,\n attributes: {\n 'aria-label': ariaLabel,\n },\n }\n })\n}\n\nexport const setDateDisplayFormat = (dateValue: string) => {\n const dateMapper = new DateMapper()\n const type = dateMapper.getDateType(dateValue)\n if (type !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'local-date') || dateValue\n }\n return dateValue\n}\n\nexport const setSelectedDateRange = (f: DateRangeFilterValue, prefix: string) => {\n const startValue = (<DateRange>f.value).start || 'Open start'\n const endValue = (<DateRange>f.value).end || 'Open end'\n const value = [`\"${startValue}\"`, `\"${endValue}\"`]\n const name = `${prefix}${f.name}`\n const key = [`${name}.start`, `${name}.end`]\n\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n let displayValue = `${displayStartValue} - ${displayEndValue}`\n const { relative } = <DateRange>f.value\n if (relative) {\n key.push(`${name}.relative-duration`)\n value.push(`\"${relative}\"`)\n displayValue = DateRangeFilterUtils.mapRelativeValue(relative)\n }\n\n const constraints = setMinMaxContraints(f, key)\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n cantRemoveClass,\n constraints,\n }\n}\n\nexport const setMinMaxContraints = (f: DateFilterValue | DateRangeFilterValue, key: string[], singleDate = false) => {\n const constraints: { key: string; value: string }[] = []\n const { min, max } = f\n if (min) {\n constraints.push({\n key: key[0],\n value: min,\n })\n }\n if (max && !singleDate) {\n constraints.push({\n key: key[1],\n value: max,\n })\n }\n return constraints.length ? constraints : undefined\n}\n\nexport const getOptionsValue = (f: FilterValueWithOptions, prefix: string) => {\n const displayOption = f.options.find((opt) => opt.value === f.value)\n const displayValue = displayOption ? displayOption.text : ''\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const getMultiselectValues = (f: FilterValueWithOptions, prefix: string) => {\n const MAX_VALUES = 3\n const splitValues = (<string>f.value).split(',')\n let displayValue = splitValues\n .map((v) => {\n const displayOption = f.options.find((opt) => opt.value === v)\n return displayOption ? displayOption.text : ''\n })\n .filter((_v, i) => {\n return i < MAX_VALUES\n })\n .join(', ')\n\n displayValue =\n splitValues.length > MAX_VALUES ? `${displayValue} + ${splitValues.length - MAX_VALUES} more` : displayValue\n\n const value = splitValues.map((v) => `\"${v}\"`)\n const key = [`${prefix}${f.name}`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const setSelectedGranularDateRange = (f: GranularDateRangeFilterValue, prefix: string) => {\n const startValue = f.value.start || 'Open start'\n const endValue = f.value.end || 'Open end'\n const quickFilterValue = f.value.quickFilter?.value\n const quickFilterDisplay = f.value.quickFilter?.display\n const granularityValue = f.value.granularity.value\n const name = `${prefix}${f.name}`\n\n const key = [`${name}.start`, `${name}.end`, `${name}.granularity`]\n const value = [`\"${startValue}\"`, `\"${endValue}\"`, `\"${granularityValue}\"`]\n const constraints = setMinMaxContraints(f, key)\n\n let displayValue\n const granularityDisplay = f.value.granularity.display\n if (quickFilterValue && quickFilterValue !== 'none' && quickFilterDisplay) {\n key.push(`${name}.quick-filter`)\n value.push(`\"${quickFilterValue}\"`)\n displayValue = `${quickFilterDisplay}: ${granularityDisplay}`\n } else {\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n displayValue = `${displayStartValue} - ${displayEndValue}: ${granularityDisplay}`\n }\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const getSelectedDate = (f: DateFilterValue, prefix: string) => {\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n const displayValue = setDateDisplayFormat(<string>f.value)\n const constraints = setMinMaxContraints(f, key, true)\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDate(f, value, displayValue)\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const disabledDateRange = (f: DateRangeFilterValue | DateFilterValue, value: string[], displayValue: string) => {\n const { min, max } = f\n if (min && (<string>value[0]).includes(min) && max && (<string>value[1]).includes(max)) {\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (maximum range)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const disabledDate = (f: DateFilterValue, value: (string | DateRange)[], displayValue: string) => {\n const { min, max } = <DateFilterValue>f\n\n if ((min && (<string>value[0]).includes(min)) || (max && (<string>value[0]).includes(max))) {\n let valueType\n if (min && (<string>value[0]).includes(min)) valueType = 'min'\n if (max && (<string>value[0]).includes(max)) valueType = 'max'\n\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (${valueType} date)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const getQuerySummary = (reqQuery: Dict<string>, filters: FilterValue[]) => {\n const prefix = 'filters.'\n\n return filters\n .filter(\n (f) => reqQuery[`filters.${f.name}`] || reqQuery[`filters.${f.name}.start`] || reqQuery[`filters.${f.name}.end`],\n )\n .map((f) => {\n let { value } = f\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n value = <string>getMultiselectValues(<MultiselectFilterValue>f, 'filters').displayValue\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n value = <string>getOptionsValue(<FilterValueWithOptions>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n value = setDateDisplayFormat(<string>f.value)\n }\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n value = setSelectedDateRange(<DateRangeFilterValue>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n value = setSelectedGranularDateRange(<GranularDateRangeFilterValue>f, prefix).displayValue\n }\n\n return {\n id: f.name,\n name: f.text,\n value: <string>value,\n }\n })\n}\n\nexport default {\n getSelectedFilters,\n getQuerySummary,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["utils_exports", "__export", "utils_default", "disabledDate", "disabledDateRange", "getMultiselectValues", "getOptionsValue", "getQuerySummary", "getSelectedDate", "getSelectedFilters", "setDateDisplayFormat", "setMinMaxContraints", "setSelectedDateRange", "setSelectedGranularDateRange", "__toCommonJS", "import_enum", "import_utils", "import_DateMapper", "filters", "prefix", "emptyValues", "f", "displayValue", "value", "key", "cantRemoveClass", "disabled", "constraints", "ariaLabel", "dateValue", "dateMapper", "DateMapper", "startValue", "endValue", "name", "displayStartValue", "displayEndValue", "relative", "DateRangeFilterUtils", "disabledDisplayValue", "singleDate", "min", "max", "displayOption", "opt", "splitValues", "v", "_v", "quickFilterValue", "quickFilterDisplay", "granularityValue", "granularityDisplay", "valueType", "reqQuery"]
|
|
7
7
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { expect } from '@jest/globals'
|
|
1
2
|
import SelectedFiltersUtils from './utils'
|
|
2
3
|
import type { FilterValue } from '../types'
|
|
3
4
|
import { FilterType } from '../filter-input/enum'
|
|
@@ -11,6 +12,7 @@ describe('SelectedFiltersUtils', () => {
|
|
|
11
12
|
text: 'Filter 1',
|
|
12
13
|
name: 'filter1',
|
|
13
14
|
type: FilterType.text,
|
|
15
|
+
value: '',
|
|
14
16
|
},
|
|
15
17
|
{
|
|
16
18
|
text: 'Filter 2',
|
|
@@ -22,6 +24,7 @@ describe('SelectedFiltersUtils', () => {
|
|
|
22
24
|
text: 'Filter 3',
|
|
23
25
|
name: 'filter3',
|
|
24
26
|
type: FilterType.text,
|
|
27
|
+
value: '',
|
|
25
28
|
},
|
|
26
29
|
{
|
|
27
30
|
text: 'Filter 4',
|
|
@@ -54,8 +57,8 @@ describe('SelectedFiltersUtils', () => {
|
|
|
54
57
|
name: 'filter7',
|
|
55
58
|
type: FilterType.multiselect,
|
|
56
59
|
value: 'value7.2,value7.3',
|
|
57
|
-
minimumLength:
|
|
58
|
-
dynamicResourceEndpoint:
|
|
60
|
+
minimumLength: undefined,
|
|
61
|
+
dynamicResourceEndpoint: undefined,
|
|
59
62
|
mandatory: false,
|
|
60
63
|
options: [
|
|
61
64
|
{
|
|
@@ -82,8 +85,8 @@ describe('SelectedFiltersUtils', () => {
|
|
|
82
85
|
name: 'filter8',
|
|
83
86
|
type: FilterType.select,
|
|
84
87
|
value: 'value8.1',
|
|
85
|
-
minimumLength:
|
|
86
|
-
dynamicResourceEndpoint:
|
|
88
|
+
minimumLength: undefined,
|
|
89
|
+
dynamicResourceEndpoint: undefined,
|
|
87
90
|
mandatory: false,
|
|
88
91
|
options: [
|
|
89
92
|
{
|
|
@@ -174,7 +174,7 @@ export const getMultiselectValues = (f: FilterValueWithOptions, prefix: string)
|
|
|
174
174
|
const displayOption = f.options.find((opt) => opt.value === v)
|
|
175
175
|
return displayOption ? displayOption.text : ''
|
|
176
176
|
})
|
|
177
|
-
.filter((
|
|
177
|
+
.filter((_v, i) => {
|
|
178
178
|
return i < MAX_VALUES
|
|
179
179
|
})
|
|
180
180
|
.join(', ')
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var o=(e,E)=>{for(var n in E)u(e,n,{get:E[n],enumerable:!0})},q=(e,E,n,I)=>{if(E&&typeof E=="object"||typeof E=="function")for(let t of c(E))!m.call(e,t)&&t!==n&&u(e,t,{get:()=>E[t],enumerable:!(I=a(E,t))||I.enumerable});return e};var r=e=>q(u({},"__esModule",{value:!0}),e);var v={};o(v,{FiltersType:()=>R});module.exports=r(v);var R=(n=>(n.INTERACTIVE="interactive",n.REQUEST="request",n))(R||{});0&&(module.exports={FiltersType});
|
|
1
|
+
"use strict";var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var o=(e,E)=>{for(var n in E)u(e,n,{get:E[n],enumerable:!0})},q=(e,E,n,I)=>{if(E&&typeof E=="object"||typeof E=="function")for(let t of c(E))!m.call(e,t)&&t!==n&&u(e,t,{get:()=>E[t],enumerable:!(I=a(E,t))||I.enumerable});return e};var r=e=>q(u({},"__esModule",{value:!0}),e);var v={};o(v,{FiltersType:()=>R});module.exports=r(v);var R=(n=>(n.INTERACTIVE="interactive",n.REQUEST="request",n))(R||{});0&&(module.exports={FiltersType});
|
|
2
2
|
//# sourceMappingURL=filtersTypeEnum.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dpr/components/_filters/filtersTypeEnum.ts"],
|
|
4
4
|
"sourcesContent": ["export enum FiltersType {\n INTERACTIVE = 'interactive',\n REQUEST = 'request',\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAO,IAAKE,OACVA,EAAA,YAAc,cACdA,EAAA,QAAU,UAFAA,OAAA",
|
|
6
6
|
"names": ["filtersTypeEnum_exports", "__export", "FiltersType", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var i=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var
|
|
1
|
+
"use strict";var i=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var o=(t,e,l,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of u(e))!s.call(t,a)&&a!==l&&i(t,a,{get:()=>e[a],enumerable:!(r=n(e,a))||r.enumerable});return t};var g=t=>o(i({},"__esModule",{value:!0}),t);var p={};module.exports=g(p);
|
|
2
2
|
//# sourceMappingURL=types.d.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dpr/components/_filters/types.d.ts"],
|
|
4
|
-
"sourcesContent": ["import { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport { FilterType } from './filter-input/enum'\nimport RelativeDateRange from '../_inputs/date-range/types'\n\nexport interface FilterOption {\n value: string\n text: string\n disabled?: boolean\n selected?: boolean\n sortedAsc?: boolean\n}\n\nexport type FilterValue =\n | TextFilterValue\n | FilterValueWithOptions\n | MultiselectFilterValue\n | DateFilterValue\n | DateRangeFilterValue\n | GranularDateRangeFilterValue\n\nexport type FilterValueType = string | DateRange | GranularDateRange | null\nexport interface BaseFilterValue {\n text: string\n name: string\n type: FilterType\n value: FilterValueType\n mandatory?: boolean\n index?: number\n}\n\nexport interface TextFilterValue extends BaseFilterValue {\n minimumLength?: number\n pattern?: string\n}\n\nexport interface FilterValueWithOptions extends BaseFilterValue {\n options: Array<FilterOption>\n staticOptionNameValue?: string\n dynamicResourceEndpoint?: string\n}\n\nexport interface MultiselectFilterValue extends Omit<BaseFilterValue, 'value'>, FilterValueWithOptions {\n value: string | null\n values: string[]\n}\n\nexport interface DateFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: string | null\n min?: string\n max?: string\n}\n\nexport interface DateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: DateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n}\n\nexport interface GranularDateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: GranularDateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n quickFilterOptions?: { value: string; text: string; disabled?: boolean }[]\n granularityOptions?: { value: string; text: 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 relative?: RelativeDateRange\n}\n\nexport interface GranularDateRange extends DateRange {\n granularity: GranularDateRangeGranularityValue\n quickFilter?: GranularDateRangeQuickFilterValue\n partialDate?: {\n start: boolean\n end: boolean\n }\n}\n\ninterface GranularDateRangeGranularityValue {\n value: Granularity\n display: string\n}\n\nexport interface GranularDateRangeQuickFilterValue {\n value: QuickFilters\n display: string\n}\n\nexport interface FilterOptions {\n filters: Array<FilterValue>\n selectedFilters: Array<SelectedFilter>\n urlWithNoFilters: string\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport { FilterType } from './filter-input/enum'\nimport RelativeDateRange from '../_inputs/date-range/types'\n\nexport interface FilterOption {\n value: string\n text: string\n disabled?: boolean\n selected?: boolean\n sortedAsc?: boolean\n}\n\nexport type FilterValue =\n | TextFilterValue\n | FilterValueWithOptions\n | MultiselectFilterValue\n | DateFilterValue\n | DateRangeFilterValue\n | GranularDateRangeFilterValue\n\nexport type FilterValueType = string | DateRange | GranularDateRange | null\nexport interface BaseFilterValue {\n text: string\n name: string\n type: FilterType\n value: FilterValueType\n mandatory?: boolean | undefined\n index?: number | undefined\n}\n\nexport interface TextFilterValue extends BaseFilterValue {\n minimumLength?: number | undefined\n pattern?: string | undefined\n}\n\nexport interface FilterValueWithOptions extends BaseFilterValue {\n options: Array<FilterOption>\n staticOptionNameValue?: string\n dynamicResourceEndpoint?: string\n}\n\nexport interface MultiselectFilterValue extends Omit<BaseFilterValue, 'value'>, FilterValueWithOptions {\n value: string | null\n values: string[]\n}\n\nexport interface DateFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: string | null\n min?: string\n max?: string\n}\n\nexport interface DateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: DateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n}\n\nexport interface GranularDateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: GranularDateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n quickFilterOptions?: { value: string; text: string; disabled?: boolean }[]\n granularityOptions?: { value: string; text: 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 relative?: RelativeDateRange | undefined\n}\n\nexport interface GranularDateRange extends DateRange {\n granularity: GranularDateRangeGranularityValue\n quickFilter?: GranularDateRangeQuickFilterValue\n partialDate?: {\n start: boolean\n end: boolean\n }\n}\n\ninterface GranularDateRangeGranularityValue {\n value: Granularity\n display: string\n}\n\nexport interface GranularDateRangeQuickFilterValue {\n value: QuickFilters\n display: string\n}\n\nexport interface FilterOptions {\n filters: Array<FilterValue>\n selectedFilters: Array<SelectedFilter>\n urlWithNoFilters: string\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_d_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -24,13 +24,13 @@ export interface BaseFilterValue {
|
|
|
24
24
|
name: string
|
|
25
25
|
type: FilterType
|
|
26
26
|
value: FilterValueType
|
|
27
|
-
mandatory?: boolean
|
|
28
|
-
index?: number
|
|
27
|
+
mandatory?: boolean | undefined
|
|
28
|
+
index?: number | undefined
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export interface TextFilterValue extends BaseFilterValue {
|
|
32
|
-
minimumLength?: number
|
|
33
|
-
pattern?: string
|
|
32
|
+
minimumLength?: number | undefined
|
|
33
|
+
pattern?: string | undefined
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export interface FilterValueWithOptions extends BaseFilterValue {
|
|
@@ -75,7 +75,7 @@ export interface SelectedFilter {
|
|
|
75
75
|
export interface DateRange {
|
|
76
76
|
start: string
|
|
77
77
|
end: string
|
|
78
|
-
relative?: RelativeDateRange
|
|
78
|
+
relative?: RelativeDateRange | undefined
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
export interface GranularDateRange extends DateRange {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var j=Object.create;var V=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var _=(i,a)=>{for(var t in a)V(i,t,{get:a[t],enumerable:!0})},C=(i,a,t,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let e of M(a))!W.call(i,e)&&e!==t&&V(i,e,{get:()=>a[e],enumerable:!(r=N(a,e))||r.enumerable});return i};var y=(i,a,t)=>(t=i!=null?j(A(i)):{},C(a||!i||!i.__esModule?V(t,"default",{value:i,enumerable:!0}):t,i)),H=i=>C(V({},"__esModule",{value:!0}),i);var B={};_(B,{default:()=>z,getFilters:()=>U,getFiltersFromDefinition:()=>k,getPersonalisedFilters:()=>L,redirectWithDefaultFilters:()=>O,setFilterQueryFromFilterDefinition:()=>
|
|
1
|
+
"use strict";var j=Object.create;var V=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var _=(i,a)=>{for(var t in a)V(i,t,{get:a[t],enumerable:!0})},C=(i,a,t,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let e of M(a))!W.call(i,e)&&e!==t&&V(i,e,{get:()=>a[e],enumerable:!(r=N(a,e))||r.enumerable});return i};var y=(i,a,t)=>(t=i!=null?j(A(i)):{},C(a||!i||!i.__esModule?V(t,"default",{value:i,enumerable:!0}):t,i)),H=i=>C(V({},"__esModule",{value:!0}),i);var B={};_(B,{default:()=>z,getFilters:()=>U,getFiltersFromDefinition:()=>k,getPersonalisedFilters:()=>L,redirectWithDefaultFilters:()=>O,setFilterQueryFromFilterDefinition:()=>E,setFilterValuesFromRequest:()=>w,setRequestQueryFromFilterValues:()=>S});module.exports=H(B);var u=require("./filter-input/enum"),F=require("../../types/ReportQuery"),x=y(require("./filters-selected/utils")),D=y(require("../_inputs/date-range/utils")),h=y(require("../_inputs/date-input/utils")),R=y(require("../_inputs/granular-date-range/utils")),b=y(require("../_inputs/multi-select/utils")),Q=y(require("../../utils/Personalisation/personalisationUtils")),G=y(require("../../utils/urlHelper")),q=require("./filtersTypeEnum"),T=y(require("../../utils/localsHelper"));const w=(i,a,t="filters.")=>{const{preventDefault:r}=a.query;return Object.keys(a.query).every(e=>!e.includes(t))&&!r?i:i.map(e=>{let s,l;switch(e.type.toLowerCase()){case u.FilterType.dateRange.toLowerCase():s=D.default.setValueFromRequest(e,a,t);break;case u.FilterType.granularDateRange.toLowerCase():s=R.default.setValueFromRequest(e,a,t);break;case u.FilterType.date.toLowerCase():s=h.default.setValueFromRequest(e,a,t);break;case u.FilterType.multiselect.toLowerCase():({requestfilterValue:s,requestfilterValues:l}=b.default.setValueFromRequest(e,a,t));break;default:s=a.query[`${t}${e.name}`];break}let o=null;return s?o=s:r&&(o=""),{...e,value:o,...l&&{values:l}}})},E=(i,a)=>{let t=i.filter(r=>r.filter);return a&&(t=t.filter(r=>r.filter.interactive)),t.filter(r=>r.filter!==void 0).filter(r=>r.filter.defaultValue!==void 0).map(r=>{const e=r.filter;switch(e.type.toLocaleLowerCase()){case u.FilterType.dateRange.toLowerCase():return D.default.getQueryFromDefinition(e,r.name,F.DEFAULT_FILTERS_PREFIX);case u.FilterType.multiselect.toLowerCase():return b.default.getQueryFromDefinition(e,r.name,F.DEFAULT_FILTERS_PREFIX);case u.FilterType.granularDateRange.toLowerCase():{const l=D.default.getQueryFromDefinition(e,r.name,F.DEFAULT_FILTERS_PREFIX);return R.default.getQueryFromDefinition(e,r.name,F.DEFAULT_FILTERS_PREFIX,l)}default:return`${F.DEFAULT_FILTERS_PREFIX}${r.name}=${e.defaultValue}`}}).join("&")},k=(i,a)=>{const t=i.filter(e=>e.filter).filter(e=>a!==void 0?e.filter?.interactive===void 0?!a:a===e.filter.interactive:!0).map(e=>{const{display:s,name:l}=e,f=e.filter,{type:o,staticOptions:n,dynamicOptions:m,defaultValue:p,mandatory:d,pattern:I,index:P}=f,g=n?n.map($=>({value:$.name,text:$.display})):[];let c={text:s,name:l,type:o,value:p||null,mandatory:d||!1,minimumLength:m?.minimumLength,pattern:I,index:P};const v={value:"no-filter",text:"None",disabled:!1};switch(o){case u.FilterType.autocomplete.toLowerCase():c={...c,options:g};break;case u.FilterType.radio:d||g.unshift(v),c={...c,options:g};break;case u.FilterType.select:{d||g.unshift(v),g.unshift({value:"",text:"Select your option",disabled:!0,selected:!0}),c={...c,options:g};break}case u.FilterType.multiselect.toLowerCase():c={...c,options:g,values:p?p.split(","):[]};break;case u.FilterType.dateRange.toLowerCase():c=D.default.getFilterFromDefinition(f,c);break;case u.FilterType.date.toLowerCase():c=h.default.getFilterFromDefinition(f,c);break;case u.FilterType.granularDateRange.toLocaleLowerCase():{c=R.default.getFilterFromDefinition(f,c);break}default:break}return c});return X(t)},X=i=>{const a=i.filter(r=>r.index===void 0);return i.filter(r=>r.index!==void 0).forEach(r=>{r.index!==void 0&&a.splice(r.index,0,r)}),a},S=i=>i.filter(t=>t.value).reduce((t,r)=>{const{value:e,name:s}=r,l=`filters.${s}`;switch(r.type){case u.FilterType.granularDateRange.toLowerCase():{const f=e;Object.keys(f).forEach(o=>{let n=f[o];o.includes("partialDate")?t={...t}:((o.includes("granularity")||o.includes("quickFilter"))&&(n=n.value),t={...t,[`${l}.${o}`]:n})})}break;case u.FilterType.dateRange.toLowerCase():e&&Object.keys(e).forEach(f=>{t={...t,[`${l}.${f}`]:e[f]}});break;case u.FilterType.multiselect.toLowerCase():t={...t,[`${l}`]:e.split(",")};break;default:t={...t,[`${l}`]:e};break}return t},{}),O=(i,a,t,r)=>{const e={},{specification:s}=a,l=s?s.fields:[],{preventDefault:f}=r.query;if(Object.keys(i.filters).length===0&&!f&&l.filter(n=>n.filter&&n.filter.defaultValue).forEach(n=>{const{filter:m}=n;if(m)if(m.type.toLowerCase()===u.FilterType.dateRange.toLowerCase()){const{defaultValue:p}=m,d=p?p.split(" - "):"";d.length>=1&&(e[`${F.DEFAULT_FILTERS_PREFIX}${n.name}.start`]=d[0],d.length>=2&&(e[`${F.DEFAULT_FILTERS_PREFIX}${n.name}.end`]=d[1]))}else e[`${F.DEFAULT_FILTERS_PREFIX}${n.name}`]=m.defaultValue||""}),Object.keys(e).length>0){const n=(0,G.default)(i.toRecordWithFilterPrefix(),e,l);return t.redirect(`${r.baseUrl}${r.path}${n}`),!0}return!1},L=async(i,a,t,r,e)=>{const{reportId:s,id:l}=a.params,{dprUser:f}=T.default.getValues(t),o=await r.defaultFilterValuesService.get(f.id,s,l,e);let n=i;return o&&(n=Q.default.setFilterValuesFromSavedDefaults(i,[],o).filters),{filters:n,defaultFilterValues:o}},U=async({fields:i,req:a,res:t,prefix:r="filters.",services:e,filtersType:s})=>{let l=await k(i,s===q.FiltersType.INTERACTIVE),f,o=!1;if(e&&t&&t.locals.saveDefaultsEnabled){const{filters:m,defaultFilterValues:p}=await L(l,a,t,e,s);l=m,f=p&&p.length>0,o=!0}a.query&&(l=w(l,a));const n=x.default.getSelectedFilters(l,r);return{filters:l,selectedFilters:n,hasDefaults:f,canSaveDefaults:o}};var z={getFiltersFromDefinition:k,setFilterValuesFromRequest:w,getFilters:U,setFilterQueryFromFilterDefinition:E,redirectWithDefaultFilters:O,setRequestQueryFromFilterValues:S,getPersonalisedFilters:L};0&&(module.exports={getFilters,getFiltersFromDefinition,getPersonalisedFilters,redirectWithDefaultFilters,setFilterQueryFromFilterDefinition,setFilterValuesFromRequest,setRequestQueryFromFilterValues});
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dpr/components/_filters/utils.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Request, Response } from 'express'\nimport { GranularDateRangeQuickFilterValue } from './types'\nimport { FilterType } from './filter-input/enum'\nimport type { components } from '../../types/api'\nimport type { FilterOption } from './filter-input/types'\nimport type {\n DateFilterValue,\n FilterValueType,\n DateRangeFilterValue,\n FilterValue,\n MultiselectFilterValue,\n GranularDateRangeFilterValue,\n GranularDateRange,\n GranularDateRangeGranularityValue,\n} from './types'\nimport ReportQuery, { DEFAULT_FILTERS_PREFIX } from '../../types/ReportQuery'\n\nimport SelectedFiltersUtils from './filters-selected/utils'\nimport DateRangeInputUtils from '../_inputs/date-range/utils'\nimport DateInputUtils from '../_inputs/date-input/utils'\nimport GranularDateRangeInputUtils from '../_inputs/granular-date-range/utils'\nimport MultiSelectUtils from '../_inputs/multi-select/utils'\nimport { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport PersonalistionUtils from '../../utils/Personalisation/personalisationUtils'\nimport createUrlForParameters from '../../utils/urlHelper'\nimport { Services } from '../../types/Services'\nimport { FiltersType } from './filtersTypeEnum'\nimport LocalsHelper from '../../utils/localsHelper'\nimport { defaultFilterValue } from '../../utils/Personalisation/types'\n\n/**\n * Given a FilterValue[], will update the values to match the req.query values if present\n *\n * @param {FilterValue[]} filters\n * @param {Request} req\n * @param {string} [prefix='filters.']\n * @return {*} {FilterValue[]}\n */\nexport const setFilterValuesFromRequest = (\n filters: FilterValue[],\n req: Request,\n prefix = 'filters.',\n): FilterValue[] => {\n const { preventDefault } = req.query\n\n if (Object.keys(req.query).every((key) => !key.includes(prefix)) && !preventDefault) {\n return filters\n }\n\n return filters.map((filter: FilterValue) => {\n let requestfilterValue: FilterValueType\n let requestfilterValues: string[] | undefined\n\n const type = filter.type.toLowerCase()\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n requestfilterValue = DateRangeInputUtils.setValueFromRequest(<DateRangeFilterValue>filter, req, prefix)\n break\n case FilterType.granularDateRange.toLowerCase():\n requestfilterValue = GranularDateRangeInputUtils.setValueFromRequest(\n <GranularDateRangeFilterValue>filter,\n req,\n prefix,\n )\n break\n case FilterType.date.toLowerCase():\n requestfilterValue = DateInputUtils.setValueFromRequest(<DateFilterValue>filter, req, prefix)\n break\n case FilterType.multiselect.toLowerCase():\n ;({ requestfilterValue, requestfilterValues } = MultiSelectUtils.setValueFromRequest(\n <MultiselectFilterValue>filter,\n req,\n prefix,\n ))\n break\n default:\n requestfilterValue = <string>req.query[`${prefix}${filter.name}`]\n break\n }\n\n let value: FilterValueType = null\n if (requestfilterValue) {\n value = requestfilterValue\n } else if (preventDefault) {\n value = ''\n }\n\n return {\n ...filter,\n value,\n ...(requestfilterValues && { values: requestfilterValues }),\n }\n })\n}\n\nexport const setFilterQueryFromFilterDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n) => {\n let filterFields: components['schemas']['FieldDefinition'][] = fields.filter((f) => f.filter)\n if (interactive) {\n filterFields = filterFields.filter(\n (f) => (<components['schemas']['FilterDefinition'] & { interactive?: boolean }>f.filter).interactive,\n )\n }\n\n return filterFields\n .filter((field) => field.filter !== undefined)\n .filter((field) => (<components['schemas']['FilterDefinition']>field.filter).defaultValue !== undefined)\n .map((field) => {\n const filter = <components['schemas']['FilterDefinition']>field.filter\n const type = filter.type.toLocaleLowerCase()\n\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n return DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.multiselect.toLowerCase():\n return MultiSelectUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.granularDateRange.toLowerCase(): {\n const startEndParams = DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n return GranularDateRangeInputUtils.getQueryFromDefinition(\n filter as unknown as components['schemas']['FilterDefinition'] & {\n defaultGranularity: Granularity\n defaultQuickFilterValue: QuickFilters\n },\n field.name,\n DEFAULT_FILTERS_PREFIX,\n startEndParams,\n )\n }\n\n default:\n return `${DEFAULT_FILTERS_PREFIX}${field.name}=${filter.defaultValue}`\n }\n })\n .join('&')\n}\n\nexport const getFiltersFromDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n): FilterValue[] => {\n const filters = fields\n .filter((f) => f.filter)\n .filter((f) => {\n if (interactive !== undefined) {\n if (f.filter.interactive === undefined) {\n return !interactive\n }\n return interactive === f.filter.interactive\n }\n return true\n })\n .map((f) => {\n const { display: text, name } = f\n const filter = <components['schemas']['FilterDefinition']>f.filter\n const { type, staticOptions, dynamicOptions, defaultValue, mandatory, pattern, index } = filter\n\n const options: FilterOption[] = staticOptions\n ? staticOptions.map((opt) => {\n return { value: opt.name, text: opt.display }\n })\n : []\n\n let filterData: FilterValue = {\n text,\n name,\n type: type as FilterType,\n value: defaultValue || null,\n minimumLength: dynamicOptions?.minimumLength,\n mandatory: mandatory || false,\n pattern,\n index,\n }\n\n const noFilterOption = {\n value: 'no-filter',\n text: 'None',\n disabled: false,\n }\n\n switch (type) {\n case FilterType.autocomplete.toLowerCase():\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.radio:\n if (!mandatory) options.unshift(noFilterOption)\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.select: {\n if (!mandatory) options.unshift(noFilterOption)\n options.unshift({\n value: '',\n text: 'Select your option',\n disabled: true,\n selected: true,\n })\n\n filterData = {\n ...filterData,\n options,\n }\n break\n }\n\n case FilterType.multiselect.toLowerCase():\n filterData = {\n ...filterData,\n options,\n values: defaultValue ? defaultValue.split(',') : [],\n }\n break\n\n case FilterType.dateRange.toLowerCase():\n filterData = DateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.date.toLowerCase():\n filterData = DateInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.granularDateRange.toLocaleLowerCase(): {\n filterData = GranularDateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n }\n\n default:\n break\n }\n\n return filterData\n })\n\n const orderedFilters = orderFilters(filters)\n return orderedFilters\n}\n\nconst orderFilters = (filterValues: FilterValue[]) => {\n const noIndexFilters = filterValues.filter((f) => f.index === undefined)\n const indexFilters = filterValues.filter((f) => f.index !== undefined)\n indexFilters.forEach((f) => {\n noIndexFilters.splice(f.index, 0, f)\n })\n return noIndexFilters\n}\n\nexport const setRequestQueryFromFilterValues = (filterValues: FilterValue[]) => {\n const requestQuery = filterValues\n .filter((fv) => fv.value)\n .reduce((acc, curr) => {\n const { value, name } = curr\n const filterPrefix = `filters.${name}`\n switch (curr.type) {\n case FilterType.granularDateRange.toLowerCase():\n {\n const granularDateRangeValue = <GranularDateRange>value\n Object.keys(granularDateRangeValue).forEach((key) => {\n let v = granularDateRangeValue[key as keyof GranularDateRange]\n if (key.includes('partialDate')) {\n acc = {\n ...acc,\n }\n } else {\n if (key.includes('granularity') || key.includes('quickFilter')) {\n v = (<GranularDateRangeGranularityValue | GranularDateRangeQuickFilterValue>v).value\n }\n acc = {\n ...acc,\n [`${filterPrefix}.${key}`]: v,\n }\n }\n })\n }\n break\n case FilterType.dateRange.toLowerCase():\n Object.keys(value).forEach((key) => {\n acc = {\n ...acc,\n [`${filterPrefix}.${key}`]: value[key as keyof FilterValueType],\n }\n })\n break\n case FilterType.multiselect.toLowerCase():\n acc = {\n ...acc,\n [`${filterPrefix}`]: (<string>value).split(','),\n }\n break\n default:\n acc = {\n ...acc,\n [`${filterPrefix}`]: value,\n }\n break\n }\n return acc\n }, {})\n\n return requestQuery\n}\n\nexport const redirectWithDefaultFilters = (\n reportQuery: ReportQuery,\n variantDefinition: components['schemas']['VariantDefinition'],\n response: Response,\n request: Request,\n) => {\n const defaultFilters: Record<string, string> = {}\n const { specification } = variantDefinition\n const fields = specification ? specification.fields : []\n const { preventDefault } = request.query\n const hasNoQueryFilters = Object.keys(reportQuery.filters).length === 0 && !preventDefault\n if (hasNoQueryFilters) {\n fields\n .filter((f) => f.filter && f.filter.defaultValue)\n .forEach((f) => {\n const { filter } = f\n if (filter) {\n if (filter.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n const { defaultValue } = <components['schemas']['FilterDefinition']>filter\n const dates = defaultValue ? defaultValue.split(' - ') : ''\n\n if (dates.length >= 1) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.start`] = dates[0]\n\n if (dates.length >= 2) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.end`] = dates[1]\n }\n }\n } else {\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}`] = filter.defaultValue || ''\n }\n }\n })\n }\n\n if (Object.keys(defaultFilters).length > 0) {\n const querystring = createUrlForParameters(reportQuery.toRecordWithFilterPrefix(), defaultFilters, fields)\n response.redirect(`${request.baseUrl}${request.path}${querystring}`)\n return true\n }\n\n return false\n}\n\nexport const getPersonalisedFilters = async (\n filters: FilterValue[],\n req: Request,\n res: Response,\n services: Services,\n filtersType: FiltersType,\n) => {\n const { reportId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n const defaultFilterValues: defaultFilterValue[] = await services.defaultFilterValuesService.get(\n dprUser.id,\n reportId,\n id,\n filtersType,\n )\n let defaultFilters = filters\n if (defaultFilterValues) {\n const personalisedFilters = PersonalistionUtils.setFilterValuesFromSavedDefaults(filters, [], defaultFilterValues)\n defaultFilters = personalisedFilters.filters\n }\n\n return { filters: defaultFilters, defaultFilterValues }\n}\n\nexport const getFilters = async ({\n fields,\n req,\n res,\n prefix = 'filters.',\n services,\n filtersType,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n req: Request\n res?: Response\n prefix?: string\n services?: Services\n filtersType: FiltersType\n}) => {\n // 1. Set the filters from the product definition\n let filters = await getFiltersFromDefinition(fields, filtersType === FiltersType.INTERACTIVE)\n\n let hasDefaults\n let canSaveDefaults = false\n if (services) {\n // 2. If there are personalised filters, overwrite fiters with the personalised filter values.\n const { filters: personalisedFilterValues, defaultFilterValues } = await getPersonalisedFilters(\n filters,\n req,\n res,\n services,\n filtersType,\n )\n filters = personalisedFilterValues\n hasDefaults = defaultFilterValues?.length > 0\n canSaveDefaults = true\n }\n\n // If there is a request query, overwrite the filters with the query params\n if (req.query) {\n filters = setFilterValuesFromRequest(filters, req)\n }\n\n // Set the selected filters\n const selectedFilters = SelectedFiltersUtils.getSelectedFilters(filters, prefix)\n\n return {\n filters,\n selectedFilters,\n hasDefaults,\n canSaveDefaults,\n }\n}\n\nexport default {\n getFiltersFromDefinition,\n setFilterValuesFromRequest,\n getFilters,\n setFilterQueryFromFilterDefinition,\n redirectWithDefaultFilters,\n setRequestQueryFromFilterValues,\n getPersonalisedFilters,\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Request, Response } from 'express'\nimport { GranularDateRangeQuickFilterValue } from './types'\nimport { FilterType } from './filter-input/enum'\nimport type { components } from '../../types/api'\nimport type { FilterOption } from './filter-input/types'\nimport type {\n DateFilterValue,\n FilterValueType,\n DateRangeFilterValue,\n FilterValue,\n MultiselectFilterValue,\n GranularDateRangeFilterValue,\n GranularDateRange,\n GranularDateRangeGranularityValue,\n} from './types'\nimport ReportQuery, { DEFAULT_FILTERS_PREFIX } from '../../types/ReportQuery'\n\nimport SelectedFiltersUtils from './filters-selected/utils'\nimport DateRangeInputUtils from '../_inputs/date-range/utils'\nimport DateInputUtils from '../_inputs/date-input/utils'\nimport GranularDateRangeInputUtils from '../_inputs/granular-date-range/utils'\nimport MultiSelectUtils from '../_inputs/multi-select/utils'\nimport { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport PersonalistionUtils from '../../utils/Personalisation/personalisationUtils'\nimport createUrlForParameters from '../../utils/urlHelper'\nimport { Services } from '../../types/Services'\nimport { FiltersType } from './filtersTypeEnum'\nimport LocalsHelper from '../../utils/localsHelper'\n\n/**\n * Given a FilterValue[], will update the values to match the req.query values if present\n *\n * @param {FilterValue[]} filters\n * @param {Request} req\n * @param {string} [prefix='filters.']\n * @return {*} {FilterValue[]}\n */\nexport const setFilterValuesFromRequest = (\n filters: FilterValue[],\n req: Request,\n prefix = 'filters.',\n): FilterValue[] => {\n const { preventDefault } = req.query\n\n if (Object.keys(req.query).every((key) => !key.includes(prefix)) && !preventDefault) {\n return filters\n }\n\n return filters.map((filter: FilterValue) => {\n let requestfilterValue: FilterValueType\n let requestfilterValues: string[] | undefined\n\n const type = filter.type.toLowerCase()\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n requestfilterValue = DateRangeInputUtils.setValueFromRequest(<DateRangeFilterValue>filter, req, prefix)\n break\n case FilterType.granularDateRange.toLowerCase():\n requestfilterValue = GranularDateRangeInputUtils.setValueFromRequest(\n <GranularDateRangeFilterValue>filter,\n req,\n prefix,\n )\n break\n case FilterType.date.toLowerCase():\n requestfilterValue = DateInputUtils.setValueFromRequest(<DateFilterValue>filter, req, prefix)\n break\n case FilterType.multiselect.toLowerCase():\n ;({ requestfilterValue, requestfilterValues } = MultiSelectUtils.setValueFromRequest(\n <MultiselectFilterValue>filter,\n req,\n prefix,\n ))\n break\n default:\n requestfilterValue = <string>req.query[`${prefix}${filter.name}`]\n break\n }\n\n let value: FilterValueType = null\n if (requestfilterValue) {\n value = requestfilterValue\n } else if (preventDefault) {\n value = ''\n }\n\n return {\n ...filter,\n value,\n ...(requestfilterValues && { values: requestfilterValues }),\n }\n })\n}\n\nexport const setFilterQueryFromFilterDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n) => {\n let filterFields: components['schemas']['FieldDefinition'][] = fields.filter((f) => f.filter)\n if (interactive) {\n filterFields = filterFields.filter(\n (f) => (<components['schemas']['FilterDefinition'] & { interactive?: boolean }>f.filter).interactive,\n )\n }\n\n return filterFields\n .filter((field) => field.filter !== undefined)\n .filter((field) => (<components['schemas']['FilterDefinition']>field.filter).defaultValue !== undefined)\n .map((field) => {\n const filter = <components['schemas']['FilterDefinition']>field.filter\n const type = filter.type.toLocaleLowerCase()\n\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n return DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.multiselect.toLowerCase():\n return MultiSelectUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.granularDateRange.toLowerCase(): {\n const startEndParams = DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n return GranularDateRangeInputUtils.getQueryFromDefinition(\n filter as unknown as components['schemas']['FilterDefinition'] & {\n defaultGranularity: Granularity\n defaultQuickFilterValue: QuickFilters\n },\n field.name,\n DEFAULT_FILTERS_PREFIX,\n startEndParams,\n )\n }\n\n default:\n return `${DEFAULT_FILTERS_PREFIX}${field.name}=${filter.defaultValue}`\n }\n })\n .join('&')\n}\n\nexport const getFiltersFromDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n): FilterValue[] => {\n const filters = fields\n .filter((f) => f.filter)\n .filter((f) => {\n if (interactive !== undefined) {\n if (f.filter?.interactive === undefined) {\n return !interactive\n }\n return interactive === f.filter.interactive\n }\n return true\n })\n .map((f) => {\n const { display: text, name } = f\n const filter = <components['schemas']['FilterDefinition']>f.filter\n const { type, staticOptions, dynamicOptions, defaultValue, mandatory, pattern, index } = filter\n\n const options: FilterOption[] = staticOptions\n ? staticOptions.map((opt) => {\n return { value: opt.name, text: opt.display }\n })\n : []\n\n let filterData: FilterValue = {\n text,\n name,\n type: type as FilterType,\n value: defaultValue || null,\n mandatory: mandatory || false,\n minimumLength: dynamicOptions?.minimumLength,\n pattern,\n index,\n }\n\n const noFilterOption = {\n value: 'no-filter',\n text: 'None',\n disabled: false,\n }\n\n switch (type) {\n case FilterType.autocomplete.toLowerCase():\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.radio:\n if (!mandatory) options.unshift(noFilterOption)\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.select: {\n if (!mandatory) options.unshift(noFilterOption)\n options.unshift({\n value: '',\n text: 'Select your option',\n disabled: true,\n selected: true,\n })\n\n filterData = {\n ...filterData,\n options,\n }\n break\n }\n\n case FilterType.multiselect.toLowerCase():\n filterData = {\n ...filterData,\n options,\n values: defaultValue ? defaultValue.split(',') : [],\n }\n break\n\n case FilterType.dateRange.toLowerCase():\n filterData = DateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.date.toLowerCase():\n filterData = DateInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.granularDateRange.toLocaleLowerCase(): {\n filterData = GranularDateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n }\n\n default:\n break\n }\n\n return filterData\n })\n\n const orderedFilters = orderFilters(filters)\n return orderedFilters\n}\n\nconst orderFilters = (filterValues: FilterValue[]) => {\n const noIndexFilters = filterValues.filter((f) => f.index === undefined)\n const indexFilters = filterValues.filter((f) => f.index !== undefined)\n indexFilters.forEach((f) => {\n if (f.index !== undefined) noIndexFilters.splice(f.index, 0, f)\n })\n return noIndexFilters\n}\n\nexport const setRequestQueryFromFilterValues = (filterValues: FilterValue[]) => {\n const requestQuery = filterValues\n .filter((fv) => fv.value)\n .reduce((acc, curr) => {\n const { value, name } = curr\n const filterPrefix = `filters.${name}`\n switch (curr.type) {\n case FilterType.granularDateRange.toLowerCase():\n {\n const granularDateRangeValue = <GranularDateRange>value\n Object.keys(granularDateRangeValue).forEach((key) => {\n let v = granularDateRangeValue[key as keyof GranularDateRange]\n if (key.includes('partialDate')) {\n acc = {\n ...acc,\n }\n } else {\n if (key.includes('granularity') || key.includes('quickFilter')) {\n v = (<GranularDateRangeGranularityValue | GranularDateRangeQuickFilterValue>v).value\n }\n acc = {\n ...acc,\n [`${filterPrefix}.${key}`]: v,\n }\n }\n })\n }\n break\n case FilterType.dateRange.toLowerCase():\n if (value) {\n Object.keys(value).forEach((key) => {\n acc = {\n ...acc,\n [`${filterPrefix}.${key}`]: value[key as keyof FilterValueType],\n }\n })\n }\n break\n case FilterType.multiselect.toLowerCase():\n acc = {\n ...acc,\n [`${filterPrefix}`]: (<string>value).split(','),\n }\n break\n default:\n acc = {\n ...acc,\n [`${filterPrefix}`]: value,\n }\n break\n }\n return acc\n }, {})\n\n return requestQuery\n}\n\nexport const redirectWithDefaultFilters = (\n reportQuery: ReportQuery,\n variantDefinition: components['schemas']['VariantDefinition'],\n response: Response,\n request: Request,\n) => {\n const defaultFilters: Record<string, string> = {}\n const { specification } = variantDefinition\n const fields = specification ? specification.fields : []\n const { preventDefault } = request.query\n const hasNoQueryFilters = Object.keys(reportQuery.filters).length === 0 && !preventDefault\n if (hasNoQueryFilters) {\n fields\n .filter((f) => f.filter && f.filter.defaultValue)\n .forEach((f) => {\n const { filter } = f\n if (filter) {\n if (filter.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n const { defaultValue } = <components['schemas']['FilterDefinition']>filter\n const dates = defaultValue ? defaultValue.split(' - ') : ''\n\n if (dates.length >= 1) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.start`] = dates[0]\n\n if (dates.length >= 2) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.end`] = dates[1]\n }\n }\n } else {\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}`] = filter.defaultValue || ''\n }\n }\n })\n }\n\n if (Object.keys(defaultFilters).length > 0) {\n const querystring = createUrlForParameters(reportQuery.toRecordWithFilterPrefix(), defaultFilters, fields)\n response.redirect(`${request.baseUrl}${request.path}${querystring}`)\n return true\n }\n\n return false\n}\n\nexport const getPersonalisedFilters = async (\n filters: FilterValue[],\n req: Request,\n res: Response,\n services: Services,\n filtersType: FiltersType,\n) => {\n const { reportId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n const defaultFilterValues = await services.defaultFilterValuesService.get(dprUser.id, reportId, id, filtersType)\n let defaultFilters = filters\n if (defaultFilterValues) {\n const personalisedFilters = PersonalistionUtils.setFilterValuesFromSavedDefaults(filters, [], defaultFilterValues)\n defaultFilters = personalisedFilters.filters\n }\n\n return { filters: defaultFilters, defaultFilterValues }\n}\n\nexport const getFilters = async ({\n fields,\n req,\n res,\n prefix = 'filters.',\n services,\n filtersType,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n req: Request\n res?: Response | undefined\n prefix?: string\n services?: Services | undefined\n filtersType: FiltersType\n}) => {\n // 1. Set the filters from the product definition\n let filters = await getFiltersFromDefinition(fields, filtersType === FiltersType.INTERACTIVE)\n\n let hasDefaults\n let canSaveDefaults = false\n if (services && res && res.locals['saveDefaultsEnabled']) {\n // 2. If there are personalised filters, overwrite fiters with the personalised filter values.\n const { filters: personalisedFilterValues, defaultFilterValues } = await getPersonalisedFilters(\n filters,\n req,\n res,\n services,\n filtersType,\n )\n filters = personalisedFilterValues\n hasDefaults = defaultFilterValues && defaultFilterValues.length > 0\n canSaveDefaults = true\n }\n\n // If there is a request query, overwrite the filters with the query params\n if (req.query) {\n filters = setFilterValuesFromRequest(filters, req)\n }\n\n // Set the selected filters\n const selectedFilters = SelectedFiltersUtils.getSelectedFilters(filters, prefix)\n\n return {\n filters,\n selectedFilters,\n hasDefaults,\n canSaveDefaults,\n }\n}\n\nexport default {\n getFiltersFromDefinition,\n setFilterValuesFromRequest,\n getFilters,\n setFilterQueryFromFilterDefinition,\n redirectWithDefaultFilters,\n setRequestQueryFromFilterValues,\n getPersonalisedFilters,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["utils_exports", "__export", "utils_default", "getFilters", "getFiltersFromDefinition", "getPersonalisedFilters", "redirectWithDefaultFilters", "setFilterQueryFromFilterDefinition", "setFilterValuesFromRequest", "setRequestQueryFromFilterValues", "__toCommonJS", "import_enum", "import_ReportQuery", "import_utils", "import_personalisationUtils", "import_urlHelper", "import_filtersTypeEnum", "import_localsHelper", "filters", "req", "prefix", "preventDefault", "key", "filter", "requestfilterValue", "requestfilterValues", "DateRangeInputUtils", "GranularDateRangeInputUtils", "DateInputUtils", "MultiSelectUtils", "value", "fields", "interactive", "filterFields", "f", "field", "startEndParams", "text", "name", "type", "staticOptions", "dynamicOptions", "defaultValue", "mandatory", "pattern", "index", "options", "opt", "filterData", "noFilterOption", "orderFilters", "filterValues", "noIndexFilters", "fv", "acc", "curr", "filterPrefix", "granularDateRangeValue", "v", "reportQuery", "variantDefinition", "response", "request", "defaultFilters", "specification", "dates", "querystring", "createUrlForParameters", "res", "services", "filtersType", "reportId", "id", "dprUser", "LocalsHelper", "defaultFilterValues", "PersonalistionUtils", "hasDefaults", "canSaveDefaults", "personalisedFilterValues", "selectedFilters", "SelectedFiltersUtils"]
|
|
7
7
|
}
|