diff --git a/CHANGELOG.md b/CHANGELOG.md index b9d71dce9..e39f09bf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Fixed + +- **CUMULUS-3265** + - Fixed bulk granule operation modal to correctly pass selected granules into bulk operation + ## [v12.0.1] - 2023-05-25 + ### Breaking Changes This version of the dashboard requires Cumulus API v2 (Core version >= v16.0.0) diff --git a/app/src/js/components/Granules/bulk-granule-modal.js b/app/src/js/components/Granules/bulk-granule-modal.js index 99939703f..3a6169fb0 100644 --- a/app/src/js/components/Granules/bulk-granule-modal.js +++ b/app/src/js/components/Granules/bulk-granule-modal.js @@ -61,21 +61,17 @@ const BulkGranuleModal = ({ if (!inflight) { try { json = JSON.parse(query); - const granuleIds = json.ids.map((granule) => granule.granuleId); - json.ids = granuleIds; } catch (jsonError) { - return setErrorState('Syntax error in JSON'); + return setErrorState(`Syntax error in JSON ${jsonError.message}`); } dispatch(bulkRequestAction({ requestId, json })); } } function queryGranulesWorkflows(queryParams) { - const { ids, index, query: esQuery } = queryParams; - if ((index && esQuery) || ids.length > 0) { - const granuleWorkflowsQuery = { ...queryParams, granules: ids }; - delete granuleWorkflowsQuery[ids]; - dispatch(getGranulesWorkflows(granuleWorkflowsQuery)); + const { granules, index, query: esQuery } = queryParams; + if ((index && esQuery) || granules.length > 0) { + dispatch(getGranulesWorkflows(queryParams)); } } @@ -100,7 +96,7 @@ const BulkGranuleModal = ({ } useEffect(() => { - const queryParams = { ...JSON.parse(query), ids: selected }; + const queryParams = { ...JSON.parse(query), granules: selected }; setQuery(JSON.stringify(queryParams, null, 2)); if (showModal && queryWorkflowOptions) { @@ -158,7 +154,7 @@ const BulkGranuleModal = ({ {selected && <>

Selected granules:

-

[{selected.map((selection) => `"${selection.granuleId}"`).join(', ')}]

+

[{selected.map((selection) => `{"granuleId": "${selection.granuleId}", "collectionId": "${selection.collectionId}"}`).join(', ')}]

}
diff --git a/app/src/js/components/Granules/bulk.js b/app/src/js/components/Granules/bulk.js index a3597a9b6..545197f25 100644 --- a/app/src/js/components/Granules/bulk.js +++ b/app/src/js/components/Granules/bulk.js @@ -33,7 +33,7 @@ const bulkOperationsDefaultQuery = { workflowName: '', index: '', query: '', - granules: '', + granules: [], meta: {} };