@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
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<!-- Postcode lookup select -->
|
|
34
34
|
<!-- Postcode lookup details display -->
|
|
35
35
|
{%- set detailsHtml -%}
|
|
36
|
-
<strong>{{ details.postcodeQuery }}</strong>{% if details.buildingNameQuery %} and <strong>{{ details.buildingNameQuery }}</strong>{% endif %}
|
|
36
|
+
<strong>{{ details.postcodeQuery }}</strong>{% if details.buildingNameQuery %} {{ t('common.and')}} <strong>{{ details.buildingNameQuery }}</strong>{% endif %}
|
|
37
37
|
{%- endset -%}
|
|
38
38
|
|
|
39
39
|
{% if hasAddresses %}
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
{{ govukButton(buttons.continueButton) }}
|
|
73
73
|
|
|
74
74
|
{% if buttons.manualLink %}
|
|
75
|
-
<p class="govuk-body">or <a class="govuk-link govuk-link--no-visited-state" href="{{ buttons.manualLink.href }}">{{buttons.manualLink.text}}</a></p>
|
|
75
|
+
<p class="govuk-body">{{ t('common.or')}} <a class="govuk-link govuk-link--no-visited-state" href="{{ buttons.manualLink.href }}">{{buttons.manualLink.text}}</a></p>
|
|
76
76
|
{% elif buttons.detailsLink %}
|
|
77
|
-
<p class="govuk-body">or <a class="govuk-link govuk-link--no-visited-state" href="{{ buttons.detailsLink.href }}">{{buttons.detailsLink.text}}</a></p>
|
|
77
|
+
<p class="govuk-body">{{ t('common.or')}} <a class="govuk-link govuk-link--no-visited-state" href="{{ buttons.detailsLink.href }}">{{buttons.detailsLink.text}}</a></p>
|
|
78
78
|
{% endif %}
|
|
79
79
|
</div>
|
|
80
80
|
</form>
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { type JoiExpression
|
|
2
|
-
export declare function convertToLanguageMessages(extLanguageMessages: LanguageMessagesExt): LanguageMessages;
|
|
1
|
+
import { type JoiExpression } from 'joi';
|
|
3
2
|
export declare function createJoiExpression(expr: string): JoiExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-utils.js","names":["Joi","
|
|
1
|
+
{"version":3,"file":"type-utils.js","names":["Joi","createJoiExpression","expr","expression"],"sources":["../../../src/server/utils/type-utils.ts"],"sourcesContent":["import Joi, { type JoiExpression } from 'joi'\n\nexport function createJoiExpression(expr: string): JoiExpression {\n return Joi.expression(expr) as unknown as JoiExpression\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAA8B,KAAK;AAE7C,OAAO,SAASC,mBAAmBA,CAACC,IAAY,EAAiB;EAC/D,OAAOF,GAAG,CAACG,UAAU,CAACD,IAAI,CAAC;AAC7B","ignoreList":[]}
|
|
@@ -15,4 +15,10 @@ export function isValidUUID(str: string): boolean;
|
|
|
15
15
|
* @param {AnyFormRequest} request
|
|
16
16
|
*/
|
|
17
17
|
export function resolveLanguage(request: AnyFormRequest): string;
|
|
18
|
+
/**
|
|
19
|
+
* Create a comma-separated list with the last seperator being 'or'
|
|
20
|
+
* @param { string[] | undefined } items
|
|
21
|
+
* @param {string} [finalSeparator]
|
|
22
|
+
*/
|
|
23
|
+
export function joinWithOr(items: string[] | undefined, finalSeparator?: string): string;
|
|
18
24
|
import type { AnyFormRequest } from '../../server/plugins/engine/types.js';
|
|
@@ -43,7 +43,24 @@ export function resolveLanguage(request) {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Create a comma-separated list with the last seperator being 'or'
|
|
47
|
+
* @param { string[] | undefined } items
|
|
48
|
+
* @param {string} [finalSeparator]
|
|
49
|
+
*/
|
|
50
|
+
export function joinWithOr(items, finalSeparator = 'or') {
|
|
51
|
+
if (!items || items.length === 0) {
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
if (items.length === 1) {
|
|
55
|
+
return items[0];
|
|
56
|
+
}
|
|
57
|
+
if (items.length === 2) {
|
|
58
|
+
return `${items[0]} ${finalSeparator} ${items[1]}`;
|
|
59
|
+
}
|
|
60
|
+
return `${items.slice(0, -1).join(', ')} ${finalSeparator} ${items.at(-1)}`;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
47
64
|
* @import { AnyFormRequest } from '../../server/plugins/engine/types.js'
|
|
48
65
|
*/
|
|
49
66
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getTraceId","Joi","config","getPluginOptions","applyTraceHeaders","existingHeaders","header","get","traceId","headers","undefined","Object","assign","isValidUUID","str","error","string","uuid","validate","resolveLanguage","request","getLanguage","server","query","yar"],"sources":["../../../src/server/utils/utils.js"],"sourcesContent":["import { getTraceId } from '@defra/hapi-tracing'\nimport Joi from 'joi'\n\nimport { config } from '~/src/config/index.js'\nimport { getPluginOptions } from '~/src/server/plugins/engine/helpers.js'\n\n/**\n * Returns a set of headers to use in an HTTP request, merging them with any existing headers in options.\n * @param {Record<string, string> | undefined} [existingHeaders] - Optional existing headers to merge with the tracing headers.\n * @param {string} [header] - The tracing header name to use.\n * @returns {Record<string, string> | undefined} The merged headers, or undefined if no tracing header is available.\n */\nexport function applyTraceHeaders(\n existingHeaders,\n header = config.get('tracing').header\n) {\n if (!header) {\n return existingHeaders\n }\n\n const traceId = getTraceId()\n\n const headers = traceId ? { [header]: traceId } : undefined\n\n return existingHeaders ? Object.assign(existingHeaders, headers) : headers\n}\n\n/**\n * Validates if a string conforms to the uuid structure\n * @param {string} str\n * @returns\n */\nexport function isValidUUID(str) {\n const { error } = Joi.string().uuid().validate(str)\n return error === undefined\n}\n\n/**\n * @param {AnyFormRequest} request\n */\nexport function resolveLanguage(request) {\n const { getLanguage } = getPluginOptions(request.server)\n return getLanguage?.(request.query, request.yar) ?? 'en-GB'\n}\n\n/**\n * @
|
|
1
|
+
{"version":3,"file":"utils.js","names":["getTraceId","Joi","config","getPluginOptions","applyTraceHeaders","existingHeaders","header","get","traceId","headers","undefined","Object","assign","isValidUUID","str","error","string","uuid","validate","resolveLanguage","request","getLanguage","server","query","yar","joinWithOr","items","finalSeparator","length","slice","join","at"],"sources":["../../../src/server/utils/utils.js"],"sourcesContent":["import { getTraceId } from '@defra/hapi-tracing'\nimport Joi from 'joi'\n\nimport { config } from '~/src/config/index.js'\nimport { getPluginOptions } from '~/src/server/plugins/engine/helpers.js'\n\n/**\n * Returns a set of headers to use in an HTTP request, merging them with any existing headers in options.\n * @param {Record<string, string> | undefined} [existingHeaders] - Optional existing headers to merge with the tracing headers.\n * @param {string} [header] - The tracing header name to use.\n * @returns {Record<string, string> | undefined} The merged headers, or undefined if no tracing header is available.\n */\nexport function applyTraceHeaders(\n existingHeaders,\n header = config.get('tracing').header\n) {\n if (!header) {\n return existingHeaders\n }\n\n const traceId = getTraceId()\n\n const headers = traceId ? { [header]: traceId } : undefined\n\n return existingHeaders ? Object.assign(existingHeaders, headers) : headers\n}\n\n/**\n * Validates if a string conforms to the uuid structure\n * @param {string} str\n * @returns\n */\nexport function isValidUUID(str) {\n const { error } = Joi.string().uuid().validate(str)\n return error === undefined\n}\n\n/**\n * @param {AnyFormRequest} request\n */\nexport function resolveLanguage(request) {\n const { getLanguage } = getPluginOptions(request.server)\n return getLanguage?.(request.query, request.yar) ?? 'en-GB'\n}\n\n/**\n * Create a comma-separated list with the last seperator being 'or'\n * @param { string[] | undefined } items\n * @param {string} [finalSeparator]\n */\nexport function joinWithOr(items, finalSeparator = 'or') {\n if (!items || items.length === 0) {\n return ''\n }\n if (items.length === 1) {\n return items[0]\n }\n if (items.length === 2) {\n return `${items[0]} ${finalSeparator} ${items[1]}`\n }\n\n return `${items.slice(0, -1).join(', ')} ${finalSeparator} ${items.at(-1)}`\n}\n\n/**\n * @import { AnyFormRequest } from '~/src/server/plugins/engine/types.js'\n */\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,qBAAqB;AAChD,OAAOC,GAAG,MAAM,KAAK;AAErB,SAASC,MAAM;AACf,SAASC,gBAAgB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/BC,eAAe,EACfC,MAAM,GAAGJ,MAAM,CAACK,GAAG,CAAC,SAAS,CAAC,CAACD,MAAM,EACrC;EACA,IAAI,CAACA,MAAM,EAAE;IACX,OAAOD,eAAe;EACxB;EAEA,MAAMG,OAAO,GAAGR,UAAU,CAAC,CAAC;EAE5B,MAAMS,OAAO,GAAGD,OAAO,GAAG;IAAE,CAACF,MAAM,GAAGE;EAAQ,CAAC,GAAGE,SAAS;EAE3D,OAAOL,eAAe,GAAGM,MAAM,CAACC,MAAM,CAACP,eAAe,EAAEI,OAAO,CAAC,GAAGA,OAAO;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,WAAWA,CAACC,GAAG,EAAE;EAC/B,MAAM;IAAEC;EAAM,CAAC,GAAGd,GAAG,CAACe,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,QAAQ,CAACJ,GAAG,CAAC;EACnD,OAAOC,KAAK,KAAKL,SAAS;AAC5B;;AAEA;AACA;AACA;AACA,OAAO,SAASS,eAAeA,CAACC,OAAO,EAAE;EACvC,MAAM;IAAEC;EAAY,CAAC,GAAGlB,gBAAgB,CAACiB,OAAO,CAACE,MAAM,CAAC;EACxD,OAAOD,WAAW,GAAGD,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACI,GAAG,CAAC,IAAI,OAAO;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAK,EAAEC,cAAc,GAAG,IAAI,EAAE;EACvD,IAAI,CAACD,KAAK,IAAIA,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;IAChC,OAAO,EAAE;EACX;EACA,IAAIF,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOF,KAAK,CAAC,CAAC,CAAC;EACjB;EACA,IAAIA,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;IACtB,OAAO,GAAGF,KAAK,CAAC,CAAC,CAAC,IAAIC,cAAc,IAAID,KAAK,CAAC,CAAC,CAAC,EAAE;EACpD;EAEA,OAAO,GAAGA,KAAK,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,IAAIH,cAAc,IAAID,KAAK,CAACK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7E;;AAEA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTraceId } from '@defra/hapi-tracing';
|
|
2
2
|
import { config } from "../../config/index.js";
|
|
3
|
-
import { applyTraceHeaders, isValidUUID } from "./utils.js";
|
|
3
|
+
import { applyTraceHeaders, isValidUUID, joinWithOr } from "./utils.js";
|
|
4
4
|
jest.mock('@defra/hapi-tracing');
|
|
5
5
|
describe('Header helper functions', () => {
|
|
6
6
|
it('should include the trace id in the headers if available', () => {
|
|
@@ -81,5 +81,25 @@ describe('Header helper functions', () => {
|
|
|
81
81
|
}) => {
|
|
82
82
|
expect(isValidUUID(uuid)).toBe(valid);
|
|
83
83
|
});
|
|
84
|
+
describe('joinWithOr', () => {
|
|
85
|
+
it('should handle undefined array', () => {
|
|
86
|
+
expect(joinWithOr(undefined)).toBe('');
|
|
87
|
+
});
|
|
88
|
+
it('should handle empty array', () => {
|
|
89
|
+
expect(joinWithOr([])).toBe('');
|
|
90
|
+
});
|
|
91
|
+
it('should handle one item', () => {
|
|
92
|
+
expect(joinWithOr(['item1'])).toBe('item1');
|
|
93
|
+
});
|
|
94
|
+
it('should handle two items', () => {
|
|
95
|
+
expect(joinWithOr(['item1', 'item2'])).toBe('item1 or item2');
|
|
96
|
+
});
|
|
97
|
+
it('should handle three items', () => {
|
|
98
|
+
expect(joinWithOr(['item1', 'item2', 'item3'])).toBe('item1, item2 or item3');
|
|
99
|
+
});
|
|
100
|
+
it('should handle a different last separator', () => {
|
|
101
|
+
expect(joinWithOr(['item1', 'item2', 'item3'], 'and')).toBe('item1, item2 and item3');
|
|
102
|
+
});
|
|
103
|
+
});
|
|
84
104
|
});
|
|
85
105
|
//# sourceMappingURL=utils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","names":["getTraceId","config","applyTraceHeaders","isValidUUID","jest","mock","describe","it","mocked","mockReturnValue","result","expect","toEqual","get","header","toBeUndefined","existingHeaders","Authorization","toBe","each","uuid","valid"],"sources":["../../../src/server/utils/utils.test.js"],"sourcesContent":["import { getTraceId } from '@defra/hapi-tracing'\n\nimport { config } from '~/src/config/index.js'\nimport {
|
|
1
|
+
{"version":3,"file":"utils.test.js","names":["getTraceId","config","applyTraceHeaders","isValidUUID","joinWithOr","jest","mock","describe","it","mocked","mockReturnValue","result","expect","toEqual","get","header","toBeUndefined","existingHeaders","Authorization","toBe","each","uuid","valid","undefined"],"sources":["../../../src/server/utils/utils.test.js"],"sourcesContent":["import { getTraceId } from '@defra/hapi-tracing'\n\nimport { config } from '~/src/config/index.js'\nimport {\n applyTraceHeaders,\n isValidUUID,\n joinWithOr\n} from '~/src/server/utils/utils.js'\n\njest.mock('@defra/hapi-tracing')\n\ndescribe('Header helper functions', () => {\n it('should include the trace id in the headers if available', () => {\n jest.mocked(getTraceId).mockReturnValue('my-trace-id')\n\n const result = applyTraceHeaders() // Updated to applyTraceHeaders\n expect(result).toEqual({\n [config.get('tracing').header]: 'my-trace-id'\n })\n })\n\n it('should exclude the trace id in the headers if missing', () => {\n jest.mocked(getTraceId).mockReturnValue(null)\n\n const result = applyTraceHeaders() // Updated to applyTraceHeaders\n expect(result).toBeUndefined()\n })\n\n it('should merge existing headers with the trace id if available', () => {\n jest.mocked(getTraceId).mockReturnValue('my-trace-id')\n\n const existingHeaders = { Authorization: 'Bearer token' }\n const result = applyTraceHeaders(existingHeaders) // Updated to applyTraceHeaders\n\n expect(result).toEqual({\n Authorization: 'Bearer token',\n [config.get('tracing').header]: 'my-trace-id'\n })\n })\n\n it('should return existing headers without modification if trace id is missing', () => {\n jest.mocked(getTraceId).mockReturnValue(null)\n\n const existingHeaders = { Authorization: 'Bearer token' }\n const result = applyTraceHeaders(existingHeaders) // Updated to applyTraceHeaders\n\n expect(result).toEqual({\n Authorization: 'Bearer token'\n })\n })\n\n it('should return existing headers if tracing header configuration is missing', () => {\n const existingHeaders = { Authorization: 'Bearer token' }\n const result = applyTraceHeaders(existingHeaders, '')\n\n expect(result).toBe(existingHeaders)\n })\n\n it.each([\n { uuid: '1f457a37-7b99-452e-8324-df9e041abff2', valid: true },\n { uuid: '0c9a2690-9a0c-4a2c-98d7-e9ef95615ac9', valid: true },\n { uuid: 'f223de3b-5ae5-44b2-8cee-ea8439adc335', valid: true },\n { uuid: '82ecc90c-bc47-4ec5-80af-1a9fc1c4c08c', valid: true },\n { uuid: 'd99ff582-ecce-474f-a44b-bc5961d977c5', valid: true },\n { uuid: '7afffc8a-81ab-4aa6-a8f5-ecf6a600a781', valid: true },\n { uuid: '7afffc8a81ab4aa6a8f5ecf6a600a781', valid: true },\n { uuid: '', valid: false },\n { uuid: 'uuid', valid: false },\n { uuid: 'h4f84ef8-b5e1-4544-94aa-1b671d50d8cb', valid: false }\n ])('should validate uuid appropriately %s', ({ uuid, valid }) => {\n expect(isValidUUID(uuid)).toBe(valid)\n })\n\n describe('joinWithOr', () => {\n it('should handle undefined array', () => {\n expect(joinWithOr(undefined)).toBe('')\n })\n it('should handle empty array', () => {\n expect(joinWithOr([])).toBe('')\n })\n it('should handle one item', () => {\n expect(joinWithOr(['item1'])).toBe('item1')\n })\n it('should handle two items', () => {\n expect(joinWithOr(['item1', 'item2'])).toBe('item1 or item2')\n })\n it('should handle three items', () => {\n expect(joinWithOr(['item1', 'item2', 'item3'])).toBe(\n 'item1, item2 or item3'\n )\n })\n it('should handle a different last separator', () => {\n expect(joinWithOr(['item1', 'item2', 'item3'], 'and')).toBe(\n 'item1, item2 and item3'\n )\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defra/forms-engine-plugin",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.20",
|
|
4
4
|
"description": "Defra forms engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"import": "./.server/server/plugins/engine/types/index.js",
|
|
20
20
|
"default": "./.server/server/plugins/engine/types/index.js"
|
|
21
21
|
},
|
|
22
|
+
"./maps": {
|
|
23
|
+
"sass": "./.server/client/stylesheets/maps.scss",
|
|
24
|
+
"import": "./.server/client/javascripts/maps.js",
|
|
25
|
+
"default": "./.server/client/javascripts/maps.js"
|
|
26
|
+
},
|
|
22
27
|
"./shared.js": "./.server/client/javascripts/shared.js",
|
|
23
28
|
"./shared.min.js": "./.public/javascripts/shared.min.js",
|
|
24
29
|
"./shared.min.js.map": "./.public/javascripts/shared.min.js.map",
|
|
@@ -82,14 +87,14 @@
|
|
|
82
87
|
"react-router": "^5.3.4"
|
|
83
88
|
},
|
|
84
89
|
"engines": {
|
|
85
|
-
"node": "
|
|
86
|
-
"npm": "
|
|
90
|
+
"node": "^24.19.0",
|
|
91
|
+
"npm": "^11.17.0 || >=12.0.2"
|
|
87
92
|
},
|
|
88
93
|
"license": "SEE LICENSE IN LICENSE",
|
|
89
94
|
"dependencies": {
|
|
90
|
-
"@defra/forms-model": "^3.0.
|
|
95
|
+
"@defra/forms-model": "^3.0.698",
|
|
91
96
|
"@defra/hapi-tracing": "^1.29.0",
|
|
92
|
-
"@defra/interactive-map": "
|
|
97
|
+
"@defra/interactive-map": "0.0.33-alpha",
|
|
93
98
|
"@elastic/ecs-pino-format": "^1.5.0",
|
|
94
99
|
"@hapi/boom": "^10.0.1",
|
|
95
100
|
"@hapi/bourne": "^3.0.0",
|
|
@@ -107,6 +112,7 @@
|
|
|
107
112
|
"@turf/bbox": "^7.3.4",
|
|
108
113
|
"@turf/boolean-within": "^7.3.5",
|
|
109
114
|
"@turf/centroid": "^7.3.4",
|
|
115
|
+
"@turf/helpers": "^7.3.5",
|
|
110
116
|
"@types/humanize-duration": "^3.27.4",
|
|
111
117
|
"accessible-autocomplete": "^3.0.1",
|
|
112
118
|
"atob": "^2.1.2",
|
|
@@ -131,6 +137,7 @@
|
|
|
131
137
|
"joi": "^17.13.3",
|
|
132
138
|
"liquidjs": "^10.24.0",
|
|
133
139
|
"lodash": "^4.17.21",
|
|
140
|
+
"lru-cache": "^11.5.1",
|
|
134
141
|
"maplibre-gl": "^5.24.0",
|
|
135
142
|
"marked": "^15.0.12",
|
|
136
143
|
"nunjucks": "^3.2.4",
|
|
@@ -225,5 +232,13 @@
|
|
|
225
232
|
"webpack": "^5.102.1",
|
|
226
233
|
"webpack-assets-manifest": "^6.4.0",
|
|
227
234
|
"webpack-cli": "^6.0.1"
|
|
235
|
+
},
|
|
236
|
+
"allowScripts": {
|
|
237
|
+
"@defra/hapi-tracing@1.30.0": true,
|
|
238
|
+
"@parcel/watcher@2.5.6": true,
|
|
239
|
+
"core-js": true,
|
|
240
|
+
"esbuild": true,
|
|
241
|
+
"unrs-resolver": true,
|
|
242
|
+
"fsevents": true
|
|
228
243
|
}
|
|
229
244
|
}
|
|
@@ -305,17 +305,19 @@ function pollUploadStatus(uploadId) {
|
|
|
305
305
|
* @param {HTMLButtonElement} uploadButton - The upload button
|
|
306
306
|
* @param {HTMLButtonElement} continueButton - The continue button
|
|
307
307
|
* @param {File[]} selectedFiles - The selected files
|
|
308
|
+
* @param {string} uploadingLabel - The text to display while uploading (can be multiple languages)
|
|
308
309
|
*/
|
|
309
310
|
function handleStandardFormSubmission(
|
|
310
311
|
formElement,
|
|
311
312
|
fileInput,
|
|
312
313
|
uploadButton,
|
|
313
314
|
continueButton,
|
|
314
|
-
selectedFiles
|
|
315
|
+
selectedFiles,
|
|
316
|
+
uploadingLabel
|
|
315
317
|
) {
|
|
316
318
|
// Render in reverse so first file ends up at the top of the summary list
|
|
317
319
|
for (let i = selectedFiles.length - 1; i >= 0; i--) {
|
|
318
|
-
renderSummary(selectedFiles[i],
|
|
320
|
+
renderSummary(selectedFiles[i], uploadingLabel, formElement)
|
|
319
321
|
}
|
|
320
322
|
|
|
321
323
|
fileInput.focus()
|
|
@@ -405,6 +407,10 @@ function initUpload() {
|
|
|
405
407
|
return
|
|
406
408
|
}
|
|
407
409
|
|
|
410
|
+
const uploadingLabel =
|
|
411
|
+
document.getElementById('uploadedFilesContainer')?.dataset.uploadinglabel ??
|
|
412
|
+
'Uploading…'
|
|
413
|
+
|
|
408
414
|
const formElement = /** @type {HTMLFormElement} */ (form)
|
|
409
415
|
/** @type {File[]} */
|
|
410
416
|
let selectedFiles = []
|
|
@@ -418,6 +424,7 @@ function initUpload() {
|
|
|
418
424
|
|
|
419
425
|
if (fileInput.files && fileInput.files.length > 0) {
|
|
420
426
|
selectedFiles = Array.from(fileInput.files)
|
|
427
|
+
uploadButton.click()
|
|
421
428
|
}
|
|
422
429
|
})
|
|
423
430
|
|
|
@@ -445,7 +452,8 @@ function initUpload() {
|
|
|
445
452
|
fileInput,
|
|
446
453
|
uploadButton,
|
|
447
454
|
continueButton,
|
|
448
|
-
selectedFiles
|
|
455
|
+
selectedFiles,
|
|
456
|
+
uploadingLabel
|
|
449
457
|
)
|
|
450
458
|
|
|
451
459
|
handleAjaxFormSubmission(
|