@defra/forms-engine-plugin 5.0.0-alpha.2 → 5.0.0-alpha.20
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/.public/javascripts/application.min.js +1 -1
- package/.public/javascripts/application.min.js.LICENSE.txt +7 -0
- package/.public/javascripts/application.min.js.map +1 -1
- package/.public/javascripts/shared.min.js +1 -1
- package/.public/javascripts/shared.min.js.LICENSE.txt +7 -0
- package/.public/javascripts/shared.min.js.map +1 -1
- package/.public/stylesheets/application.min.css.map +1 -1
- package/.server/client/javascripts/file-upload.js +6 -3
- package/.server/client/javascripts/file-upload.js.map +1 -1
- package/.server/client/javascripts/geospatial-map.d.ts +153 -5
- package/.server/client/javascripts/geospatial-map.js +157 -77
- package/.server/client/javascripts/geospatial-map.js.map +1 -1
- package/.server/client/javascripts/govuk.js +2 -1
- package/.server/client/javascripts/govuk.js.map +1 -1
- package/.server/client/javascripts/location-map.d.ts +44 -0
- package/.server/client/javascripts/location-map.js +54 -5
- package/.server/client/javascripts/location-map.js.map +1 -1
- package/.server/client/javascripts/map-constants.d.ts +3 -0
- package/.server/client/javascripts/map-constants.js +4 -0
- package/.server/client/javascripts/map-constants.js.map +1 -0
- package/.server/client/javascripts/map.d.ts +10 -0
- package/.server/client/javascripts/map.js +42 -0
- package/.server/client/javascripts/map.js.map +1 -1
- package/.server/client/javascripts/maps.d.ts +5 -0
- package/.server/client/javascripts/maps.js +6 -0
- package/.server/client/javascripts/maps.js.map +1 -0
- package/.server/client/javascripts/shared.d.ts +1 -4
- package/.server/client/javascripts/shared.js +1 -4
- package/.server/client/javascripts/shared.js.map +1 -1
- package/.server/client/javascripts/sssi-dataset.d.ts +18 -20
- package/.server/client/javascripts/sssi-dataset.js +37 -39
- package/.server/client/javascripts/sssi-dataset.js.map +1 -1
- package/.server/client/stylesheets/maps.scss +4 -0
- package/.server/client/stylesheets/shared.scss +1 -5
- package/.server/server/constants.d.ts +2 -0
- package/.server/server/constants.js +2 -0
- package/.server/server/constants.js.map +1 -1
- package/.server/server/plugins/engine/__stubs__/definitions.d.ts +29 -0
- package/.server/server/plugins/engine/__stubs__/definitions.js +125 -0
- package/.server/server/plugins/engine/__stubs__/definitions.js.map +1 -0
- package/.server/server/plugins/engine/components/AutocompleteField.d.ts +9 -3
- package/.server/server/plugins/engine/components/AutocompleteField.js +12 -0
- package/.server/server/plugins/engine/components/AutocompleteField.js.map +1 -1
- package/.server/server/plugins/engine/components/CheckboxesField.d.ts +21 -0
- package/.server/server/plugins/engine/components/CheckboxesField.js +30 -5
- package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
- package/.server/server/plugins/engine/components/ComponentBase.d.ts +1 -0
- package/.server/server/plugins/engine/components/ComponentBase.js +2 -0
- package/.server/server/plugins/engine/components/ComponentBase.js.map +1 -1
- package/.server/server/plugins/engine/components/ComponentCollection.js +11 -6
- package/.server/server/plugins/engine/components/ComponentCollection.js.map +1 -1
- package/.server/server/plugins/engine/components/DatePartsField.d.ts +6 -3
- package/.server/server/plugins/engine/components/DatePartsField.js +12 -7
- package/.server/server/plugins/engine/components/DatePartsField.js.map +1 -1
- package/.server/server/plugins/engine/components/DeclarationField.d.ts +5 -2
- package/.server/server/plugins/engine/components/DeclarationField.js +6 -4
- package/.server/server/plugins/engine/components/DeclarationField.js.map +1 -1
- package/.server/server/plugins/engine/components/Details.d.ts +1 -0
- package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +33 -2
- package/.server/server/plugins/engine/components/EastingNorthingField.js +110 -54
- package/.server/server/plugins/engine/components/EastingNorthingField.js.map +1 -1
- package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -1
- package/.server/server/plugins/engine/components/EmailAddressField.js +2 -1
- package/.server/server/plugins/engine/components/EmailAddressField.js.map +1 -1
- package/.server/server/plugins/engine/components/FileUploadField.d.ts +21 -0
- package/.server/server/plugins/engine/components/FileUploadField.js +35 -3
- package/.server/server/plugins/engine/components/FileUploadField.js.map +1 -1
- package/.server/server/plugins/engine/components/FormComponent.d.ts +5 -1
- package/.server/server/plugins/engine/components/FormComponent.js +5 -2
- package/.server/server/plugins/engine/components/FormComponent.js.map +1 -1
- package/.server/server/plugins/engine/components/GeospatialField.d.ts +23 -0
- package/.server/server/plugins/engine/components/GeospatialField.js +33 -9
- package/.server/server/plugins/engine/components/GeospatialField.js.map +1 -1
- package/.server/server/plugins/engine/components/Html.d.ts +1 -0
- package/.server/server/plugins/engine/components/InsetText.d.ts +1 -0
- package/.server/server/plugins/engine/components/LatLongField.d.ts +32 -2
- package/.server/server/plugins/engine/components/LatLongField.js +85 -48
- package/.server/server/plugins/engine/components/LatLongField.js.map +1 -1
- package/.server/server/plugins/engine/components/List.d.ts +1 -0
- package/.server/server/plugins/engine/components/ListFormComponent.d.ts +1 -0
- package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +8 -2
- package/.server/server/plugins/engine/components/LocationFieldBase.js +25 -6
- package/.server/server/plugins/engine/components/LocationFieldBase.js.map +1 -1
- package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +12 -3
- package/.server/server/plugins/engine/components/LocationFieldHelpers.js +21 -13
- package/.server/server/plugins/engine/components/LocationFieldHelpers.js.map +1 -1
- package/.server/server/plugins/engine/components/Markdown.d.ts +1 -0
- package/.server/server/plugins/engine/components/Markdown.js +1 -1
- package/.server/server/plugins/engine/components/Markdown.js.map +1 -1
- package/.server/server/plugins/engine/components/MonthYearField.d.ts +5 -2
- package/.server/server/plugins/engine/components/MonthYearField.js +13 -9
- package/.server/server/plugins/engine/components/MonthYearField.js.map +1 -1
- package/.server/server/plugins/engine/components/MultilineTextField.d.ts +1 -0
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +2 -1
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.js +4 -3
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.js.map +1 -1
- package/.server/server/plugins/engine/components/NotificationBanner.d.ts +1 -0
- package/.server/server/plugins/engine/components/NumberField.d.ts +5 -0
- package/.server/server/plugins/engine/components/NumberField.js +16 -0
- package/.server/server/plugins/engine/components/NumberField.js.map +1 -1
- package/.server/server/plugins/engine/components/OsGridRefField.d.ts +103 -1
- package/.server/server/plugins/engine/components/OsGridRefField.js +13 -3
- package/.server/server/plugins/engine/components/OsGridRefField.js.map +1 -1
- package/.server/server/plugins/engine/components/PaymentField.d.ts +3 -0
- package/.server/server/plugins/engine/components/PaymentField.js +17 -6
- package/.server/server/plugins/engine/components/PaymentField.js.map +1 -1
- package/.server/server/plugins/engine/components/SelectField.d.ts +1 -0
- package/.server/server/plugins/engine/components/SelectionControlField.d.ts +1 -0
- package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +1 -0
- package/.server/server/plugins/engine/components/UkAddressField.d.ts +1 -0
- package/.server/server/plugins/engine/components/UkAddressField.js +23 -8
- package/.server/server/plugins/engine/components/UkAddressField.js.map +1 -1
- package/.server/server/plugins/engine/components/YesNoField.d.ts +5 -2
- package/.server/server/plugins/engine/components/YesNoField.js +17 -8
- package/.server/server/plugins/engine/components/YesNoField.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/components.js +3 -3
- package/.server/server/plugins/engine/components/helpers/components.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +8 -1
- package/.server/server/plugins/engine/components/helpers/geospatial.js +56 -15
- package/.server/server/plugins/engine/components/helpers/geospatial.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/index.d.ts +7 -0
- package/.server/server/plugins/engine/components/helpers/index.js +13 -1
- package/.server/server/plugins/engine/components/helpers/index.js.map +1 -1
- package/.server/server/plugins/engine/components/types.d.ts +1 -0
- package/.server/server/plugins/engine/components/types.js.map +1 -1
- package/.server/server/plugins/engine/errors.d.ts +49 -0
- package/.server/server/plugins/engine/errors.js +75 -0
- package/.server/server/plugins/engine/errors.js.map +1 -0
- package/.server/server/plugins/engine/form-availability.d.ts +3 -2
- package/.server/server/plugins/engine/form-availability.js +3 -2
- package/.server/server/plugins/engine/form-availability.js.map +1 -1
- package/.server/server/plugins/engine/form-context.js +2 -2
- package/.server/server/plugins/engine/form-context.js.map +1 -1
- package/.server/server/plugins/engine/helpers.d.ts +22 -2
- package/.server/server/plugins/engine/helpers.js +44 -5
- package/.server/server/plugins/engine/helpers.js.map +1 -1
- package/.server/server/plugins/engine/i18n/buildValidationMessages.d.ts +4 -1
- package/.server/server/plugins/engine/i18n/buildValidationMessages.js +31 -7
- package/.server/server/plugins/engine/i18n/buildValidationMessages.js.map +1 -1
- package/.server/server/plugins/engine/i18n/createFormTranslator.d.ts +4 -4
- package/.server/server/plugins/engine/i18n/createFormTranslator.js +33 -4
- package/.server/server/plugins/engine/i18n/createFormTranslator.js.map +1 -1
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.d.ts +1 -1
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.js +9 -0
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.js.map +1 -1
- package/.server/server/plugins/engine/i18n/form.d.ts +13 -0
- package/.server/server/plugins/engine/i18n/form.js +35 -0
- package/.server/server/plugins/engine/i18n/form.js.map +1 -0
- package/.server/server/plugins/engine/i18n/languages.d.ts +10 -0
- package/.server/server/plugins/engine/i18n/languages.js +19 -0
- package/.server/server/plugins/engine/i18n/languages.js.map +1 -0
- package/.server/server/plugins/engine/i18n/translations/cy.json +192 -9
- package/.server/server/plugins/engine/i18n/translations/en-GB.json +125 -7
- package/.server/server/plugins/engine/i18n/types.d.ts +3 -0
- package/.server/server/plugins/engine/i18n/types.js.map +1 -1
- package/.server/server/plugins/engine/index.d.ts +4 -0
- package/.server/server/plugins/engine/index.js +4 -0
- package/.server/server/plugins/engine/index.js.map +1 -1
- package/.server/server/plugins/engine/models/FormModel.d.ts +0 -4
- package/.server/server/plugins/engine/models/FormModel.js +19 -17
- package/.server/server/plugins/engine/models/FormModel.js.map +1 -1
- package/.server/server/plugins/engine/models/SummaryViewModel.js +9 -4
- package/.server/server/plugins/engine/models/SummaryViewModel.js.map +1 -1
- package/.server/server/plugins/engine/models/unavailable-view-model.d.ts +11 -2
- package/.server/server/plugins/engine/models/unavailable-view-model.js +23 -4
- package/.server/server/plugins/engine/models/unavailable-view-model.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js +3 -5
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/human/v1.js +2 -1
- package/.server/server/plugins/engine/outputFormatters/human/v1.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +2 -0
- package/.server/server/plugins/engine/outputFormatters/machine/v2.js +2 -0
- package/.server/server/plugins/engine/outputFormatters/machine/v2.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +7 -1
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js +56 -10
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.js +7 -3
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/RepeatPageController.js +3 -4
- package/.server/server/plugins/engine/pageControllers/RepeatPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/SummaryPageController.js +10 -4
- package/.server/server/plugins/engine/pageControllers/SummaryPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/pages.js +2 -1
- package/.server/server/plugins/engine/pageControllers/helpers/pages.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/submission.js +3 -3
- package/.server/server/plugins/engine/pageControllers/helpers/submission.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/validationOptions.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/validationOptions.js +24 -3
- package/.server/server/plugins/engine/pageControllers/validationOptions.js.map +1 -1
- package/.server/server/plugins/engine/types/schema.js +1 -0
- package/.server/server/plugins/engine/types/schema.js.map +1 -1
- package/.server/server/plugins/engine/types.d.ts +5 -0
- package/.server/server/plugins/engine/types.js.map +1 -1
- package/.server/server/plugins/engine/unavailable-response.js +5 -2
- package/.server/server/plugins/engine/unavailable-response.js.map +1 -1
- package/.server/server/plugins/engine/views/components/_location-field-base.html +4 -2
- package/.server/server/plugins/engine/views/components/fileuploadfield.html +1 -1
- package/.server/server/plugins/engine/views/components/geospatialfield.html +1 -0
- package/.server/server/plugins/engine/views/components/multilinetextfield.html +12 -1
- package/.server/server/plugins/engine/views/components/osgridreffield.html +4 -1
- package/.server/server/plugins/engine/views/components/paymentfield.html +1 -1
- package/.server/server/plugins/engine/views/components/ukaddressfield.html +1 -1
- package/.server/server/plugins/engine/views/file-upload.html +1 -1
- package/.server/server/plugins/engine/views/partials/preview-banner.html +3 -1
- package/.server/server/plugins/engine/views/unavailable.html +14 -11
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.d.ts +9 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.js +17 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.js.map +1 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.test.js +17 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.test.js.map +1 -0
- package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
- package/.server/server/plugins/nunjucks/filters/index.d.ts +1 -0
- package/.server/server/plugins/nunjucks/filters/index.js +1 -0
- package/.server/server/plugins/nunjucks/filters/index.js.map +1 -1
- package/.server/server/plugins/payment/helper.d.ts +11 -1
- package/.server/server/plugins/payment/helper.js +18 -2
- package/.server/server/plugins/payment/helper.js.map +1 -1
- package/.server/server/plugins/payment/helper.test.js +2 -1
- package/.server/server/plugins/payment/helper.test.js.map +1 -1
- package/.server/server/plugins/payment/service.d.ts +2 -1
- package/.server/server/plugins/payment/service.js +5 -2
- package/.server/server/plugins/payment/service.js.map +1 -1
- package/.server/server/plugins/payment/service.test.js +7 -3
- package/.server/server/plugins/payment/service.test.js.map +1 -1
- package/.server/server/plugins/payment/types.d.ts +4 -0
- package/.server/server/plugins/payment/types.js +1 -0
- package/.server/server/plugins/payment/types.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/models/index.d.ts +249 -3
- package/.server/server/plugins/postcode-lookup/models/index.js +87 -33
- package/.server/server/plugins/postcode-lookup/models/index.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/routes/index.d.ts +15 -1
- package/.server/server/plugins/postcode-lookup/routes/index.js +47 -15
- package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/routes/index.test.js +84 -0
- package/.server/server/plugins/postcode-lookup/routes/index.test.js.map +1 -0
- package/.server/server/plugins/postcode-lookup/types.d.ts +12 -0
- package/.server/server/plugins/postcode-lookup/types.js +6 -1
- package/.server/server/plugins/postcode-lookup/types.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/views/postcode-lookup-details.html +3 -3
- package/.server/server/utils/type-utils.d.ts +1 -2
- package/.server/server/utils/type-utils.js +0 -3
- package/.server/server/utils/type-utils.js.map +1 -1
- package/.server/server/utils/utils.d.ts +6 -0
- package/.server/server/utils/utils.js +18 -1
- package/.server/server/utils/utils.js.map +1 -1
- package/.server/server/utils/utils.test.js +21 -1
- package/.server/server/utils/utils.test.js.map +1 -1
- package/package.json +20 -5
- package/src/client/javascripts/file-upload.js +11 -3
- package/src/client/javascripts/geospatial-map.js +176 -81
- package/src/client/javascripts/govuk.js +2 -0
- package/src/client/javascripts/location-map.js +60 -4
- package/src/client/javascripts/map-constants.js +3 -0
- package/src/client/javascripts/map.js +47 -0
- package/src/client/javascripts/maps.js +5 -0
- package/src/client/javascripts/shared.js +1 -4
- package/src/client/javascripts/sssi-dataset.js +39 -41
- package/src/client/stylesheets/maps.scss +4 -0
- package/src/client/stylesheets/shared.scss +1 -5
- package/src/server/constants.js +2 -0
- package/src/server/plugins/engine/__stubs__/definitions.ts +155 -0
- package/src/server/plugins/engine/components/AutocompleteField.ts +13 -0
- package/src/server/plugins/engine/components/CheckboxesField.ts +38 -5
- package/src/server/plugins/engine/components/ComponentBase.ts +2 -0
- package/src/server/plugins/engine/components/ComponentCollection.ts +16 -11
- package/src/server/plugins/engine/components/DatePartsField.ts +20 -9
- package/src/server/plugins/engine/components/DeclarationField.ts +7 -6
- package/src/server/plugins/engine/components/EastingNorthingField.ts +185 -89
- package/src/server/plugins/engine/components/EmailAddressField.ts +2 -1
- package/src/server/plugins/engine/components/FileUploadField.ts +44 -3
- package/src/server/plugins/engine/components/FormComponent.ts +6 -5
- package/src/server/plugins/engine/components/GeospatialField.ts +47 -9
- package/src/server/plugins/engine/components/LatLongField.ts +128 -58
- package/src/server/plugins/engine/components/LocationFieldBase.ts +30 -7
- package/src/server/plugins/engine/components/LocationFieldHelpers.ts +28 -14
- package/src/server/plugins/engine/components/Markdown.ts +2 -3
- package/src/server/plugins/engine/components/MonthYearField.ts +20 -15
- package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +9 -3
- package/src/server/plugins/engine/components/NumberField.ts +21 -1
- package/src/server/plugins/engine/components/OsGridRefField.ts +22 -3
- package/src/server/plugins/engine/components/PaymentField.ts +15 -5
- package/src/server/plugins/engine/components/UkAddressField.ts +30 -7
- package/src/server/plugins/engine/components/YesNoField.ts +17 -9
- package/src/server/plugins/engine/components/helpers/components.ts +3 -3
- package/src/server/plugins/engine/components/helpers/geospatial.ts +84 -21
- package/src/server/plugins/engine/components/helpers/index.ts +19 -0
- package/src/server/plugins/engine/components/types.ts +1 -0
- package/src/server/plugins/engine/errors.ts +78 -0
- package/src/server/plugins/engine/form-availability.ts +8 -2
- package/src/server/plugins/engine/form-context.ts +4 -2
- package/src/server/plugins/engine/helpers.ts +52 -5
- package/src/server/plugins/engine/i18n/buildValidationMessages.ts +16 -8
- package/src/server/plugins/engine/i18n/createFormTranslator.ts +62 -11
- package/src/server/plugins/engine/i18n/extractBaseTranslations.ts +7 -1
- package/src/server/plugins/engine/i18n/form.ts +54 -0
- package/src/server/plugins/engine/i18n/languages.ts +19 -0
- package/src/server/plugins/engine/i18n/translations/cy.json +192 -9
- package/src/server/plugins/engine/i18n/translations/en-GB.json +125 -7
- package/src/server/plugins/engine/i18n/types.ts +3 -0
- package/src/server/plugins/engine/index.ts +7 -0
- package/src/server/plugins/engine/models/FormModel.ts +21 -17
- package/src/server/plugins/engine/models/SummaryViewModel.ts +6 -5
- package/src/server/plugins/engine/models/unavailable-view-model.ts +26 -5
- package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +3 -6
- package/src/server/plugins/engine/outputFormatters/human/v1.ts +2 -1
- package/src/server/plugins/engine/outputFormatters/machine/v2.ts +3 -0
- package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +60 -9
- package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +10 -5
- package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +2 -2
- package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +15 -4
- package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -1
- package/src/server/plugins/engine/pageControllers/helpers/submission.ts +6 -3
- package/src/server/plugins/engine/pageControllers/validationOptions.ts +29 -4
- package/src/server/plugins/engine/types/schema.ts +1 -0
- package/src/server/plugins/engine/types.ts +5 -0
- package/src/server/plugins/engine/unavailable-response.ts +6 -2
- package/src/server/plugins/engine/views/components/_location-field-base.html +4 -2
- package/src/server/plugins/engine/views/components/fileuploadfield.html +1 -1
- package/src/server/plugins/engine/views/components/geospatialfield.html +1 -0
- package/src/server/plugins/engine/views/components/multilinetextfield.html +12 -1
- package/src/server/plugins/engine/views/components/osgridreffield.html +4 -1
- package/src/server/plugins/engine/views/components/paymentfield.html +1 -1
- package/src/server/plugins/engine/views/components/ukaddressfield.html +1 -1
- package/src/server/plugins/engine/views/file-upload.html +1 -1
- package/src/server/plugins/engine/views/partials/preview-banner.html +3 -1
- package/src/server/plugins/engine/views/unavailable.html +14 -11
- package/src/server/plugins/nunjucks/filters/applyUrlParam.js +17 -0
- package/src/server/plugins/nunjucks/filters/index.js +1 -0
- package/src/server/plugins/payment/helper.js +22 -2
- package/src/server/plugins/payment/service.js +6 -2
- package/src/server/plugins/payment/types.js +1 -0
- package/src/server/plugins/postcode-lookup/models/index.js +75 -43
- package/src/server/plugins/postcode-lookup/routes/index.js +73 -16
- package/src/server/plugins/postcode-lookup/types.js +6 -1
- package/src/server/plugins/postcode-lookup/views/postcode-lookup-details.html +3 -3
- package/src/server/utils/type-utils.ts +1 -11
- package/src/server/utils/utils.js +19 -1
|
@@ -19,17 +19,86 @@ export function createManualPayloadSchema(language?: string): Joi.ObjectSchema<P
|
|
|
19
19
|
/**
|
|
20
20
|
* The postcode lookup details form view model
|
|
21
21
|
* @param {PostcodeLookupSessionData} data
|
|
22
|
+
* @param {Translator} translator
|
|
22
23
|
* @param {PostcodeLookupDetailsData} [payload]
|
|
23
24
|
* @param {Error} [err]
|
|
24
25
|
*/
|
|
25
|
-
export function detailsViewModel(data: PostcodeLookupSessionData, payload?: PostcodeLookupDetailsData, err?: Error): {
|
|
26
|
+
export function detailsViewModel(data: PostcodeLookupSessionData, translator: Translator, payload?: PostcodeLookupDetailsData, err?: Error): {
|
|
27
|
+
languages: {
|
|
28
|
+
name: string;
|
|
29
|
+
code: string;
|
|
30
|
+
}[];
|
|
26
31
|
step: string;
|
|
27
32
|
showTitle: boolean;
|
|
28
33
|
name: string;
|
|
29
34
|
serviceUrl: string;
|
|
30
35
|
pageTitle: string;
|
|
36
|
+
hint: "" | {
|
|
37
|
+
text: string;
|
|
38
|
+
} | undefined;
|
|
39
|
+
backLink: {
|
|
40
|
+
href: string;
|
|
41
|
+
text: string;
|
|
42
|
+
};
|
|
43
|
+
errors: {
|
|
44
|
+
text: string;
|
|
45
|
+
href: string;
|
|
46
|
+
}[] | undefined;
|
|
47
|
+
fields: {
|
|
48
|
+
postcodeQuery: {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
label: {
|
|
52
|
+
text: string;
|
|
53
|
+
};
|
|
54
|
+
hint: {
|
|
55
|
+
text: string;
|
|
56
|
+
};
|
|
57
|
+
value: string | undefined;
|
|
58
|
+
errorMessage: {
|
|
59
|
+
text: string;
|
|
60
|
+
} | undefined;
|
|
61
|
+
};
|
|
62
|
+
buildingNameQuery: {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
label: {
|
|
66
|
+
text: string;
|
|
67
|
+
};
|
|
68
|
+
hint: {
|
|
69
|
+
text: string;
|
|
70
|
+
};
|
|
71
|
+
value: string | undefined;
|
|
72
|
+
errorMessage: {
|
|
73
|
+
text: string;
|
|
74
|
+
} | undefined;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
buttons: {
|
|
78
|
+
continueButton: {
|
|
79
|
+
text: string;
|
|
80
|
+
classes: string;
|
|
81
|
+
};
|
|
82
|
+
manualLink: {
|
|
83
|
+
text: string;
|
|
84
|
+
href: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
88
|
+
language: string;
|
|
89
|
+
} | {
|
|
90
|
+
languages?: undefined;
|
|
91
|
+
step: string;
|
|
92
|
+
showTitle: boolean;
|
|
93
|
+
name: string;
|
|
94
|
+
serviceUrl: string;
|
|
95
|
+
pageTitle: string;
|
|
96
|
+
hint: "" | {
|
|
97
|
+
text: string;
|
|
98
|
+
} | undefined;
|
|
31
99
|
backLink: {
|
|
32
100
|
href: string;
|
|
101
|
+
text: string;
|
|
33
102
|
};
|
|
34
103
|
errors: {
|
|
35
104
|
text: string;
|
|
@@ -75,17 +144,93 @@ export function detailsViewModel(data: PostcodeLookupSessionData, payload?: Post
|
|
|
75
144
|
href: string;
|
|
76
145
|
};
|
|
77
146
|
};
|
|
147
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
148
|
+
language: string;
|
|
78
149
|
};
|
|
79
150
|
/**
|
|
80
151
|
* The postcode lookup select form view model
|
|
81
152
|
* @param {{ session: PostcodeLookupSessionData, apiKey: string }} data
|
|
153
|
+
* @param {Translator} translator
|
|
82
154
|
* @param {PostcodeLookupSelectPayload} [payload]
|
|
83
155
|
* @param {Error} [err]
|
|
84
156
|
*/
|
|
85
157
|
export function selectViewModel(data: {
|
|
86
158
|
session: PostcodeLookupSessionData;
|
|
87
159
|
apiKey: string;
|
|
88
|
-
}, payload?: PostcodeLookupSelectPayload, err?: Error): Promise<{
|
|
160
|
+
}, translator: Translator, payload?: PostcodeLookupSelectPayload, err?: Error): Promise<{
|
|
161
|
+
languages: {
|
|
162
|
+
name: string;
|
|
163
|
+
code: string;
|
|
164
|
+
}[];
|
|
165
|
+
step: string;
|
|
166
|
+
showTitle: boolean;
|
|
167
|
+
name: string;
|
|
168
|
+
serviceUrl: string;
|
|
169
|
+
pageTitle: string;
|
|
170
|
+
backLink: {
|
|
171
|
+
href: string;
|
|
172
|
+
text: string;
|
|
173
|
+
};
|
|
174
|
+
errors: {
|
|
175
|
+
text: string;
|
|
176
|
+
href: string;
|
|
177
|
+
}[] | undefined;
|
|
178
|
+
searchAgainLink: {
|
|
179
|
+
text: string;
|
|
180
|
+
href: string;
|
|
181
|
+
};
|
|
182
|
+
fields: {
|
|
183
|
+
postcodeQuery: {
|
|
184
|
+
id: string;
|
|
185
|
+
name: string;
|
|
186
|
+
type: string;
|
|
187
|
+
value: string;
|
|
188
|
+
};
|
|
189
|
+
buildingNameQuery: {
|
|
190
|
+
id: string;
|
|
191
|
+
name: string;
|
|
192
|
+
type: string;
|
|
193
|
+
value: string;
|
|
194
|
+
};
|
|
195
|
+
uprn: {
|
|
196
|
+
id: string;
|
|
197
|
+
name: string;
|
|
198
|
+
label: {
|
|
199
|
+
text: string;
|
|
200
|
+
} | undefined;
|
|
201
|
+
value: string | undefined;
|
|
202
|
+
errorMessage: {
|
|
203
|
+
text: string;
|
|
204
|
+
} | undefined;
|
|
205
|
+
items: {
|
|
206
|
+
text: string;
|
|
207
|
+
value: string;
|
|
208
|
+
}[] | undefined;
|
|
209
|
+
type: string | undefined;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
details: PostcodeLookupDetailsData;
|
|
213
|
+
addressCount: number;
|
|
214
|
+
singleAddress: Address | undefined;
|
|
215
|
+
hasAddresses: boolean;
|
|
216
|
+
hasMultipleAddresses: boolean;
|
|
217
|
+
addressesFoundText: string | undefined;
|
|
218
|
+
noAddressFoundText: string | undefined;
|
|
219
|
+
buttons: {
|
|
220
|
+
continueButton: {
|
|
221
|
+
href: string | undefined;
|
|
222
|
+
text: string;
|
|
223
|
+
classes: string;
|
|
224
|
+
};
|
|
225
|
+
manualLink: {
|
|
226
|
+
text: string;
|
|
227
|
+
href: string;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
231
|
+
language: string;
|
|
232
|
+
} | {
|
|
233
|
+
languages?: undefined;
|
|
89
234
|
step: string;
|
|
90
235
|
showTitle: boolean;
|
|
91
236
|
name: string;
|
|
@@ -93,6 +238,7 @@ export function selectViewModel(data: {
|
|
|
93
238
|
pageTitle: string;
|
|
94
239
|
backLink: {
|
|
95
240
|
href: string;
|
|
241
|
+
text: string;
|
|
96
242
|
};
|
|
97
243
|
errors: {
|
|
98
244
|
text: string;
|
|
@@ -150,14 +296,110 @@ export function selectViewModel(data: {
|
|
|
150
296
|
href: string;
|
|
151
297
|
};
|
|
152
298
|
};
|
|
299
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
300
|
+
language: string;
|
|
153
301
|
}>;
|
|
154
302
|
/**
|
|
155
303
|
* The postcode lookup manual form view model
|
|
156
304
|
* @param {PostcodeLookupSessionData} data
|
|
305
|
+
* @param {Translator} translator
|
|
157
306
|
* @param {PostcodeLookupManualPayload} [payload]
|
|
158
307
|
* @param {Error} [err]
|
|
159
308
|
*/
|
|
160
|
-
export function manualViewModel(data: PostcodeLookupSessionData, payload?: PostcodeLookupManualPayload, err?: Error): {
|
|
309
|
+
export function manualViewModel(data: PostcodeLookupSessionData, translator: Translator, payload?: PostcodeLookupManualPayload, err?: Error): {
|
|
310
|
+
languages: {
|
|
311
|
+
name: string;
|
|
312
|
+
code: string;
|
|
313
|
+
}[];
|
|
314
|
+
step: string;
|
|
315
|
+
showTitle: boolean;
|
|
316
|
+
name: string;
|
|
317
|
+
serviceUrl: string;
|
|
318
|
+
pageTitle: string;
|
|
319
|
+
backLink: {
|
|
320
|
+
href: string;
|
|
321
|
+
text: string;
|
|
322
|
+
};
|
|
323
|
+
errors: {
|
|
324
|
+
text: string;
|
|
325
|
+
href: string;
|
|
326
|
+
}[] | undefined;
|
|
327
|
+
hint: "" | {
|
|
328
|
+
text: string;
|
|
329
|
+
} | undefined;
|
|
330
|
+
fields: {
|
|
331
|
+
addressLine1: {
|
|
332
|
+
id: string;
|
|
333
|
+
name: string;
|
|
334
|
+
label: {
|
|
335
|
+
text: string;
|
|
336
|
+
};
|
|
337
|
+
value: string | undefined;
|
|
338
|
+
errorMessage: {
|
|
339
|
+
text: string;
|
|
340
|
+
} | undefined;
|
|
341
|
+
};
|
|
342
|
+
addressLine2: {
|
|
343
|
+
id: string;
|
|
344
|
+
name: string;
|
|
345
|
+
label: {
|
|
346
|
+
text: string;
|
|
347
|
+
};
|
|
348
|
+
value: string | undefined;
|
|
349
|
+
errorMessage: {
|
|
350
|
+
text: string;
|
|
351
|
+
} | undefined;
|
|
352
|
+
};
|
|
353
|
+
town: {
|
|
354
|
+
id: string;
|
|
355
|
+
name: string;
|
|
356
|
+
label: {
|
|
357
|
+
text: string;
|
|
358
|
+
};
|
|
359
|
+
classes: string;
|
|
360
|
+
value: string | undefined;
|
|
361
|
+
errorMessage: {
|
|
362
|
+
text: string;
|
|
363
|
+
} | undefined;
|
|
364
|
+
};
|
|
365
|
+
county: {
|
|
366
|
+
id: string;
|
|
367
|
+
name: string;
|
|
368
|
+
label: {
|
|
369
|
+
text: string;
|
|
370
|
+
};
|
|
371
|
+
value: string | undefined;
|
|
372
|
+
errorMessage: {
|
|
373
|
+
text: string;
|
|
374
|
+
} | undefined;
|
|
375
|
+
};
|
|
376
|
+
postcode: {
|
|
377
|
+
id: string;
|
|
378
|
+
name: string;
|
|
379
|
+
label: {
|
|
380
|
+
text: string;
|
|
381
|
+
};
|
|
382
|
+
classes: string;
|
|
383
|
+
value: string | undefined;
|
|
384
|
+
errorMessage: {
|
|
385
|
+
text: string;
|
|
386
|
+
} | undefined;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
buttons: {
|
|
390
|
+
continueButton: {
|
|
391
|
+
text: string;
|
|
392
|
+
classes: string;
|
|
393
|
+
};
|
|
394
|
+
detailsLink: {
|
|
395
|
+
text: string;
|
|
396
|
+
href: string;
|
|
397
|
+
};
|
|
398
|
+
};
|
|
399
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
400
|
+
language: string;
|
|
401
|
+
} | {
|
|
402
|
+
languages?: undefined;
|
|
161
403
|
step: string;
|
|
162
404
|
showTitle: boolean;
|
|
163
405
|
name: string;
|
|
@@ -165,6 +407,7 @@ export function manualViewModel(data: PostcodeLookupSessionData, payload?: Postc
|
|
|
165
407
|
pageTitle: string;
|
|
166
408
|
backLink: {
|
|
167
409
|
href: string;
|
|
410
|
+
text: string;
|
|
168
411
|
};
|
|
169
412
|
errors: {
|
|
170
413
|
text: string;
|
|
@@ -242,6 +485,8 @@ export function manualViewModel(data: PostcodeLookupSessionData, payload?: Postc
|
|
|
242
485
|
href: string;
|
|
243
486
|
};
|
|
244
487
|
};
|
|
488
|
+
t: (key: string, opts?: Record<string, unknown>) => string;
|
|
489
|
+
language: string;
|
|
245
490
|
};
|
|
246
491
|
export namespace steps {
|
|
247
492
|
let details: string;
|
|
@@ -256,5 +501,6 @@ import Joi from 'joi';
|
|
|
256
501
|
import type { PostcodeLookupSelectPayload } from '../../../../server/plugins/postcode-lookup/types.js';
|
|
257
502
|
import type { PostcodeLookupManualPayload } from '../../../../server/plugins/postcode-lookup/types.js';
|
|
258
503
|
import type { PostcodeLookupSessionData } from '../../../../server/plugins/postcode-lookup/types.js';
|
|
504
|
+
import type { Translator } from '../../../../server/plugins/engine/i18n/types.js';
|
|
259
505
|
import type { PostcodeLookupDetailsData } from '../../../../server/plugins/postcode-lookup/types.js';
|
|
260
506
|
import type { Address } from '../../../../server/plugins/postcode-lookup/types.js';
|
|
@@ -13,6 +13,7 @@ const townFieldName = 'town';
|
|
|
13
13
|
const countyFieldName = 'county';
|
|
14
14
|
const postcodeFieldName = 'postcode';
|
|
15
15
|
const GOVUK_MARGIN_RIGHT_1 = 'govuk-!-margin-right-1';
|
|
16
|
+
const COMMON_BACK = 'common.back';
|
|
16
17
|
export const steps = {
|
|
17
18
|
// Step 1: Postcode/building name input
|
|
18
19
|
details: 'details',
|
|
@@ -338,56 +339,77 @@ function getHref(step) {
|
|
|
338
339
|
/**
|
|
339
340
|
* The postcode lookup details form view model
|
|
340
341
|
* @param {PostcodeLookupSessionData} data
|
|
342
|
+
* @param {Translator} translator
|
|
341
343
|
* @param {PostcodeLookupDetailsData} [payload]
|
|
342
344
|
* @param {Error} [err]
|
|
343
345
|
*/
|
|
344
|
-
export function detailsViewModel(data, payload, err) {
|
|
346
|
+
export function detailsViewModel(data, translator, payload, err) {
|
|
345
347
|
const {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
+
componentId,
|
|
349
|
+
componentHint,
|
|
348
350
|
sourceUrl,
|
|
349
|
-
|
|
351
|
+
languages
|
|
350
352
|
} = data.initial;
|
|
353
|
+
const {
|
|
354
|
+
t,
|
|
355
|
+
tComponent,
|
|
356
|
+
tForm
|
|
357
|
+
} = translator;
|
|
358
|
+
const component = /** @type {ComponentDef} */{
|
|
359
|
+
id: componentId
|
|
360
|
+
};
|
|
351
361
|
const backLink = {
|
|
352
|
-
href: sourceUrl
|
|
362
|
+
href: sourceUrl,
|
|
363
|
+
text: t(COMMON_BACK)
|
|
353
364
|
};
|
|
354
365
|
const {
|
|
355
366
|
errors,
|
|
356
367
|
postcodeQueryError,
|
|
357
368
|
buildingNameQueryError
|
|
358
369
|
} = buildErrors(err);
|
|
359
|
-
const fields = getDetailsFields(payload ?? data.details, postcodeQueryError, buildingNameQueryError, language);
|
|
370
|
+
const fields = getDetailsFields(payload ?? data.details, postcodeQueryError, buildingNameQueryError, translator.language);
|
|
371
|
+
const hint = componentHint && {
|
|
372
|
+
text: tComponent(component, 'hint')
|
|
373
|
+
};
|
|
360
374
|
const continueButton = {
|
|
361
|
-
text:
|
|
375
|
+
text: t('postcodeLookup.findAddress'),
|
|
362
376
|
classes: GOVUK_MARGIN_RIGHT_1
|
|
363
377
|
};
|
|
364
378
|
const manualLink = {
|
|
365
|
-
text:
|
|
379
|
+
text: t('postcodeLookup.enterManually'),
|
|
366
380
|
href: getHref(steps.manual)
|
|
367
381
|
};
|
|
382
|
+
const selector = languages?.length ? {
|
|
383
|
+
languages
|
|
384
|
+
} : {};
|
|
368
385
|
return {
|
|
369
386
|
step: steps.details,
|
|
370
387
|
showTitle: true,
|
|
371
|
-
name:
|
|
388
|
+
name: tForm('title'),
|
|
372
389
|
serviceUrl: sourceUrl,
|
|
373
|
-
pageTitle,
|
|
390
|
+
pageTitle: tComponent(component, 'title'),
|
|
391
|
+
hint,
|
|
374
392
|
backLink,
|
|
375
393
|
errors,
|
|
376
394
|
fields,
|
|
377
395
|
buttons: {
|
|
378
396
|
continueButton,
|
|
379
397
|
manualLink
|
|
380
|
-
}
|
|
398
|
+
},
|
|
399
|
+
t,
|
|
400
|
+
language: translator.language,
|
|
401
|
+
...selector
|
|
381
402
|
};
|
|
382
403
|
}
|
|
383
404
|
|
|
384
405
|
/**
|
|
385
406
|
* The postcode lookup select form view model
|
|
386
407
|
* @param {{ session: PostcodeLookupSessionData, apiKey: string }} data
|
|
408
|
+
* @param {Translator} translator
|
|
387
409
|
* @param {PostcodeLookupSelectPayload} [payload]
|
|
388
410
|
* @param {Error} [err]
|
|
389
411
|
*/
|
|
390
|
-
export async function selectViewModel(data, payload, err) {
|
|
412
|
+
export async function selectViewModel(data, translator, payload, err) {
|
|
391
413
|
const {
|
|
392
414
|
session,
|
|
393
415
|
apiKey
|
|
@@ -400,7 +422,12 @@ export async function selectViewModel(data, payload, err) {
|
|
|
400
422
|
postcodeQuery,
|
|
401
423
|
buildingNameQuery
|
|
402
424
|
} = details;
|
|
403
|
-
const
|
|
425
|
+
const {
|
|
426
|
+
language,
|
|
427
|
+
t,
|
|
428
|
+
tComponent,
|
|
429
|
+
tForm
|
|
430
|
+
} = translator;
|
|
404
431
|
const {
|
|
405
432
|
hasAddresses,
|
|
406
433
|
hasMultipleAddresses,
|
|
@@ -408,39 +435,45 @@ export async function selectViewModel(data, payload, err) {
|
|
|
408
435
|
addresses,
|
|
409
436
|
addressCount
|
|
410
437
|
} = await getAddresses(postcodeQuery, buildingNameQuery, apiKey);
|
|
411
|
-
const title = hasAddresses ?
|
|
438
|
+
const title = hasAddresses ? tComponent(/** @type {ComponentDef} */{
|
|
439
|
+
id: initial.componentId
|
|
440
|
+
}, 'title') : t('postcodeLookup.noAddressFoundTitle');
|
|
412
441
|
const formPath = initial.sourceUrl;
|
|
413
442
|
const href = getHref();
|
|
414
443
|
const backLink = {
|
|
415
|
-
href
|
|
444
|
+
href,
|
|
445
|
+
text: t(COMMON_BACK)
|
|
416
446
|
};
|
|
417
447
|
const {
|
|
418
448
|
errors,
|
|
419
449
|
uprnError
|
|
420
450
|
} = buildErrors(err);
|
|
421
451
|
const fields = getSelectFields(details, hasMultipleAddresses, singleAddress, payload, uprnError, addresses, language);
|
|
422
|
-
const searchAgainText =
|
|
452
|
+
const searchAgainText = t('postcodeLookup.searchAgain');
|
|
423
453
|
const searchAgainLink = {
|
|
424
454
|
text: searchAgainText,
|
|
425
455
|
href
|
|
426
456
|
};
|
|
427
457
|
const continueButton = {
|
|
428
458
|
href: hasAddresses ? undefined : href,
|
|
429
|
-
text: hasAddresses ?
|
|
459
|
+
text: hasAddresses ? t('postcodeLookup.useThisAddress') : searchAgainText,
|
|
430
460
|
classes: GOVUK_MARGIN_RIGHT_1
|
|
431
461
|
};
|
|
432
462
|
const manualLink = {
|
|
433
|
-
text:
|
|
463
|
+
text: t('postcodeLookup.enterManually'),
|
|
434
464
|
href: `${href}?step=${steps.manual}`
|
|
435
465
|
};
|
|
436
|
-
const addressesFoundText = hasAddresses ?
|
|
466
|
+
const addressesFoundText = hasAddresses ? t('postcodeLookup.addressFound', {
|
|
437
467
|
count: addressCount
|
|
438
468
|
}) : undefined;
|
|
439
|
-
const noAddressFoundText = !hasAddresses ?
|
|
469
|
+
const noAddressFoundText = !hasAddresses ? t('postcodeLookup.noAddressFoundBody') : undefined;
|
|
470
|
+
const selector = initial.languages?.length ? {
|
|
471
|
+
languages: initial.languages
|
|
472
|
+
} : {};
|
|
440
473
|
return {
|
|
441
474
|
step: steps.select,
|
|
442
475
|
showTitle: true,
|
|
443
|
-
name: title,
|
|
476
|
+
name: tForm('title'),
|
|
444
477
|
serviceUrl: formPath,
|
|
445
478
|
pageTitle: title,
|
|
446
479
|
backLink,
|
|
@@ -457,27 +490,40 @@ export async function selectViewModel(data, payload, err) {
|
|
|
457
490
|
buttons: {
|
|
458
491
|
continueButton,
|
|
459
492
|
manualLink
|
|
460
|
-
}
|
|
493
|
+
},
|
|
494
|
+
t,
|
|
495
|
+
language,
|
|
496
|
+
...selector
|
|
461
497
|
};
|
|
462
498
|
}
|
|
463
499
|
|
|
464
500
|
/**
|
|
465
501
|
* The postcode lookup manual form view model
|
|
466
502
|
* @param {PostcodeLookupSessionData} data
|
|
503
|
+
* @param {Translator} translator
|
|
467
504
|
* @param {PostcodeLookupManualPayload} [payload]
|
|
468
505
|
* @param {Error} [err]
|
|
469
506
|
*/
|
|
470
|
-
export function manualViewModel(data, payload, err) {
|
|
507
|
+
export function manualViewModel(data, translator, payload, err) {
|
|
471
508
|
const {
|
|
472
|
-
|
|
509
|
+
componentId,
|
|
473
510
|
sourceUrl,
|
|
474
511
|
componentHint,
|
|
475
|
-
|
|
512
|
+
languages
|
|
476
513
|
} = data.initial;
|
|
477
514
|
const formPath = sourceUrl;
|
|
478
515
|
const href = getHref();
|
|
516
|
+
const {
|
|
517
|
+
t,
|
|
518
|
+
tComponent,
|
|
519
|
+
tForm
|
|
520
|
+
} = translator;
|
|
521
|
+
const component = /** @type {ComponentDef} */{
|
|
522
|
+
id: componentId
|
|
523
|
+
};
|
|
479
524
|
const backLink = {
|
|
480
|
-
href
|
|
525
|
+
href,
|
|
526
|
+
text: t(COMMON_BACK)
|
|
481
527
|
};
|
|
482
528
|
const {
|
|
483
529
|
errors,
|
|
@@ -488,23 +534,26 @@ export function manualViewModel(data, payload, err) {
|
|
|
488
534
|
postcodeError
|
|
489
535
|
} = buildErrors(err);
|
|
490
536
|
const hint = componentHint && {
|
|
491
|
-
text:
|
|
537
|
+
text: tComponent(component, 'hint')
|
|
492
538
|
};
|
|
493
|
-
const fields = getManualFields(payload, line1Error, line2Error, townError, countyError, postcodeError, language);
|
|
539
|
+
const fields = getManualFields(payload, line1Error, line2Error, townError, countyError, postcodeError, translator.language);
|
|
494
540
|
const continueButton = {
|
|
495
|
-
text:
|
|
541
|
+
text: t('postcodeLookup.useThisAddress'),
|
|
496
542
|
classes: GOVUK_MARGIN_RIGHT_1
|
|
497
543
|
};
|
|
498
544
|
const detailsLink = {
|
|
499
|
-
text:
|
|
545
|
+
text: t('postcodeLookup.findAnAddressInstead'),
|
|
500
546
|
href
|
|
501
547
|
};
|
|
548
|
+
const selector = languages?.length ? {
|
|
549
|
+
languages
|
|
550
|
+
} : {};
|
|
502
551
|
return {
|
|
503
552
|
step: steps.manual,
|
|
504
553
|
showTitle: true,
|
|
505
|
-
name:
|
|
554
|
+
name: tForm('title'),
|
|
506
555
|
serviceUrl: formPath,
|
|
507
|
-
pageTitle:
|
|
556
|
+
pageTitle: tComponent(component, 'title'),
|
|
508
557
|
backLink,
|
|
509
558
|
errors,
|
|
510
559
|
hint,
|
|
@@ -512,7 +561,10 @@ export function manualViewModel(data, payload, err) {
|
|
|
512
561
|
buttons: {
|
|
513
562
|
continueButton,
|
|
514
563
|
detailsLink
|
|
515
|
-
}
|
|
564
|
+
},
|
|
565
|
+
t,
|
|
566
|
+
language: translator.language,
|
|
567
|
+
...selector
|
|
516
568
|
};
|
|
517
569
|
}
|
|
518
570
|
|
|
@@ -520,6 +572,8 @@ export function manualViewModel(data, payload, err) {
|
|
|
520
572
|
|
|
521
573
|
/**
|
|
522
574
|
* @import { ObjectSchema, ValidationErrorItem } from 'joi'
|
|
575
|
+
* @import { ComponentDef } from '@defra/forms-model'
|
|
523
576
|
* @import { Address, PostcodeLookupDetailsData, PostcodeLookupDetailsPayload, PostcodeLookupManualPayload, PostcodeLookupSelectPayload, PostcodeLookupSessionData } from '../../../../server/plugins/postcode-lookup/types.js'
|
|
577
|
+
* @import { Translator } from '../../../../server/plugins/engine/i18n/types.js'
|
|
524
578
|
*/
|
|
525
579
|
//# sourceMappingURL=index.js.map
|