Skip to content

Commit 18196cd

Browse files
frano-mFran McDade
andauthored
chore: download project manifest (#3328) (#3660)
Co-authored-by: Fran McDade <franmcdade@Frans-MacBook-Pro.local>
1 parent d630df6 commit 18196cd

File tree

7 files changed

+69
-21
lines changed

7 files changed

+69
-21
lines changed

explorer/app/components/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export { ExportSummary } from "@clevercanary/data-explorer-ui/lib/components/Exp
3434
export { ExportToTerraForm } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ExportToTerra/components/ExportToTerraForm/exportToTerraForm";
3535
export { TerraSetUpForm } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm";
3636
export { ExportToTerra } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ExportToTerra/exportToTerra";
37+
export { ManifestDownloadEntity } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/manifestDownloadEntity";
3738
export { ManifestDownloadForm } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ManifestDownload/components/ManifestDownloadForm/manifestDownloadForm";
3839
export { ManifestDownload } from "@clevercanary/data-explorer-ui/lib/components/Export/components/ManifestDownload/manifestDownload";
3940
export { AzulFileDownload } from "@clevercanary/data-explorer-ui/lib/components/Index/components/AzulFileDownload/azulFileDownload";
@@ -59,7 +60,6 @@ export { Description } from "@clevercanary/data-explorer-ui/lib/components/Proje
5960
export { Details } from "@clevercanary/data-explorer-ui/lib/components/Project/components/Details/details";
6061
export { Publications } from "@clevercanary/data-explorer-ui/lib/components/Project/components/Publications/publications";
6162
export { SupplementaryLinks } from "@clevercanary/data-explorer-ui/lib/components/Project/components/SupplementaryLinks/supplementaryLinks";
62-
export { TitledText } from "@clevercanary/data-explorer-ui/lib/components/Project/components/TitledText/titledText";
6363
export { ExportMethodView } from "@clevercanary/data-explorer-ui/lib/views/ExportMethodView/exportMethodView";
6464
export { Fade } from "./common/Fade/fade";
6565
export { MdxMarkdown } from "./common/MDXMarkdown/mdxMarkdown";

explorer/app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -858,6 +858,25 @@ export const buildManifestDownload = (
858858
};
859859
};
860860

