From 20e6c6291ce180fa08d3515d261d5d5e067630a4 Mon Sep 17 00:00:00 2001 From: XingY Date: Tue, 30 Jun 2026 14:13:11 -0700 Subject: [PATCH 1/3] Multi genbank/fasta import --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- package.json | 2 +- src/labkey/dom/Query.ts | 11 +++++++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5c57517..de57edd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### 1.X - 2026-X +- Allow `file` to be an array for `IImportDataOptions` + ### 1.51.5 - 2026-06-22 - Pass `auditUserComment` option to `Storage.deleteStorageItem` for attaching a reason to the audit log record diff --git a/package-lock.json b/package-lock.json index 7bf9ce3d..70ac864f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/api", - "version": "1.51.5", + "version": "1.51.6-fb-genBank.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/api", - "version": "1.51.5", + "version": "1.51.6-fb-genBank.1", "license": "Apache-2.0", "devDependencies": { "@babel/core": "7.29.7", diff --git a/package.json b/package.json index fe1ec2fd..469fed9e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/api", - "version": "1.51.5", + "version": "1.51.6-fb-genBank.1", "description": "JavaScript client API for LabKey Server", "scripts": { "build": "npm run build:dist && npm run build:docs", diff --git a/src/labkey/dom/Query.ts b/src/labkey/dom/Query.ts index 55480eca..94e628c7 100644 --- a/src/labkey/dom/Query.ts +++ b/src/labkey/dom/Query.ts @@ -99,7 +99,7 @@ export interface IImportDataOptions { auditUserComment?: string; containerPath?: string; failure?: Function; - file?: File | Element | any; + file?: File | File[] | Element | any; format?: string; importIdentity?: any; importLookupByAlternateKey?: boolean; @@ -167,7 +167,14 @@ export function importData(options: IImportDataOptions): XMLHttpRequest { } if (options.file) { - if (options.file instanceof File) { + if (Array.isArray(options.file)) { + // Multiple files are sent as repeated "file" parts; the server reads them via getMultiFileMap. + options.file.forEach(f => { + if (f instanceof File) { + form.append('file', f); + } + }); + } else if (options.file instanceof File) { form.append('file', options.file); } else if (options.file.tagName == 'INPUT' && options.file.files.length > 0) { form.append('file', options.file.files[0]); From 4a38d9d085d9df0047dfd90b4582e23a59577e32 Mon Sep 17 00:00:00 2001 From: XingY Date: Wed, 8 Jul 2026 18:51:50 -0700 Subject: [PATCH 2/3] code review changes --- src/labkey/dom/Query.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/labkey/dom/Query.ts b/src/labkey/dom/Query.ts index 94e628c7..c3c7b99d 100644 --- a/src/labkey/dom/Query.ts +++ b/src/labkey/dom/Query.ts @@ -168,7 +168,6 @@ export function importData(options: IImportDataOptions): XMLHttpRequest { if (options.file) { if (Array.isArray(options.file)) { - // Multiple files are sent as repeated "file" parts; the server reads them via getMultiFileMap. options.file.forEach(f => { if (f instanceof File) { form.append('file', f); From 7ed31918a5bae0721f737b45ad19c8e8c222c757 Mon Sep 17 00:00:00 2001 From: XingY Date: Wed, 8 Jul 2026 18:59:04 -0700 Subject: [PATCH 3/3] merge from develop --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a34f1fe8..d0a2a1b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/api", - "version": "1.52.0", + "version": "1.52.1-fb-genBank.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/api", - "version": "1.52.0", + "version": "1.52.1-fb-genBank.1", "license": "Apache-2.0", "devDependencies": { "@babel/core": "8.0.1",