Skip to content

Commit b9cb5e6

Browse files
authored
Merge branch 'main' into feat/df-922-version-metadata-refactor
2 parents 3bf4d44 + 61d0a39 commit b9cb5e6

34 files changed

Lines changed: 5873 additions & 6657 deletions

package-lock.json

Lines changed: 2306 additions & 6196 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"./schema.js": "./.server/server/schemas/index.js",
3232
"./templates/*": "./.server/server/plugins/engine/views/*",
3333
"./cache-service.js": "./.server/server/services/cacheService.js",
34+
"./map-plugin.js": "./.server/server/plugins/map/index.js",
3435
"./package.json": "./package.json"
3536
},
3637
"scripts": {
@@ -84,9 +85,10 @@
8485
"dependencies": {
8586
"@defra/forms-model": "^3.0.637",
8687
"@defra/hapi-tracing": "^1.29.0",
87-
"@defra/interactive-map": "^0.0.4-alpha",
88+
"@defra/interactive-map": "^0.0.11-alpha",
8889
"@elastic/ecs-pino-format": "^1.5.0",
8990
"@hapi/boom": "^10.0.1",
91+
"@hapi/bourne": "^3.0.0",
9092
"@hapi/catbox": "^12.1.1",
9193
"@hapi/catbox-memory": "^6.0.2",
9294
"@hapi/catbox-redis": "^7.0.2",
@@ -98,6 +100,8 @@
98100
"@hapi/vision": "^7.0.3",
99101
"@hapi/wreck": "^18.1.0",
100102
"@hapi/yar": "^11.0.3",
103+
"@turf/bbox": "^7.3.4",
104+
"@turf/centroid": "^7.3.4",
101105
"@types/humanize-duration": "^3.27.4",
102106
"accessible-autocomplete": "^3.0.1",
103107
"atob": "^2.1.2",
@@ -182,16 +186,15 @@
182186
"eslint-config-prettier": "^10.1.8",
183187
"eslint-plugin-jest": "^28.14.0",
184188
"eslint-plugin-jsdoc": "^50.8.0",
185-
"globals": "^17.3.0",
186-
"neostandard": "^0.12.2",
187-
"typescript-eslint": "^8.56.1",
188189
"global-jsdom": "^26.0.0",
190+
"globals": "^17.3.0",
189191
"husky": "^9.1.7",
190192
"jest": "^30.2.0",
191193
"jest-extended": "^7.0.0",
192194
"jsdom": "^26.1.0",
193195
"lint-staged": "^15.5.2",
194196
"mockdate": "^3.0.5",
197+
"neostandard": "^0.12.2",
195198
"nock": "^14.0.10",
196199
"postcss": "^8.5.6",
197200
"postcss-load-config": "^6.0.1",
@@ -208,6 +211,7 @@
208211
"terser-webpack-plugin": "^5.3.14",
209212
"tsx": "^4.20.6",
210213
"typescript": "^5.9.3",
214+
"typescript-eslint": "^8.56.1",
211215
"webpack": "^5.102.1",
212216
"webpack-assets-manifest": "^6.4.0",
213217
"webpack-cli": "^6.0.1"

src/client/javascripts/file-upload.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -304,16 +304,19 @@ function pollUploadStatus(uploadId) {
304304
* @param {HTMLInputElement} fileInput - The file input element
305305
* @param {HTMLButtonElement} uploadButton - The upload button
306306
* @param {HTMLButtonElement} continueButton - The continue button
307-
* @param {File | null} selectedFile - The selected file
307+
* @param {File[]} selectedFiles - The selected files
308308
*/
309309
function handleStandardFormSubmission(
310310
formElement,
311311
fileInput,
312312
uploadButton,
313313
continueButton,
314-
selectedFile
314+
selectedFiles
315315
) {
316-
renderSummary(selectedFile, 'Uploading…', formElement)
316+
// Render in reverse so first file ends up at the top of the summary list
317+
for (let i = selectedFiles.length - 1; i >= 0; i--) {
318+
renderSummary(selectedFiles[i], 'Uploading…', formElement)
319+
}
317320

318321
fileInput.focus()
319322

@@ -403,8 +406,8 @@ function initUpload() {
403406
}
404407

405408
const formElement = /** @type {HTMLFormElement} */ (form)
406-
/** @type {File | null} */
407-
let selectedFile = null
409+
/** @type {File[]} */
410+
let selectedFiles = []
408411
let isSubmitting = false
409412
const uploadId = formElement.dataset.uploadId
410413

@@ -414,12 +417,12 @@ function initUpload() {
414417
}
415418

416419
if (fileInput.files && fileInput.files.length > 0) {
417-
selectedFile = fileInput.files[0]
420+
selectedFiles = Array.from(fileInput.files)
418421
}
419422
})
420423

421424
uploadButton.addEventListener('click', (event) => {
422-
if (!selectedFile) {
425+
if (selectedFiles.length === 0) {
423426
event.preventDefault()
424427
showError(
425428
'Select a file',
@@ -436,12 +439,13 @@ function initUpload() {
436439

437440
isSubmitting = true
438441

442+
// Show all selected files in the summary table
439443
handleStandardFormSubmission(
440444
formElement,
441445
fileInput,
442446
uploadButton,
443447
continueButton,
444-
selectedFile
448+
selectedFiles
445449
)
446450

447451
handleAjaxFormSubmission(

0 commit comments

Comments
 (0)