feat(FR-2622): add bulk vfolder trash support on model card bulk deletion#7135
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔴 | Statements | 8.09% (-0.01% 🔻) |
1858/22962 |
| 🔴 | Branches | 7.34% (-0.01% 🔻) |
1187/16182 |
| 🔴 | Functions | 4.8% (-0% 🔻) |
296/6169 |
| 🔴 | Lines | 7.86% (-0.01% 🔻) |
1749/22247 |
Test suite run success
865 tests passing in 40 suites.
Report generated by 🧪jest coverage report action from e32933e
e643ef8 to
cadbaf4
Compare
5fa0945 to
a6ec9e4
Compare
cadbaf4 to
ae5238f
Compare
a6ec9e4 to
9b7b330
Compare
ae5238f to
e32933e
Compare
9b7b330 to
0fb1169
Compare
e32933e to
4da91ad
Compare
0fb1169 to
f3f75f2
Compare
Coverage Report for react-coverage (./react)
File Coverage
|
||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
Extends the admin Model Card management flow so bulk deletion can optionally move associated model folders to trash and surface a trash-navigation notification. In the WebUI, this mainly touches the admin list page flow, GraphQL schema shape, and localized copy for the new bulk-delete option/message.
Changes:
- Adds a bulk-delete checkbox for also trashing associated model folders and switches the success UX to a trash-link notification when enabled.
- Extends the model-card delete GraphQL API shape with delete options for single and bulk operations.
- Adds the new bulk-delete checkbox/message translations across all shipped locales.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| resources/i18n/zh-TW.json | Adds Traditional Chinese strings for the bulk folder-delete option and completion message. |
| resources/i18n/zh-CN.json | Adds Simplified Chinese strings for the new bulk delete flow. |
| resources/i18n/vi.json | Adds Vietnamese strings for bulk card+folder deletion. |
| resources/i18n/tr.json | Adds Turkish strings for the new checkbox and notification. |
| resources/i18n/th.json | Adds Thai strings for the bulk folder-delete UX. |
| resources/i18n/ru.json | Adds Russian strings for the new bulk delete behavior. |
| resources/i18n/pt.json | Adds Portuguese strings for the bulk folder-delete flow. |
| resources/i18n/pt-BR.json | Adds Brazilian Portuguese strings for bulk card+folder deletion. |
| resources/i18n/pl.json | Adds Polish strings for the new bulk delete option/message. |
| resources/i18n/ms.json | Adds Malay strings for the bulk folder-delete UX. |
| resources/i18n/mn.json | Adds Mongolian strings for the new bulk delete flow. |
| resources/i18n/ko.json | Adds Korean strings for the bulk folder-delete option and completion notification. |
| resources/i18n/ja.json | Adds Japanese strings for the new bulk delete behavior. |
| resources/i18n/it.json | Adds Italian strings for the bulk folder-delete flow. |
| resources/i18n/id.json | Adds Indonesian strings for the new checkbox and completion message. |
| resources/i18n/fr.json | Adds French strings for bulk card+folder deletion. |
| resources/i18n/fi.json | Adds Finnish strings for the new bulk delete UX. |
| resources/i18n/es.json | Adds Spanish strings for the bulk folder-delete flow. |
| resources/i18n/en.json | Adds English source strings for the new bulk delete option and success notification. |
| resources/i18n/el.json | Adds Greek strings for the bulk card+folder deletion flow. |
| resources/i18n/de.json | Adds German strings for the new bulk delete behavior. |
| react/src/pages/AdminModelCardListPage.tsx | Wires single/bulk delete options into the admin model-card page and updates success notifications. |
| data/schema.graphql | Extends the delete mutations/input types with model-folder deletion options. |
4da91ad to
85dc355
Compare
f0581a3 to
8894927
Compare
626b227 to
02162cd
Compare
e207206 to
11b42d3
Compare
0b157d0 to
db4b128
Compare
02162cd to
322164b
Compare
83f7633 to
f498d07
Compare
322164b to
e51f387
Compare
f498d07 to
b21692f
Compare
e51f387 to
6d3024a
Compare
b21692f to
5523115
Compare
5523115 to
ced2837
Compare
Merge activity
|
…tion (#7135) Resolves #6841 ([FR-2622](https://lablup.atlassian.net/browse/FR-2622)) ## Summary Extends the FR-2622 single-card delete-with-folder UX to the bulk-delete flow on the Admin Model Card list page. - Add an opt-in **"Also delete the associated model folders"** checkbox to the bulk delete confirmation modal (matches the single-card modal copy/tooltip) - Wire a new Relay mutation `bulkDeleteVfoldersV2` and call it after `adminDeleteModelCardsV2` succeeds — passing the `vfolderId`s of the selected cards (skips cards with no vfolder) - After folders are moved to trash, replace the plain success message with a `BAINotification` whose action link navigates to **Data > Trash** (`/admin-data?statusCategory=deleted`). No name/id filter is applied in the bulk case — the trash tab is shown unfiltered, per design discussion - If the checkbox is left unchecked the existing `BulkDeleteCompleted` toast is preserved (no behavior change) - Add i18n keys to all 21 locales: - `adminModelCard.AlsoDeleteModelFolders` - `adminModelCard.BulkDeleteModelCardsAndFoldersCompleted` ## Test plan - [ ] Bulk-delete N model cards without checkbox → toast `{{count}} model card(s) have been deleted.` - [ ] Bulk-delete N model cards **with** checkbox → notification with **Go to Data > Trash** link, navigates to `/admin-data?statusCategory=deleted` - [ ] Mix of cards with and without vfolders → only the cards that have vfolders are sent to `bulkDeleteVfoldersV2` - [ ] `bash scripts/verify.sh` — Relay / Lint / Format / TS all green **Checklist:** - [ ] Documentation - [ ] Minimum required manager version - [ ] Specific setting for review (eg., KB link, endpoint or how to setup) - [ ] Minimum requirements to check during review - [ ] Test case(s) to demonstrate the difference of before/after [FR-2622]: https://lablup.atlassian.net/browse/FR-2622?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
6d3024a to
a3aede7
Compare
ced2837 to
85ac648
Compare


Resolves #6841 (FR-2622)
Summary
Extends the FR-2622 single-card delete-with-folder UX to the bulk-delete flow on the Admin Model Card list page.
bulkDeleteVfoldersV2and call it afteradminDeleteModelCardsV2succeeds — passing thevfolderIds of the selected cards (skips cards with no vfolder)BAINotificationwhose action link navigates to Data > Trash (/admin-data?statusCategory=deleted). No name/id filter is applied in the bulk case — the trash tab is shown unfiltered, per design discussionBulkDeleteCompletedtoast is preserved (no behavior change)adminModelCard.AlsoDeleteModelFoldersadminModelCard.BulkDeleteModelCardsAndFoldersCompletedTest plan
{{count}} model card(s) have been deleted./admin-data?statusCategory=deletedbulkDeleteVfoldersV2bash scripts/verify.sh— Relay / Lint / Format / TS all greenChecklist: