epam / epam/statgpt-admin-frontend

[Grade C]: Support uploading multiple files at once for Grade C (discovery) datasets

Open
#258 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
18
Forks
0
Avg merge
15h 5m
Merged PRs (30d)
19

Description

### StatGPT Admin Frontend version

0.1.0

### What is the problem this feature will solve?

The Grade C upload modal (src/components/DiscoveryDatasetsView/UploadModal/UploadModal.tsx) lets a user pick a FileList via LoadFileAreaField, but only ever reads and sends files[0] — formData.append('file', files[0], files[0].name). The backend endpoint it calls currently takes exactly one file too, so this is a one-file-at-a-time flow end to end.
Today Admin need to upload each file separately, in might be time consuming with plenty of files

### What is the feature you are proposing to solve the problem?
Update the modal to build one request that carries every selected file, matching the batch contract epam/statgpt-backend#658 adds server-side

Acceptance criteria

- [ ] A user can select 2+ files via the Grade C upload modal (click-to-browse and drag-and-drop) and see all of them listed, with the ability to remove one before uploading.
- [ ] Uploading multiple valid files sends one request and displays the combined summary, including the per-file rows-read/rows-skipped breakdown.
- [ ] A duplicate (agency, dataset id) key across two selected files surfaces in the error table with both files/rows identified.
- [ ] replace mode's checkbox copy correctly describes deleting records absent from the whole batch, not per file.
- [ ] Selecting and uploading a single file behaves exactly as it does today (no regression).

### What alternatives have you considered?

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with src/components/DiscoveryDatasetsView/UploadModal/UploadModal.tsx and trace how LoadFileAreaField selections become the current upload request. Review the batch contract in epam/statgpt-backend#658, then verify click-to-browse, drag-and-drop, removal, combined summaries, duplicate reporting, replace-mode wording, and unchanged single-file behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.