861+
/*
862+
* Build props for ManifestDownloadEntity component.
863+
* @param projectsResponse - Response model return from the entity response API.
864+
* @returns model to be used as props for the ManifestDownloadEntity component.
865+
*/
866+
export const buildManifestDownloadEntity = (
867+
projectsResponse: ProjectsResponse
868+
): React.ComponentProps<typeof C.ManifestDownloadEntity> => {
869+
// Get the initial filters.
870+
const filters = getExportEntityFilters(projectsResponse);
871+
// Get the metadata filters.
872+
const metadataFilters = getMetadataFilters(filters);
873+
return {
874+
fileManifestType: FILE_MANIFEST_TYPE.ENTITY_DOWNLOAD_MANIFEST,
875+
filters,
876+
metadataFilters,
877+
};
878+
};
879+
861880
/**
862881
* Build props for the project title Link component from the given entity response.
863882
* @param projectsResponse - Response model return from the entity response API.
@@ -1482,6 +1501,20 @@ export function getGeneratedMatricesMatrixCellCountColumnDef<
14821501
};
14831502
}
14841503

1504+
/**
1505+
* Returns the metadata filters.
1506+
* @param filters - Filters.
1507+
* @returns metadata filters.
1508+
*/
1509+
function getMetadataFilters(filters: Filters): Filters {
1510+
const metadataFilters = [...filters];
1511+
metadataFilters.push({
1512+
categoryKey: HCA_DCP_CATEGORY_KEY.CONTENT_DESCRIPTION,
1513+
value: ["Database entry metadata"],
1514+
});
1515+
return metadataFilters;
1516+
}
1517+
14851518
/**
14861519
* Returns props for NTagCell component from the given entity and entity key.
14871520
* @param projectMatrixTableView - Project matrix view (by species).

explorer/package-lock.json

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

explorer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"test:anvil-catalog": "playwright test -c playwright_anvil-catalog.config.ts"
3434
},
3535
"dependencies": {
36-
"@clevercanary/data-explorer-ui": "0.43.0",
36+
"@clevercanary/data-explorer-ui": "0.44.0",
3737
"@emotion/react": "11.11.1",
3838
"@emotion/styled": "11.11.0",
3939
"@mdx-js/loader": "^2.3.0",
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import { ComponentConfig } from "@clevercanary/data-explorer-ui/lib/config/entities";
2+
import { ProjectsResponse } from "../../../../../app/apis/azul/hca-dcp/common/responses";
23
import * as C from "../../../../../app/components";
4+
import * as V from "../../../../../app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders";
35

46
export const mainColumn: ComponentConfig[] = [
57
{
6-
component: C.TitledText,
7-
viewBuilder: () => ({
8-
text: ["To do."],
9-
title: "Metadata Download",
10-
}),
11-
} as ComponentConfig<typeof C.TitledText>,
8+
component: C.ManifestDownloadEntity,
9+
viewBuilder: V.buildManifestDownloadEntity,
10+
} as ComponentConfig<typeof C.ManifestDownloadEntity, ProjectsResponse>,
1211
];

explorer/site-config/hca-dcp/dev/detail/project/metadataSideColumn.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
import { ComponentConfig } from "@clevercanary/data-explorer-ui/lib/config/entities";
22
import * as C from "../../../../../app/components";
33
import * as MDX from "../../../../../app/content/hca-dcp";
4+
import * as V from "../../../../../app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders";
45

56
export const sideColumn: ComponentConfig[] = [
7+
{
8+
children: [
9+
{
10+
component: C.ExportCurrentQuery,
11+
viewBuilder: V.buildExportCurrentQuery,
12+
} as ComponentConfig<typeof C.ExportCurrentQuery>,
13+
{
14+
component: C.ExportSelectedDataSummary,
15+
viewBuilder: V.buildExportSelectedDataSummary,
16+
} as ComponentConfig<typeof C.ExportSelectedDataSummary>,
17+
],
18+
component: C.ExportSummary,
19+
} as ComponentConfig<typeof C.ExportSummary>,
620
{
721
children: [
822
{

explorer/site-config/hca-dcp/dev/index/projectsEntityConfig.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import { PROJECTS_LABEL } from "../constants";
1313
import { mainColumn as exportMainColumn } from "../detail/project/exportMainColumn";
1414
import { sideColumn as exportSideColumn } from "../detail/project/exportSideColumn";
1515
import { mainColumn as matricesMainColumn } from "../detail/project/matricesMainColumn";
16+
import { mainColumn as metadataMainColumn } from "../detail/project/metadataMainColumn";
17+
import { sideColumn as metadataSideColumn } from "../detail/project/metadataSideColumn";
1618
import { mainColumn as overviewMainColumn } from "../detail/project/overviewMainColumn";
1719
import { sideColumn as overviewSideColumn } from "../detail/project/overviewSideColumn";
1820
import { mainColumn as projectFilesMainColumn } from "../detail/project/projectFilesMainColumn";
@@ -34,12 +36,12 @@ export const projectsEntityConfig: EntityConfig = {
3436
route: "",
3537
sideColumn: overviewSideColumn,
3638
},
37-
// {
38-
// label: "Metadata",
39-
// mainColumn: metadataMainColumn,
40-
// route: "project-metadata",
41-
// sideColumn: metadataSideColumn,
42-
// },
39+
{
40+
label: "Metadata",
41+
mainColumn: metadataMainColumn,
42+
route: "project-metadata",
43+
sideColumn: metadataSideColumn,
44+
},
4345
{
4446
label: "Matrices",
4547
mainColumn: matricesMainColumn,

0 commit comments

Comments
 (0)