@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.28.0 → 4.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/DprClientClass.js +43 -0
- package/dpr/DprClientClass.js.map +7 -0
- package/dpr/{DprClientClass.mjs → DprClientClass.ts} +1 -0
- package/dpr/DprFormValidationClass.js +157 -0
- package/dpr/DprFormValidationClass.js.map +7 -0
- package/dpr/{DprFormValidationClass.mjs → DprFormValidationClass.ts} +2 -1
- package/dpr/DprGenericFormClass.js +66 -0
- package/dpr/DprGenericFormClass.js.map +7 -0
- package/dpr/{DprGenericFormClass.mjs → DprGenericFormClass.ts} +2 -1
- package/dpr/DprLoadingHelper.js +51 -0
- package/dpr/DprLoadingHelper.js.map +7 -0
- package/dpr/{DprLoadingHelper.mjs → DprLoadingHelper.ts} +1 -0
- package/dpr/DprPollingStatusClass.js +79 -0
- package/dpr/DprPollingStatusClass.js.map +7 -0
- package/dpr/{DprPollingStatusClass.mjs → DprPollingStatusClass.ts} +2 -1
- package/dpr/DprQueryParamClass.js +231 -0
- package/dpr/DprQueryParamClass.js.map +7 -0
- package/dpr/{DprQueryParamClass.mjs → DprQueryParamClass.ts} +2 -1
- package/dpr/DprSyncLoading.js +44 -0
- package/dpr/DprSyncLoading.js.map +7 -0
- package/dpr/{DprSyncLoading.mjs → DprSyncLoading.ts} +2 -1
- package/dpr/all.js +111 -0
- package/dpr/all.js.map +7 -0
- package/dpr/{all.mjs → all.ts} +29 -28
- package/dpr/assets/app.js +1 -1
- package/dpr/assets/app.js.map +2 -2
- package/dpr/components/_async/async-filters-form/clientClass.js +76 -0
- package/dpr/components/_async/async-filters-form/clientClass.js.map +7 -0
- package/dpr/components/_async/async-filters-form/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +1 -1
- package/dpr/components/_async/async-polling/clientClass.js +78 -0
- package/dpr/components/_async/async-polling/clientClass.js.map +7 -0
- package/dpr/components/_async/async-polling/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js +94 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filter-by-type/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js +70 -0
- package/dpr/components/_catalogue/catalogue-filters/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-filters/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
- package/dpr/components/_catalogue/catalogue-search/clientClass.js +106 -0
- package/dpr/components/_catalogue/catalogue-search/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-search/{clientClass.mjs → clientClass.ts} +3 -2
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js +135 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js.map +7 -0
- package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/Chart.js.map +1 -1
- package/dpr/components/_charts/chart/ChartColours.js.map +1 -1
- package/dpr/components/_charts/chart/ChartTimeseries.js.map +1 -1
- package/dpr/components/_charts/chart/bar/BarChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar/clientClass.js +98 -0
- package/dpr/components/_charts/chart/bar/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/bar/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/bar/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar/validate.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/Buckets.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/types.js.map +1 -1
- package/dpr/components/_charts/chart/buckets/validate.js.map +1 -1
- package/dpr/components/_charts/chart/chart-config.js.map +1 -1
- package/dpr/components/_charts/chart/clientClass.js +136 -0
- package/dpr/components/_charts/chart/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/clientClass.js +170 -0
- package/dpr/components/_charts/chart/doughnut/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/doughnut/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/doughnut/types.js.map +1 -1
- package/dpr/components/_charts/chart/doughnut/validate.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/clientClass.js +118 -0
- package/dpr/components/_charts/chart/heatmap/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/heatmap/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +1 -1
- package/dpr/components/_charts/chart/heatmap/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line/LineChart.js.map +1 -1
- package/dpr/components/_charts/chart/line/clientClass.js +93 -0
- package/dpr/components/_charts/chart/line/clientClass.js.map +7 -0
- package/dpr/components/_charts/chart/line/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_charts/chart/line/types.js.map +1 -1
- package/dpr/components/_charts/chart/line/validate.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/types.js.map +1 -1
- package/dpr/components/_charts/chart/line-timeseries/validate.js.map +1 -1
- package/dpr/components/_charts/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/types.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-list/validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/clientClass.js +50 -0
- package/dpr/components/_dashboards/scorecard/clientClass.js.map +7 -0
- package/dpr/components/_dashboards/scorecard/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/validate.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard-group/validate.js.map +1 -1
- package/dpr/components/_filters/filter-input/enum.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.js.map +1 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
- package/dpr/components/_filters/filters-form/clientClass.js +104 -0
- package/dpr/components/_filters/filters-form/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-interactive/clientClass.js +55 -0
- package/dpr/components/_filters/filters-interactive/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-interactive/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_filters/filters-selected/clientClass.js +396 -0
- package/dpr/components/_filters/filters-selected/clientClass.js.map +7 -0
- package/dpr/components/_filters/filters-selected/{clientClass.mjs → clientClass.ts} +7 -7
- package/dpr/components/_filters/filters-selected/utils.js.map +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
- package/dpr/components/_filters/types.d.js.map +1 -1
- package/dpr/components/_filters/utils.js.map +1 -1
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js +153 -0
- package/dpr/components/_inputs/autocomplete-text-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/autocomplete-text-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-input/clientClass.js +109 -0
- package/dpr/components/_inputs/date-input/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-input/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-range/clientClass.js +206 -0
- package/dpr/components/_inputs/date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/date-range/types.js.map +1 -1
- package/dpr/components/_inputs/date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/clientClass.js +245 -0
- package/dpr/components/_inputs/granular-date-range/clientClass.js.map +7 -0
- package/dpr/components/_inputs/granular-date-range/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +1 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/report-actions/clientClass.js +103 -0
- package/dpr/components/_reports/report-actions/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-actions/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
- package/dpr/components/_reports/report-actions/utils.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/clientClass.js +76 -0
- package/dpr/components/_reports/report-columns-form/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-columns-form/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +1 -1
- package/dpr/components/_reports/report-data-table/clientClass.js +80 -0
- package/dpr/components/_reports/report-data-table/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-data-table/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +1 -1
- package/dpr/components/_reports/report-download-message/clientClass.js +42 -0
- package/dpr/components/_reports/report-download-message/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-download-message/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/clientClass.js +61 -0
- package/dpr/components/_reports/report-pagination/clientClass.js.map +7 -0
- package/dpr/components/_reports/report-pagination/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +1 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
- package/dpr/components/_reports/report-totals/utils.js.map +1 -1
- package/dpr/components/bookmark-toggle/clientClass.js +111 -0
- package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
- package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/clientClass.js +53 -0
- package/dpr/components/card-group/clientClass.js.map +7 -0
- package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/card-group/utils.js.map +1 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
- package/dpr/components/report-list/types.d.js.map +1 -1
- package/dpr/components/report-list/utils.js.map +1 -1
- package/dpr/components/show-more/clientClass.js +63 -0
- package/dpr/components/show-more/clientClass.js.map +7 -0
- package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/show-more/utils.js.map +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
- package/dpr/components/user-reports/requested/clientClass.js +132 -0
- package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
- package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/requested/utils.js.map +1 -1
- package/dpr/components/user-reports/types.d.js.map +1 -1
- package/dpr/components/user-reports/utils.js.map +1 -1
- package/dpr/components/user-reports/viewed/clientClass.js +102 -0
- package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
- package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
- package/dpr/components/user-reports/viewed/utils.js.map +1 -1
- package/dpr/data/agentConfig.js.map +1 -1
- package/dpr/data/dashboardClient.js.map +1 -1
- package/dpr/data/dprReportingClient.js.map +1 -1
- package/dpr/data/missingReportClient.js.map +1 -1
- package/dpr/data/productCollectionClient.js.map +1 -1
- package/dpr/data/reportDataStore.js.map +1 -1
- package/dpr/data/reportingClient.js.map +1 -1
- package/dpr/data/restClient.js.map +1 -1
- package/dpr/data/types.d.js.map +1 -1
- package/dpr/middleware/reportAuthoriser.js.map +1 -1
- package/dpr/middleware/setUpDprResources.js.map +1 -1
- package/dpr/middleware/setUpNestedRoute.js.map +1 -1
- package/dpr/routes/index.js.map +1 -1
- package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
- package/dpr/routes/journeys/download-report/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +1 -1
- package/dpr/services/dashboardService.js.map +1 -1
- package/dpr/services/defaultFilterValuesService.js.map +1 -1
- package/dpr/services/featureFlagService.js.map +1 -1
- package/dpr/services/featureFlags.cy.js.map +1 -1
- package/dpr/services/index.js.map +1 -1
- package/dpr/services/missingReport/missingReportService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionService.js.map +1 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
- package/dpr/services/reportStoreService.js.map +1 -1
- package/dpr/services/reportingService.js.map +1 -1
- package/dpr/setUpNunjucksFilters.js.map +1 -1
- package/dpr/types/AsyncReportUtils.js.map +1 -1
- package/dpr/types/Bookmark.js.map +1 -1
- package/dpr/types/Charts.js.map +1 -1
- package/dpr/types/Download.js.map +1 -1
- package/dpr/types/DprConfig.js.map +1 -1
- package/dpr/types/DprUser.js.map +1 -1
- package/dpr/types/EmbeddedReportUtils.js.map +1 -1
- package/dpr/types/ExecutionData.d.js.map +1 -1
- package/dpr/types/Metrics.js.map +1 -1
- package/dpr/types/ReportQuery.js.map +1 -1
- package/dpr/types/ReportStore.js.map +1 -1
- package/dpr/types/Services.d.js.map +1 -1
- package/dpr/types/Templates.d.js.map +1 -1
- package/dpr/types/UserReports.js.map +1 -1
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/index.d.js.map +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
- package/dpr/utils/CreateDprServices.js.map +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
- package/dpr/utils/DateMapper/types.d.js.map +1 -1
- package/dpr/utils/ErrorHandler.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
- package/dpr/utils/Personalisation/types.d.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
- package/dpr/utils/arrayUtils.js.map +1 -1
- package/dpr/utils/datasetHelper.js.map +1 -1
- package/dpr/utils/definitionUtils.js.map +1 -1
- package/dpr/utils/index.js.map +1 -1
- package/dpr/utils/indexedAccesHelper.js.map +1 -1
- package/dpr/utils/localsHelper.js.map +1 -1
- package/dpr/utils/logger.js.map +1 -1
- package/dpr/utils/reportListsHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.js.map +1 -1
- package/dpr/utils/requestStatusHelper.js.map +1 -1
- package/dpr/utils/sanitisedError.js.map +1 -1
- package/dpr/utils/urlHelper.js.map +1 -1
- package/dpr/validation/validate.js.map +1 -1
- package/package.json +11 -6
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var clientClass_exports = {};
|
|
20
|
+
__export(clientClass_exports, {
|
|
21
|
+
Autocomplete: () => Autocomplete,
|
|
22
|
+
default: () => clientClass_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
25
|
+
var import_DprClientClass = require("../../../DprClientClass");
|
|
26
|
+
class Autocomplete extends import_DprClientClass.DprClientClass {
|
|
27
|
+
static getModuleName() {
|
|
28
|
+
return "autocomplete-text-input";
|
|
29
|
+
}
|
|
30
|
+
constructor(element) {
|
|
31
|
+
super(element);
|
|
32
|
+
const listId = this.getTextInput().getAttribute("aria-owns");
|
|
33
|
+
this.listItemsSelector = `#${listId} li`;
|
|
34
|
+
this.listParentSelector = `#${listId} ul`;
|
|
35
|
+
}
|
|
36
|
+
initialise() {
|
|
37
|
+
const textInput = this.getTextInput();
|
|
38
|
+
textInput.addEventListener("keyup", (event) => {
|
|
39
|
+
this.onTextInput(event, textInput);
|
|
40
|
+
});
|
|
41
|
+
textInput.addEventListener("keypress", (e) => {
|
|
42
|
+
if (e.key === "Enter") {
|
|
43
|
+
e.stopPropagation();
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
this.getElement().querySelectorAll(".autocomplete-text-input-list-button").forEach((button) => {
|
|
48
|
+
button.addEventListener("click", (event) => {
|
|
49
|
+
this.onOptionClick(event, textInput, this.getElement());
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
this.initialiseDefaultValue(textInput);
|
|
53
|
+
}
|
|
54
|
+
initialiseDefaultValue(textInput) {
|
|
55
|
+
this.setValue(textInput, textInput.value, textInput.dataset.staticOptionNameValue);
|
|
56
|
+
}
|
|
57
|
+
getTextInput() {
|
|
58
|
+
return this.getElement().querySelector(".autocomplete-text-input-box");
|
|
59
|
+
}
|
|
60
|
+
onTextInput(event, textInput) {
|
|
61
|
+
const minLength = Number(textInput.dataset.minimumLength);
|
|
62
|
+
const { resourceEndpoint } = textInput.dataset;
|
|
63
|
+
const searchValue = event.target.value.toLowerCase();
|
|
64
|
+
if (resourceEndpoint) {
|
|
65
|
+
if (searchValue.length >= minLength) {
|
|
66
|
+
this.addItem(this.clearListAndRecreateTemplate(), "<i>Searching...</i>");
|
|
67
|
+
this.populateOptionsDynamically(
|
|
68
|
+
resourceEndpoint,
|
|
69
|
+
searchValue,
|
|
70
|
+
textInput,
|
|
71
|
+
() => this.clearListAndRecreateTemplate()
|
|
72
|
+
);
|
|
73
|
+
} else {
|
|
74
|
+
this.clearListAndRecreateTemplate();
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
this.getElement().querySelectorAll(this.listItemsSelector).forEach((item) => {
|
|
78
|
+
if (searchValue.length >= minLength && this.isMatchingStaticOptionNameOrDisplayPrefix(this.getInputListButton(item), searchValue, item)) {
|
|
79
|
+
item.classList.remove("autocomplete-text-input-item-hide");
|
|
80
|
+
} else {
|
|
81
|
+
item.classList.add("autocomplete-text-input-item-hide");
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (searchValue.length === 0) {
|
|
86
|
+
const changeEvent = new Event("change");
|
|
87
|
+
textInput.dispatchEvent(changeEvent);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
getInputListButton(item) {
|
|
91
|
+
return item.querySelector(".autocomplete-text-input-list-button");
|
|
92
|
+
}
|
|
93
|
+
isMatchingStaticOptionNameOrDisplayPrefix(inputListButton, searchValue, item) {
|
|
94
|
+
return this.isStaticOptionsNamePrefix(inputListButton.dataset.staticOptionNameValue, searchValue) || item.innerText.trim().toLowerCase().startsWith(searchValue);
|
|
95
|
+
}
|
|
96
|
+
isStaticOptionsNamePrefix(staticOptionNameValue, searchValue) {
|
|
97
|
+
return staticOptionNameValue && staticOptionNameValue.trim().toLowerCase().startsWith(searchValue);
|
|
98
|
+
}
|
|
99
|
+
async populateOptionsDynamically(resourceEndpoint, searchValue, textInput, templateProvider) {
|
|
100
|
+
try {
|
|
101
|
+
const response = await fetch(resourceEndpoint.replace("{prefix}", encodeURI(searchValue)));
|
|
102
|
+
const results = await response.json();
|
|
103
|
+
if (searchValue === textInput.value.toLowerCase()) {
|
|
104
|
+
const template = templateProvider();
|
|
105
|
+
results.forEach((r) => {
|
|
106
|
+
this.addItem(template, r, (event) => {
|
|
107
|
+
this.onOptionClick(event, textInput, this.getElement());
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
} catch (error) {
|
|
112
|
+
this.addItem(templateProvider(), `Failed to retrieve results: ${error}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
onOptionClick(event, textInput, topLevelElement) {
|
|
116
|
+
event.preventDefault();
|
|
117
|
+
this.setValue(textInput, event.target.innerText.trim(), event.target.dataset.staticOptionNameValue);
|
|
118
|
+
topLevelElement.querySelectorAll("li").forEach((item) => {
|
|
119
|
+
item.classList.add("autocomplete-text-input-item-hide");
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
setValue(textInput, value, staticOptionNameValue) {
|
|
123
|
+
textInput.value = value;
|
|
124
|
+
textInput.staticOptionNameValue = staticOptionNameValue;
|
|
125
|
+
textInput.focus();
|
|
126
|
+
const changeEvent = new Event("change");
|
|
127
|
+
textInput.dispatchEvent(changeEvent);
|
|
128
|
+
}
|
|
129
|
+
addItem(template, content, clickEvent) {
|
|
130
|
+
const item = template.cloneNode(true);
|
|
131
|
+
item.querySelector("button").innerHTML = content;
|
|
132
|
+
item.classList.remove("autocomplete-text-input-item-hide");
|
|
133
|
+
this.getElement().querySelector(this.listParentSelector).appendChild(item);
|
|
134
|
+
if (clickEvent) {
|
|
135
|
+
item.addEventListener("click", (event) => {
|
|
136
|
+
clickEvent(event);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
clearListAndRecreateTemplate() {
|
|
141
|
+
const template = this.getElement().querySelector(this.listItemsSelector).cloneNode(true);
|
|
142
|
+
template.classList.add("autocomplete-text-input-item-hide");
|
|
143
|
+
this.getElement().querySelectorAll(this.listItemsSelector).forEach((e) => e.remove());
|
|
144
|
+
this.getElement().querySelector(this.listParentSelector).append(template);
|
|
145
|
+
return template;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
var clientClass_default = Autocomplete;
|
|
149
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
150
|
+
0 && (module.exports = {
|
|
151
|
+
Autocomplete
|
|
152
|
+
});
|
|
153
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/autocomplete-text-input/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass Autocomplete extends DprClientClass {\n static getModuleName() {\n return 'autocomplete-text-input'\n }\n\n constructor(element) {\n super(element)\n\n const listId = this.getTextInput().getAttribute('aria-owns')\n this.listItemsSelector = `#${listId} li`\n this.listParentSelector = `#${listId} ul`\n }\n\n initialise() {\n const textInput = this.getTextInput()\n textInput.addEventListener('keyup', (event) => {\n this.onTextInput(event, textInput)\n })\n\n textInput.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n e.preventDefault()\n }\n })\n\n this.getElement()\n .querySelectorAll('.autocomplete-text-input-list-button')\n .forEach((button) => {\n button.addEventListener('click', (event) => {\n this.onOptionClick(event, textInput, this.getElement())\n })\n })\n\n this.initialiseDefaultValue(textInput)\n }\n\n initialiseDefaultValue(textInput) {\n this.setValue(textInput, textInput.value, textInput.dataset.staticOptionNameValue)\n }\n\n getTextInput() {\n return this.getElement().querySelector('.autocomplete-text-input-box')\n }\n\n onTextInput(event, textInput) {\n const minLength = Number(textInput.dataset.minimumLength)\n const { resourceEndpoint } = textInput.dataset\n const searchValue = event.target.value.toLowerCase()\n\n if (resourceEndpoint) {\n if (searchValue.length >= minLength) {\n this.addItem(this.clearListAndRecreateTemplate(), '<i>Searching...</i>')\n this.populateOptionsDynamically(resourceEndpoint, searchValue, textInput, () =>\n this.clearListAndRecreateTemplate(),\n )\n } else {\n this.clearListAndRecreateTemplate()\n }\n } else {\n this.getElement()\n .querySelectorAll(this.listItemsSelector)\n .forEach((item) => {\n if (\n searchValue.length >= minLength &&\n this.isMatchingStaticOptionNameOrDisplayPrefix(this.getInputListButton(item), searchValue, item)\n ) {\n item.classList.remove('autocomplete-text-input-item-hide')\n } else {\n item.classList.add('autocomplete-text-input-item-hide')\n }\n })\n }\n\n if (searchValue.length === 0) {\n const changeEvent = new Event('change')\n textInput.dispatchEvent(changeEvent)\n }\n }\n\n getInputListButton(item) {\n return item.querySelector('.autocomplete-text-input-list-button')\n }\n\n isMatchingStaticOptionNameOrDisplayPrefix(inputListButton, searchValue, item) {\n return (\n this.isStaticOptionsNamePrefix(inputListButton.dataset.staticOptionNameValue, searchValue) ||\n item.innerText.trim().toLowerCase().startsWith(searchValue)\n )\n }\n\n isStaticOptionsNamePrefix(staticOptionNameValue, searchValue) {\n return staticOptionNameValue && staticOptionNameValue.trim().toLowerCase().startsWith(searchValue)\n }\n\n async populateOptionsDynamically(resourceEndpoint, searchValue, textInput, templateProvider) {\n try {\n const response = await fetch(resourceEndpoint.replace('{prefix}', encodeURI(searchValue)))\n const results = await response.json()\n\n if (searchValue === textInput.value.toLowerCase()) {\n const template = templateProvider()\n\n results.forEach((r) => {\n this.addItem(template, r, (event) => {\n this.onOptionClick(event, textInput, this.getElement())\n })\n })\n }\n } catch (error) {\n this.addItem(templateProvider(), `Failed to retrieve results: ${error}`)\n }\n }\n\n onOptionClick(event, textInput, topLevelElement) {\n event.preventDefault()\n this.setValue(textInput, event.target.innerText.trim(), event.target.dataset.staticOptionNameValue)\n topLevelElement.querySelectorAll('li').forEach((item) => {\n item.classList.add('autocomplete-text-input-item-hide')\n })\n }\n\n setValue(textInput, value, staticOptionNameValue) {\n // eslint-disable-next-line no-param-reassign\n textInput.value = value\n // eslint-disable-next-line no-param-reassign\n textInput.staticOptionNameValue = staticOptionNameValue\n\n textInput.focus()\n const changeEvent = new Event('change')\n textInput.dispatchEvent(changeEvent)\n }\n\n addItem(template, content, clickEvent) {\n const item = template.cloneNode(true)\n item.querySelector('button').innerHTML = content\n item.classList.remove('autocomplete-text-input-item-hide')\n this.getElement().querySelector(this.listParentSelector).appendChild(item)\n\n if (clickEvent) {\n item.addEventListener('click', (event) => {\n clickEvent(event)\n })\n }\n }\n\n clearListAndRecreateTemplate() {\n const template = this.getElement().querySelector(this.listItemsSelector).cloneNode(true)\n template.classList.add('autocomplete-text-input-item-hide')\n this.getElement()\n .querySelectorAll(this.listItemsSelector)\n .forEach((e) => e.remove())\n this.getElement().querySelector(this.listParentSelector).append(template)\n return template\n }\n}\n\nexport { Autocomplete }\nexport default Autocomplete\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/autocomplete-text-input/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Request } from 'express'\nimport { components } from '../../../types/api'\nimport { FilterValueWithOptions } from '../../_filters/types'\n\nconst setValueFromRequest = (filter: FilterValueWithOptions, req: Request, prefix: string) => {\n const value = <string>req.query[`${prefix}${filter.name}`]\n const option = filter.options.find((opt) => opt.value === value)\n\n let requestfilterValue = value\n let requestOptionValue\n if (option) {\n requestfilterValue = option.text || value\n requestOptionValue = value\n }\n\n return {\n requestfilterValue,\n requestOptionValue,\n }\n}\n\nconst getDisplayValue = (filter: components['schemas']['FilterDefinition'], value: string) => {\n const option = filter.staticOptions?.find((opt) => opt.name === value)\n return option ? option.display : value\n}\n\nexport default {\n setValueFromRequest,\n getDisplayValue,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,sBAAsB,CAAC,QAAgC,KAAc,WAAmB;AAC5F,QAAM,QAAgB,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,EAAE;AACzD,QAAM,SAAS,OAAO,QAAQ,KAAK,CAAC,QAAQ,IAAI,UAAU,KAAK;AAE/D,MAAI,qBAAqB;AACzB,MAAI;AACJ,MAAI,QAAQ;AACV,yBAAqB,OAAO,QAAQ;AACpC,yBAAqB;AAAA,EACvB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,MAAM,kBAAkB,CAAC,QAAmD,UAAkB;AAC5F,QAAM,SAAS,OAAO,eAAe,KAAK,CAAC,QAAQ,IAAI,SAAS,KAAK;AACrE,SAAO,SAAS,OAAO,UAAU;AACnC;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
DateInput: () => DateInput,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
36
|
+
var import_DprClientClass = require("../../../DprClientClass");
|
|
37
|
+
class DateInput extends import_DprClientClass.DprClientClass {
|
|
38
|
+
static getModuleName() {
|
|
39
|
+
return "date-input";
|
|
40
|
+
}
|
|
41
|
+
initialise() {
|
|
42
|
+
const element = this.getElement();
|
|
43
|
+
this.dateInput = element.querySelector(`input.moj-js-datepicker-input`);
|
|
44
|
+
this.setToValueTriggers = document.querySelectorAll(`[data-set-min-max-trigger='true']`);
|
|
45
|
+
this.required = this.getElement().getAttribute("data-required");
|
|
46
|
+
this.displayName = this.getElement().getAttribute("data-display-name");
|
|
47
|
+
this.pattern = this.getElement().getAttribute("data-pattern");
|
|
48
|
+
this.patternHint = this.getElement().getAttribute("data-pattern-hint");
|
|
49
|
+
this.min = this.getElement().getAttribute("data-min");
|
|
50
|
+
this.max = this.getElement().getAttribute("data-max");
|
|
51
|
+
this.setValidationOnInputEl();
|
|
52
|
+
this.setMinMaxEventListener();
|
|
53
|
+
this.setToMinMax();
|
|
54
|
+
this.setToValue();
|
|
55
|
+
}
|
|
56
|
+
setValidationOnInputEl() {
|
|
57
|
+
if (this.required && this.required === "true") {
|
|
58
|
+
this.dateInput.setAttribute("required", true);
|
|
59
|
+
}
|
|
60
|
+
if (this.min) this.dateInput.setAttribute("min", this.min);
|
|
61
|
+
if (this.max) this.dateInput.setAttribute("max", this.max);
|
|
62
|
+
this.dateInput.setAttribute("display-name", this.displayName);
|
|
63
|
+
this.dateInput.setAttribute("pattern", this.pattern);
|
|
64
|
+
this.dateInput.setAttribute("pattern-hint", this.patternHint);
|
|
65
|
+
}
|
|
66
|
+
setMinMaxEventListener() {
|
|
67
|
+
this.dateInput.addEventListener("blur", () => {
|
|
68
|
+
this.setToMinMax();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
setToMinMax() {
|
|
72
|
+
if (this.dateInput.value) {
|
|
73
|
+
const dateValue = new Date(this.dateInput.value);
|
|
74
|
+
if (this.min) {
|
|
75
|
+
const minDate = new Date(this.min);
|
|
76
|
+
if (dateValue < minDate) {
|
|
77
|
+
this.dateInput.value = (0, import_dayjs.default)(this.min).format("DD/MM/YYYY");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (this.max) {
|
|
81
|
+
const maxDate = new Date(this.max);
|
|
82
|
+
if (dateValue > maxDate) {
|
|
83
|
+
this.dateInput.value = (0, import_dayjs.default)(this.max).format("DD/MM/YYYY");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const changeEvent = new Event("change");
|
|
88
|
+
this.dateInput.dispatchEvent(changeEvent);
|
|
89
|
+
}
|
|
90
|
+
setToValue() {
|
|
91
|
+
this.setToValueTriggers.forEach((set) => {
|
|
92
|
+
set.addEventListener("click", (e) => {
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
const value = e.target.getAttribute("data-set-min-max-value");
|
|
95
|
+
const inputId = e.target.getAttribute("data-set-to-input");
|
|
96
|
+
const input = document.getElementById(inputId);
|
|
97
|
+
input.value = value;
|
|
98
|
+
const changeEvent = new Event("change");
|
|
99
|
+
input.dispatchEvent(changeEvent);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
var clientClass_default = DateInput;
|
|
105
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
106
|
+
0 && (module.exports = {
|
|
107
|
+
DateInput
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/date-input/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport dayjs from 'dayjs'\n\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass DateInput extends DprClientClass {\n static getModuleName() {\n return 'date-input'\n }\n\n initialise() {\n const element = this.getElement()\n this.dateInput = element.querySelector(`input.moj-js-datepicker-input`)\n this.setToValueTriggers = document.querySelectorAll(`[data-set-min-max-trigger='true']`)\n\n this.required = this.getElement().getAttribute('data-required')\n this.displayName = this.getElement().getAttribute('data-display-name')\n this.pattern = this.getElement().getAttribute('data-pattern')\n this.patternHint = this.getElement().getAttribute('data-pattern-hint')\n this.min = this.getElement().getAttribute('data-min')\n this.max = this.getElement().getAttribute('data-max')\n\n this.setValidationOnInputEl()\n this.setMinMaxEventListener()\n this.setToMinMax()\n this.setToValue()\n }\n\n setValidationOnInputEl() {\n if (this.required && this.required === 'true') {\n this.dateInput.setAttribute('required', true)\n }\n if (this.min) this.dateInput.setAttribute('min', this.min)\n if (this.max) this.dateInput.setAttribute('max', this.max)\n\n this.dateInput.setAttribute('display-name', this.displayName)\n this.dateInput.setAttribute('pattern', this.pattern)\n this.dateInput.setAttribute('pattern-hint', this.patternHint)\n }\n\n setMinMaxEventListener() {\n this.dateInput.addEventListener('blur', () => {\n this.setToMinMax()\n })\n }\n\n setToMinMax() {\n if (this.dateInput.value) {\n const dateValue = new Date(this.dateInput.value)\n\n if (this.min) {\n const minDate = new Date(this.min)\n if (dateValue < minDate) {\n this.dateInput.value = dayjs(this.min).format('DD/MM/YYYY')\n }\n }\n\n if (this.max) {\n const maxDate = new Date(this.max)\n if (dateValue > maxDate) {\n this.dateInput.value = dayjs(this.max).format('DD/MM/YYYY')\n }\n }\n }\n\n const changeEvent = new Event('change')\n this.dateInput.dispatchEvent(changeEvent)\n }\n\n setToValue() {\n this.setToValueTriggers.forEach((set) => {\n set.addEventListener('click', (e) => {\n e.preventDefault()\n const value = e.target.getAttribute('data-set-min-max-value')\n const inputId = e.target.getAttribute('data-set-to-input')\n const input = document.getElementById(inputId)\n\n input.value = value\n const changeEvent = new Event('change')\n input.dispatchEvent(changeEvent)\n })\n })\n }\n}\n\nexport { DateInput }\nexport default DateInput\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAkB;AAElB,4BAA+B;AAE/B,MAAM,kBAAkB,qCAAe;AAAA,EACrC,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,UAAM,UAAU,KAAK,WAAW;AAChC,SAAK,YAAY,QAAQ,cAAc,+BAA+B;AACtE,SAAK,qBAAqB,SAAS,iBAAiB,mCAAmC;AAEvF,SAAK,WAAW,KAAK,WAAW,EAAE,aAAa,eAAe;AAC9D,SAAK,cAAc,KAAK,WAAW,EAAE,aAAa,mBAAmB;AACrE,SAAK,UAAU,KAAK,WAAW,EAAE,aAAa,cAAc;AAC5D,SAAK,cAAc,KAAK,WAAW,EAAE,aAAa,mBAAmB;AACrE,SAAK,MAAM,KAAK,WAAW,EAAE,aAAa,UAAU;AACpD,SAAK,MAAM,KAAK,WAAW,EAAE,aAAa,UAAU;AAEpD,SAAK,uBAAuB;AAC5B,SAAK,uBAAuB;AAC5B,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,yBAAyB;AACvB,QAAI,KAAK,YAAY,KAAK,aAAa,QAAQ;AAC7C,WAAK,UAAU,aAAa,YAAY,IAAI;AAAA,IAC9C;AACA,QAAI,KAAK,IAAK,MAAK,UAAU,aAAa,OAAO,KAAK,GAAG;AACzD,QAAI,KAAK,IAAK,MAAK,UAAU,aAAa,OAAO,KAAK,GAAG;AAEzD,SAAK,UAAU,aAAa,gBAAgB,KAAK,WAAW;AAC5D,SAAK,UAAU,aAAa,WAAW,KAAK,OAAO;AACnD,SAAK,UAAU,aAAa,gBAAgB,KAAK,WAAW;AAAA,EAC9D;AAAA,EAEA,yBAAyB;AACvB,SAAK,UAAU,iBAAiB,QAAQ,MAAM;AAC5C,WAAK,YAAY;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,cAAc;AACZ,QAAI,KAAK,UAAU,OAAO;AACxB,YAAM,YAAY,IAAI,KAAK,KAAK,UAAU,KAAK;AAE/C,UAAI,KAAK,KAAK;AACZ,cAAM,UAAU,IAAI,KAAK,KAAK,GAAG;AACjC,YAAI,YAAY,SAAS;AACvB,eAAK,UAAU,YAAQ,aAAAA,SAAM,KAAK,GAAG,EAAE,OAAO,YAAY;AAAA,QAC5D;AAAA,MACF;AAEA,UAAI,KAAK,KAAK;AACZ,cAAM,UAAU,IAAI,KAAK,KAAK,GAAG;AACjC,YAAI,YAAY,SAAS;AACvB,eAAK,UAAU,YAAQ,aAAAA,SAAM,KAAK,GAAG,EAAE,OAAO,YAAY;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAEA,UAAM,cAAc,IAAI,MAAM,QAAQ;AACtC,SAAK,UAAU,cAAc,WAAW;AAAA,EAC1C;AAAA,EAEA,aAAa;AACX,SAAK,mBAAmB,QAAQ,CAAC,QAAQ;AACvC,UAAI,iBAAiB,SAAS,CAAC,MAAM;AACnC,UAAE,eAAe;AACjB,cAAM,QAAQ,EAAE,OAAO,aAAa,wBAAwB;AAC5D,cAAM,UAAU,EAAE,OAAO,aAAa,mBAAmB;AACzD,cAAM,QAAQ,SAAS,eAAe,OAAO;AAE7C,cAAM,QAAQ;AACd,cAAM,cAAc,IAAI,MAAM,QAAQ;AACtC,cAAM,cAAc,WAAW;AAAA,MACjC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": ["dayjs"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/date-input/utils.ts"],
|
|
4
4
|
"sourcesContent": ["import { Request } from 'express'\nimport dayjs from 'dayjs'\nimport customParse from 'dayjs/plugin/customParseFormat'\nimport { components } from '../../../types/api'\nimport { DateFilterValue, FilterValue } from '../../_filters/types'\nimport StartEndDatetUtils from '../start-end-date/utils'\nimport { defaultFilterValue } from '../../../utils/Personalisation/types'\n\ndayjs.extend(customParse)\n\nexport const setDateValueWithinMinMax = (filter: components['schemas']['FilterDefinition']) => {\n const { defaultValue, min, max } = filter\n let dateValue\n if (defaultValue) {\n dateValue = defaultValue\n if (min) dateValue = StartEndDatetUtils.compareMin(min, dateValue)\n if (max) dateValue = StartEndDatetUtils.compareMax(max, dateValue)\n }\n return dateValue\n}\n\nexport const setValueFromRequest = (filter: FilterValue, req: Request, prefix: string): string => {\n const { min, max, mandatory } = <DateFilterValue>filter\n const dateValue = <string>req.query[`${prefix}${filter.name}`]\n let value = dateValue\n if (mandatory && !dateValue) {\n value = min || max || '1977-05-25'\n }\n return value\n}\n\nexport const setFilterValueFromDefault = (defaultValue: defaultFilterValue, filter: FilterValue) => {\n const value = defaultValue.value\n ? dayjs(<string>defaultValue.value, 'D/M/YYYY')\n .format('YYYY-MM-DD')\n .toString()\n : ''\n return {\n ...filter,\n value,\n }\n}\n\nexport const getFilterFromDefinition = (filter: components['schemas']['FilterDefinition'], filterData: FilterValue) => {\n return {\n ...filterData,\n value: setDateValueWithinMinMax(filter) || '',\n min: filter.min,\n max: filter.max,\n }\n}\n\nexport default {\n setDateValueWithinMinMax,\n getFilterFromDefinition,\n setValueFromRequest,\n setFilterValueFromDefault,\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAkB;AAClB,+BAAwB;AAGxB,mBAA+B;AAG/B,aAAAA,QAAM,OAAO,yBAAAC,OAAW;AAEjB,MAAM,2BAA2B,CAAC,WAAsD;AAC7F,QAAM,EAAE,cAAc,KAAK,IAAI,IAAI;AACnC,MAAI;AACJ,MAAI,cAAc;AAChB,gBAAY;AACZ,QAAI,IAAK,aAAY,aAAAC,QAAmB,WAAW,KAAK,SAAS;AACjE,QAAI,IAAK,aAAY,aAAAA,QAAmB,WAAW,KAAK,SAAS;AAAA,EACnE;AACA,SAAO;AACT;AAEO,MAAM,sBAAsB,CAAC,QAAqB,KAAc,WAA2B;AAChG,QAAM,EAAE,KAAK,KAAK,UAAU,IAAqB;AACjD,QAAM,YAAoB,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,EAAE;AAC7D,MAAI,QAAQ;AACZ,MAAI,aAAa,CAAC,WAAW;AAC3B,YAAQ,OAAO,OAAO;AAAA,EACxB;AACA,SAAO;AACT;AAEO,MAAM,4BAA4B,CAAC,cAAkC,WAAwB;AAClG,QAAM,QAAQ,aAAa,YACvB,aAAAF,SAAc,aAAa,OAAO,UAAU,EACzC,OAAO,YAAY,EACnB,SAAS,IACZ;AACJ,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,0BAA0B,CAAC,QAAmD,eAA4B;AACrH,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,yBAAyB,MAAM,KAAK;AAAA,IAC3C,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,EACd;AACF;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
6
|
"names": ["dayjs", "customParse", "StartEndDatetUtils"]
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var clientClass_exports = {};
|
|
30
|
+
__export(clientClass_exports, {
|
|
31
|
+
DateRangeInput: () => DateRangeInput,
|
|
32
|
+
default: () => clientClass_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(clientClass_exports);
|
|
35
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
36
|
+
var import_DprClientClass = require("../../../DprClientClass");
|
|
37
|
+
class DateRangeInput extends import_DprClientClass.DprClientClass {
|
|
38
|
+
static getModuleName() {
|
|
39
|
+
return "date-range-input";
|
|
40
|
+
}
|
|
41
|
+
initialise() {
|
|
42
|
+
this.dateRangeInputs = document.getElementById("dpr-date-range");
|
|
43
|
+
this.filtersAccordion = document.getElementById("dpr-interactive-filters-details");
|
|
44
|
+
this.fieldName = this.dateRangeInputs.getAttribute("data-field-name");
|
|
45
|
+
this.startInputID = `filters.${this.fieldName}.start`;
|
|
46
|
+
this.endInputID = `filters.${this.fieldName}.end`;
|
|
47
|
+
this.durationInputID = `filters.${this.fieldName}.relative-duration`;
|
|
48
|
+
this.relativeRangeRadioButtons = document.querySelectorAll(`input[name='${this.durationInputID}']`);
|
|
49
|
+
this.startInput = document.querySelector(`input[name='${this.startInputID}']`);
|
|
50
|
+
this.endInput = document.querySelector(`input[name='${this.endInputID}']`);
|
|
51
|
+
this.startRequired = this.startInput.required;
|
|
52
|
+
this.endRequired = this.endInput.required;
|
|
53
|
+
this.datePickerTab = document.getElementById(`tab_${this.fieldName}-date-picker`);
|
|
54
|
+
this.relativeDurationTab = document.getElementById(`tab_${this.fieldName}-relative-range`);
|
|
55
|
+
this.durationValue = void 0;
|
|
56
|
+
if (this.datePickerTab && this.relativeDurationTab) {
|
|
57
|
+
this.initDatePickerTabClick();
|
|
58
|
+
this.initRelativeDurationTabClick();
|
|
59
|
+
this.initTabs();
|
|
60
|
+
this.initDurationRadionButtonClick();
|
|
61
|
+
this.initDatePickerUpdateEvents();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
initTabs() {
|
|
65
|
+
this.queryParams = new URLSearchParams(window.location.search);
|
|
66
|
+
if (this.queryParams.has(this.durationInputID)) {
|
|
67
|
+
this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
|
|
68
|
+
this.updateCheckedDuration(durationRadioButton);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
initDatePickerTabClick() {
|
|
73
|
+
this.datePickerTab.addEventListener("click", () => {
|
|
74
|
+
let value;
|
|
75
|
+
this.queryParams = new URLSearchParams(window.location.search);
|
|
76
|
+
if (this.queryParams.has(this.durationInputID)) {
|
|
77
|
+
value = this.queryParams.get(this.durationInputID);
|
|
78
|
+
this.removeSearchParam(this.durationInputID);
|
|
79
|
+
}
|
|
80
|
+
this.updateInputs(value);
|
|
81
|
+
const changeEvent = new Event("change");
|
|
82
|
+
this.startInput.dispatchEvent(changeEvent);
|
|
83
|
+
this.endInput.dispatchEvent(changeEvent);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
initRelativeDurationTabClick() {
|
|
87
|
+
this.relativeDurationTab.addEventListener("click", () => {
|
|
88
|
+
this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
|
|
89
|
+
this.updateCheckedDuration(durationRadioButton);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
resetDurationValue() {
|
|
94
|
+
this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
|
|
95
|
+
durationRadioButton.checked = false;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
initDurationRadionButtonClick() {
|
|
99
|
+
this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
|
|
100
|
+
durationRadioButton.addEventListener("click", (e) => {
|
|
101
|
+
const durationValue = e.target.value;
|
|
102
|
+
this.durationValue = durationValue;
|
|
103
|
+
this.updateInputs(durationValue);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
|
|
107
|
+
durationRadioButton.addEventListener("change", () => {
|
|
108
|
+
if (Array.from(this.relativeRangeRadioButtons).every((input) => !input.checked)) {
|
|
109
|
+
this.durationValue = null;
|
|
110
|
+
this.updateInputs(this.durationValue);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
removeSearchParam(name, name2) {
|
|
116
|
+
this.queryParams = new URLSearchParams(window.location.search);
|
|
117
|
+
this.queryParams.delete(name);
|
|
118
|
+
if (name2) this.queryParams.delete(name2);
|
|
119
|
+
window.history.replaceState(null, null, `?${this.queryParams.toString()}`);
|
|
120
|
+
}
|
|
121
|
+
updateCheckedDuration(durationRadioButton) {
|
|
122
|
+
if (durationRadioButton.checked) {
|
|
123
|
+
const durationValue = durationRadioButton.value;
|
|
124
|
+
this.updateInputs(durationValue);
|
|
125
|
+
const changeEvent = new Event("change");
|
|
126
|
+
durationRadioButton.dispatchEvent(changeEvent);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
removeRequiredFromDatePickers() {
|
|
130
|
+
this.startInput.removeAttribute("required");
|
|
131
|
+
this.endInput.removeAttribute("required");
|
|
132
|
+
this.startInput.value = "";
|
|
133
|
+
this.endInput.value = "";
|
|
134
|
+
}
|
|
135
|
+
updateInputs(durationValue) {
|
|
136
|
+
this.startInput.required = this.startRequired;
|
|
137
|
+
this.endInput.required = this.endRequired;
|
|
138
|
+
if (durationValue || this.durationValue) {
|
|
139
|
+
const d = durationValue || this.durationValue;
|
|
140
|
+
const { startDate, endDate } = this.calculateDateForDatepicker(d);
|
|
141
|
+
this.startInput.value = startDate;
|
|
142
|
+
this.endInput.value = endDate;
|
|
143
|
+
} else {
|
|
144
|
+
this.startInput.value = null;
|
|
145
|
+
this.endInput.value = null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
initDatePickerUpdateEvents() {
|
|
149
|
+
this.startInput.addEventListener("change", () => {
|
|
150
|
+
this.removeSearchParam(this.durationInputID);
|
|
151
|
+
this.resetDurationValue();
|
|
152
|
+
});
|
|
153
|
+
this.endInput.addEventListener("change", () => {
|
|
154
|
+
this.removeSearchParam(this.durationInputID);
|
|
155
|
+
this.resetDurationValue();
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
calculateDateForDatepicker(duration) {
|
|
159
|
+
let startDate;
|
|
160
|
+
let endDate;
|
|
161
|
+
switch (duration) {
|
|
162
|
+
case "none":
|
|
163
|
+
startDate = "";
|
|
164
|
+
endDate = "";
|
|
165
|
+
break;
|
|
166
|
+
case "yesterday":
|
|
167
|
+
endDate = (0, import_dayjs.default)();
|
|
168
|
+
startDate = endDate.subtract(1, "day");
|
|
169
|
+
break;
|
|
170
|
+
case "tomorrow":
|
|
171
|
+
startDate = (0, import_dayjs.default)();
|
|
172
|
+
endDate = startDate.add(1, "day");
|
|
173
|
+
break;
|
|
174
|
+
case "last-seven-days":
|
|
175
|
+
endDate = (0, import_dayjs.default)();
|
|
176
|
+
startDate = endDate.subtract(1, "week");
|
|
177
|
+
break;
|
|
178
|
+
case "next-seven-days":
|
|
179
|
+
startDate = (0, import_dayjs.default)();
|
|
180
|
+
endDate = startDate.add(1, "week");
|
|
181
|
+
break;
|
|
182
|
+
case "last-month":
|
|
183
|
+
endDate = (0, import_dayjs.default)();
|
|
184
|
+
startDate = endDate.subtract(1, "month");
|
|
185
|
+
break;
|
|
186
|
+
case "next-month":
|
|
187
|
+
startDate = (0, import_dayjs.default)();
|
|
188
|
+
endDate = startDate.add(1, "month");
|
|
189
|
+
break;
|
|
190
|
+
default:
|
|
191
|
+
startDate = "";
|
|
192
|
+
endDate = "";
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
startDate: startDate ? startDate.format("DD/MM/YYYY").toString() : "",
|
|
197
|
+
endDate: endDate ? endDate.format("DD/MM/YYYY").toString() : ""
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
var clientClass_default = DateRangeInput;
|
|
202
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
203
|
+
0 && (module.exports = {
|
|
204
|
+
DateRangeInput
|
|
205
|
+
});
|
|
206
|
+
//# sourceMappingURL=clientClass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/date-range/clientClass.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport dayjs from 'dayjs'\n\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass DateRangeInput extends DprClientClass {\n static getModuleName() {\n return 'date-range-input'\n }\n\n initialise() {\n this.dateRangeInputs = document.getElementById('dpr-date-range')\n this.filtersAccordion = document.getElementById('dpr-interactive-filters-details')\n this.fieldName = this.dateRangeInputs.getAttribute('data-field-name')\n\n this.startInputID = `filters.${this.fieldName}.start`\n this.endInputID = `filters.${this.fieldName}.end`\n this.durationInputID = `filters.${this.fieldName}.relative-duration`\n\n this.relativeRangeRadioButtons = document.querySelectorAll(`input[name='${this.durationInputID}']`)\n this.startInput = document.querySelector(`input[name='${this.startInputID}']`)\n this.endInput = document.querySelector(`input[name='${this.endInputID}']`)\n\n this.startRequired = this.startInput.required\n this.endRequired = this.endInput.required\n\n this.datePickerTab = document.getElementById(`tab_${this.fieldName}-date-picker`)\n this.relativeDurationTab = document.getElementById(`tab_${this.fieldName}-relative-range`)\n this.durationValue = undefined\n\n if (this.datePickerTab && this.relativeDurationTab) {\n this.initDatePickerTabClick()\n this.initRelativeDurationTabClick()\n this.initTabs()\n this.initDurationRadionButtonClick()\n this.initDatePickerUpdateEvents()\n }\n }\n\n initTabs() {\n this.queryParams = new URLSearchParams(window.location.search)\n if (this.queryParams.has(this.durationInputID)) {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n this.updateCheckedDuration(durationRadioButton)\n })\n }\n }\n\n initDatePickerTabClick() {\n this.datePickerTab.addEventListener('click', () => {\n let value\n this.queryParams = new URLSearchParams(window.location.search)\n if (this.queryParams.has(this.durationInputID)) {\n value = this.queryParams.get(this.durationInputID)\n this.removeSearchParam(this.durationInputID)\n }\n this.updateInputs(value)\n\n const changeEvent = new Event('change')\n this.startInput.dispatchEvent(changeEvent)\n this.endInput.dispatchEvent(changeEvent)\n })\n }\n\n initRelativeDurationTabClick() {\n this.relativeDurationTab.addEventListener('click', () => {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n this.updateCheckedDuration(durationRadioButton)\n })\n })\n }\n\n resetDurationValue() {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n // eslint-disable-next-line no-param-reassign\n durationRadioButton.checked = false\n })\n }\n\n initDurationRadionButtonClick() {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n durationRadioButton.addEventListener('click', (e) => {\n const durationValue = e.target.value\n this.durationValue = durationValue\n this.updateInputs(durationValue)\n })\n })\n\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n durationRadioButton.addEventListener('change', () => {\n if (Array.from(this.relativeRangeRadioButtons).every((input) => !input.checked)) {\n this.durationValue = null\n this.updateInputs(this.durationValue)\n }\n })\n })\n }\n\n removeSearchParam(name, name2) {\n this.queryParams = new URLSearchParams(window.location.search)\n this.queryParams.delete(name)\n if (name2) this.queryParams.delete(name2)\n\n window.history.replaceState(null, null, `?${this.queryParams.toString()}`)\n }\n\n updateCheckedDuration(durationRadioButton) {\n if (durationRadioButton.checked) {\n const durationValue = durationRadioButton.value\n this.updateInputs(durationValue)\n const changeEvent = new Event('change')\n durationRadioButton.dispatchEvent(changeEvent)\n }\n }\n\n removeRequiredFromDatePickers() {\n this.startInput.removeAttribute('required')\n this.endInput.removeAttribute('required')\n this.startInput.value = ''\n this.endInput.value = ''\n }\n\n updateInputs(durationValue) {\n this.startInput.required = this.startRequired\n this.endInput.required = this.endRequired\n\n if (durationValue || this.durationValue) {\n const d = durationValue || this.durationValue\n const { startDate, endDate } = this.calculateDateForDatepicker(d)\n this.startInput.value = startDate\n this.endInput.value = endDate\n } else {\n this.startInput.value = null\n this.endInput.value = null\n }\n }\n\n initDatePickerUpdateEvents() {\n this.startInput.addEventListener('change', () => {\n this.removeSearchParam(this.durationInputID)\n this.resetDurationValue()\n })\n this.endInput.addEventListener('change', () => {\n this.removeSearchParam(this.durationInputID)\n this.resetDurationValue()\n })\n }\n\n calculateDateForDatepicker(duration) {\n let startDate\n let endDate\n\n switch (duration) {\n case 'none':\n startDate = ''\n endDate = ''\n break\n case 'yesterday':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'day')\n break\n case 'tomorrow':\n startDate = dayjs()\n endDate = startDate.add(1, 'day')\n break\n case 'last-seven-days':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'week')\n break\n case 'next-seven-days':\n startDate = dayjs()\n endDate = startDate.add(1, 'week')\n break\n case 'last-month':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'month')\n break\n case 'next-month':\n startDate = dayjs()\n endDate = startDate.add(1, 'month')\n break\n default:\n startDate = ''\n endDate = ''\n break\n }\n\n return {\n startDate: startDate ? startDate.format('DD/MM/YYYY').toString() : '',\n endDate: endDate ? endDate.format('DD/MM/YYYY').toString() : '',\n }\n }\n}\n\nexport { DateRangeInput }\nexport default DateRangeInput\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["dayjs"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
/* eslint-disable class-methods-use-this */
|
|
2
3
|
import dayjs from 'dayjs'
|
|
3
4
|
|
|
4
|
-
import { DprClientClass } from '../../../DprClientClass
|
|
5
|
+
import { DprClientClass } from '../../../DprClientClass'
|
|
5
6
|
|
|
6
7
|
class DateRangeInput extends DprClientClass {
|
|
7
8
|
static getModuleName() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/date-range/types.ts"],
|
|
4
4
|
"sourcesContent": ["export enum RelativeDateRange {\n YESTERDAY = 'yesterday',\n TOMORROW = 'tomorrow',\n LAST_WEEK = 'last-seven-days',\n NEXT_WEEK = 'next-seven-days',\n LAST_MONTH = 'last-month',\n NEXT_MONTH = 'next-month',\n}\n\nexport interface RelativeOption {\n value: string\n text: string\n disabled?: boolean\n}\n\nexport default RelativeDateRange\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;AAeZ,IAAO,gBAAQ;",
|
|
6
6
|
"names": ["RelativeDateRange"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../dpr/components/_inputs/date-range/utils.ts"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable no-param-reassign */\nimport dayjs from 'dayjs'\nimport customParse from 'dayjs/plugin/customParseFormat'\nimport { Request } from 'express'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport { components } from '../../../types/api'\nimport { DateRangeFilterValue, DateRange, FilterValue } from '../../_filters/types'\nimport StartEndDateUtils from '../start-end-date/utils'\nimport RelativeDateRange, { RelativeOption } from './types'\nimport { DefaultDateFilterValue, defaultFilterValue } from '../../../utils/Personalisation/types'\n\ndayjs.extend(customParse)\n\nexport const dateIsInBounds = (\n startDate: dayjs.Dayjs | string,\n endDate: dayjs.Dayjs | string,\n min: string,\n max: string,\n) => {\n dayjs.extend(isBetween)\n\n const minDate = dayjs(min)\n const maxDate = dayjs(max)\n\n const startDateIsBetweenMinAndMax = startDate\n ? (<dayjs.Dayjs>startDate).isBetween(minDate, maxDate, 'day', '[]')\n : true\n const endDateIsBetweenMinAndMax = endDate ? (<dayjs.Dayjs>endDate).isBetween(minDate, maxDate, 'day', '[]') : true\n\n return startDateIsBetweenMinAndMax && endDateIsBetweenMinAndMax\n}\n\nexport const calcDates = (durationValue: string) => {\n let endDate: string | dayjs.Dayjs = dayjs()\n let startDate: string | dayjs.Dayjs = dayjs()\n\n switch (durationValue) {\n case 'none':\n endDate = ''\n startDate = ''\n break\n case 'yesterday':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'day')\n break\n case 'tomorrow':\n startDate = dayjs()\n endDate = startDate.add(1, 'day')\n break\n case 'last-seven-days':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'week')\n break\n case 'next-seven-days':\n startDate = dayjs()\n endDate = startDate.add(1, 'week')\n break\n case 'last-month':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'month')\n break\n case 'next-month':\n startDate = dayjs()\n endDate = startDate.add(1, 'month')\n break\n default:\n break\n }\n\n return {\n endDate,\n startDate,\n }\n}\n\nexport const setValueFromRequest = (\n filter: DateRangeFilterValue,\n req: Request,\n prefix: string,\n): DateRangeFilterValue['value'] => {\n const { relativeOptions } = filter\n const start = <string>req.query[`${prefix}${filter.name}.start`]\n const end = <string>req.query[`${prefix}${filter.name}.end`]\n const relative = <string>req.query[`${prefix}${filter.name}.relative-duration`]\n\n let relativeDisabled = false\n if (relative && relativeOptions) {\n const option = relativeOptions.find((opt) => opt.value === relative)\n relativeDisabled = option && option.disabled ? option.disabled : false\n }\n\n const value = {\n start: start || filter.min,\n end: end || filter.max,\n ...(relative && !relativeDisabled && { relative }),\n } as DateRange\n\n return value\n}\n\nexport const setDefaultValue = (req: Request, name: string) => {\n const dateRangeName = name.split('.')[0]\n\n const dateRangeDefaults = Object.keys(req.body)\n .filter((key) => key.includes(dateRangeName))\n .map((key) => {\n return { name: key.split('.')[2], value: req.body[key] }\n })\n\n const dateRangeValue: DateRangeFilterValue['value'] | string = { start: '', end: '' }\n dateRangeDefaults.forEach((dateRangeDefault) => {\n if (dateRangeDefault.name.includes('start')) {\n dateRangeValue.start = dateRangeDefault.value\n }\n if (dateRangeDefault.name.includes('end')) {\n dateRangeValue.end = dateRangeDefault.value\n }\n if (dateRangeDefault.name.includes('relative-duration')) {\n dateRangeValue.relative = dateRangeDefault.value\n }\n })\n\n return { value: dateRangeValue, name: dateRangeName }\n}\n\nexport const setFilterValueFromDefault = (defaultValue: defaultFilterValue, filter: FilterValue) => {\n const value = { start: '', end: '', relative: '' }\n const { start, end, relative } = <DefaultDateFilterValue>defaultValue.value\n if (relative) {\n value.relative = relative\n }\n if (start) {\n value.start = dayjs(start, 'D/M/YYYY').format('YYYY-MM-DD').toString()\n }\n if (end) {\n value.end = dayjs(end, 'D/M/YYYY').format('YYYY-MM-DD').toString()\n }\n\n return {\n ...filter,\n value,\n }\n}\n\nexport const getRelativeDateOptions = (min?: string, max?: string) => {\n if (!min) min = '1977-05-25'\n if (!max) max = '9999-01-01'\n let options: RelativeOption[] = getRelativeValues()\n options.forEach((option: RelativeOption) => {\n if (option.value) {\n const { endDate, startDate } = calcDates(option.value)\n if (!dateIsInBounds(startDate, endDate, min, max)) {\n option.disabled = true\n }\n }\n })\n\n if (\n options\n .filter((opt: RelativeOption) => opt.value !== 'none')\n .every((opt: RelativeOption) => {\n return opt.value === null || opt.disabled\n })\n ) {\n options = []\n }\n\n return options\n}\n\nexport const mapRelativeValue = (value: RelativeDateRange) => {\n const values = getRelativeValues()\n const opt = values.find((v) => v.value === value)\n return opt ? opt.text : ''\n}\n\nexport const getRelativeValues = (): {\n value: string\n text: string\n disabled?: boolean\n}[] => {\n return [\n { value: 'none', text: 'None' },\n { value: 'yesterday', text: 'Yesterday' },\n { value: 'tomorrow', text: 'Tomorrow' },\n { value: 'last-seven-days', text: 'Last week' },\n { value: 'next-seven-days', text: 'Next week' },\n { value: 'last-month', text: 'Last month' },\n { value: 'next-month', text: 'Next month' },\n ]\n}\n\nexport const getFilterFromDefinition = (filter: components['schemas']['FilterDefinition'], filterData: FilterValue) => {\n const value = StartEndDateUtils.getStartAndEndValueFromDefinition(filter)\n const relativeOptions = getRelativeDateOptions(filter.min, filter.max)\n\n return {\n ...filterData,\n min: filter.min,\n max: filter.max,\n relativeOptions,\n value,\n }\n}\n\nexport const getQueryFromDefinition = (\n filter: components['schemas']['FilterDefinition'],\n name: string,\n filterPrefix: string,\n) => {\n const dates = filter.defaultValue ? filter.defaultValue.split(' - ') : []\n let param = ''\n if (dates.length >= 1) {\n param = `${filterPrefix}${name}.start=${dates[0]}`\n if (dates.length >= 2) {\n param = `${param}&${filterPrefix}${name}.end=${dates[1]}`\n }\n }\n return param\n}\n\nexport default {\n calcDates,\n getRelativeDateOptions,\n getFilterFromDefinition,\n setValueFromRequest,\n getQueryFromDefinition,\n mapRelativeValue,\n setDefaultValue,\n setFilterValueFromDefault,\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["dayjs", "customParse", "isBetween", "StartEndDateUtils"]
|