From b59692b8d6907b401dfeb3445009549feff8beba Mon Sep 17 00:00:00 2001 From: Fran McDade Date: Sat, 4 Jan 2025 10:58:38 +1000 Subject: [PATCH] chore: update findable-ui to latest (#4319) --- .../anvil-catalog/common/viewModelBuilders.ts | 14 ++++++++- package-lock.json | 14 ++++----- package.json | 2 +- .../dev/index/datasetsEntityConfig.ts | 2 +- .../anvil-cmg/dev/index/filesEntityConfig.ts | 6 ++-- .../hca-dcp/cc-ma-dev/index/common/column.ts | 31 +++++++++++++++++++ .../cc-ma-dev/index/filesEntityConfig.ts | 2 +- .../constants.ts => projects/column.ts} | 15 ++------- .../cc-ma-dev/index/projectsEntityConfig.ts | 5 +-- .../hca-dcp/dev/index/filesEntityConfig.ts | 2 +- .../lungmap/dev/index/filesEntityConfig.ts | 2 +- 11 files changed, 65 insertions(+), 30 deletions(-) create mode 100644 site-config/hca-dcp/cc-ma-dev/index/common/column.ts rename site-config/hca-dcp/cc-ma-dev/index/{common/constants.ts => projects/column.ts} (63%) diff --git a/app/viewModelBuilders/catalog/anvil-catalog/common/viewModelBuilders.ts b/app/viewModelBuilders/catalog/anvil-catalog/common/viewModelBuilders.ts index bf5ece542..a3d3085a6 100644 --- a/app/viewModelBuilders/catalog/anvil-catalog/common/viewModelBuilders.ts +++ b/app/viewModelBuilders/catalog/anvil-catalog/common/viewModelBuilders.ts @@ -99,6 +99,10 @@ export const buildConsortiumDetailViewStudiesTable = ( gridTemplateColumns: "auto 1fr 1fr 1fr 1fr 1fr 1fr auto", items: studies, noResultsTitle: "No Studies", + tableOptions: { + getRowId: (originalRow) => + (originalRow as AnVILCatalogConsortiumStudy).studyName, + }, }; }; @@ -117,6 +121,10 @@ export const buildConsortiumDetailViewWorkspacesTable = ( gridTemplateColumns: "auto 1fr 1fr 1fr 1fr 1fr auto", items: workspaces, noResultsTitle: "No Workspaces", + tableOptions: { + getRowId: (originalRow) => + (originalRow as AnVILCatalogWorkspace).workspaceName, + }, }; }; @@ -315,6 +323,10 @@ export const buildStudyDetailViewWorkspacesTable = ( gridTemplateColumns: "auto 1fr 1fr 1fr 1fr 1fr auto", items: workspaces, noResultsTitle: "No Workspaces", + tableOptions: { + getRowId: (originalRow) => + (originalRow as AnVILCatalogWorkspace).workspaceName, + }, }; }; @@ -658,7 +670,7 @@ function getStudyAPIKeyValue(dbGapId: string): ReactElement { /** * Returns the KeyValuePair value for the specified AnVIL entity. * @param studyAccession - Study identifier with version. - * @returns the KeyValuePair value for study dbGap Id as a ReactElement. + * @returns the KeyValuePair value for study dbGapId as a ReactElement. */ function getStudyDbGapIdKeyValue(studyAccession: string): ReactElement { return C.Link({ diff --git a/package-lock.json b/package-lock.json index 6a062e4a5..719a6e992 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "explorer", "version": "2.4.0", "dependencies": { - "@databiosphere/findable-ui": "17.0.0", + "@databiosphere/findable-ui": "19.0.0", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@mdx-js/loader": "^3.0.1", @@ -1107,9 +1107,9 @@ } }, "node_modules/@databiosphere/findable-ui": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-17.0.0.tgz", - "integrity": "sha512-pukiEvZvK+u+oCx5Ut3DEn1qlsgsZHoMM1+jq60PwO82mzpwZpQ7N3JDetVceqR96i+sEng2yoMOV3NOROvovw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-19.0.0.tgz", + "integrity": "sha512-mPapPHhB4lB/2ndA0xICQMqMATjLTmIO85scBr/MRxv3fZuLGUB6YRQzPNi0XGSBQArjvVWcrmDTMZczTY0sIQ==", "engines": { "node": "20.10.0" }, @@ -20326,9 +20326,9 @@ } }, "@databiosphere/findable-ui": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-17.0.0.tgz", - "integrity": "sha512-pukiEvZvK+u+oCx5Ut3DEn1qlsgsZHoMM1+jq60PwO82mzpwZpQ7N3JDetVceqR96i+sEng2yoMOV3NOROvovw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@databiosphere/findable-ui/-/findable-ui-19.0.0.tgz", + "integrity": "sha512-mPapPHhB4lB/2ndA0xICQMqMATjLTmIO85scBr/MRxv3fZuLGUB6YRQzPNi0XGSBQArjvVWcrmDTMZczTY0sIQ==", "requires": {} }, "@digitak/esrun": { diff --git a/package.json b/package.json index 1b11f693a..a176d88ca 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "check-system-status:anvil-cmg": "esrun e2e/anvil/anvil-check-system-status.ts" }, "dependencies": { - "@databiosphere/findable-ui": "17.0.0", + "@databiosphere/findable-ui": "19.0.0", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@mdx-js/loader": "^3.0.1", diff --git a/site-config/anvil-cmg/dev/index/datasetsEntityConfig.ts b/site-config/anvil-cmg/dev/index/datasetsEntityConfig.ts index 43bdb8e16..38043961a 100644 --- a/site-config/anvil-cmg/dev/index/datasetsEntityConfig.ts +++ b/site-config/anvil-cmg/dev/index/datasetsEntityConfig.ts @@ -70,7 +70,7 @@ export const datasetsEntityConfig: EntityConfig = { component: C.StatusBadge, viewBuilder: V.buildDatasetAccess, } as ComponentConfig, - disableSorting: true, + enableSorting: false, header: ANVIL_CMG_CATEGORY_LABEL.DATASET_ACCESSIBLE, id: ANVIL_CMG_CATEGORY_KEY.DATASET_ACCESSIBLE, width: "max-content", diff --git a/site-config/anvil-cmg/dev/index/filesEntityConfig.ts b/site-config/anvil-cmg/dev/index/filesEntityConfig.ts index ffe2895d4..12b586b25 100644 --- a/site-config/anvil-cmg/dev/index/filesEntityConfig.ts +++ b/site-config/anvil-cmg/dev/index/filesEntityConfig.ts @@ -16,13 +16,13 @@ import { import { listHero } from "../listView/listHero"; import { subTitleHero } from "../listView/subTitleHero"; -export const downloadColumn: ColumnConfig = { +export const downloadColumn: ColumnConfig = { componentConfig: { component: C.AzulFileDownload, viewBuilder: V.buildFileDownload, } as ComponentConfig, disableHiding: true, - disableSorting: true, + enableSorting: false, header: ANVIL_CMG_CATEGORY_LABEL.AZUL_FILE_DOWNLOAD, id: ANVIL_CMG_CATEGORY_KEY.AZUL_FILE_DOWNLOAD, width: { max: "auto", min: "76px" }, @@ -77,7 +77,7 @@ export const filesEntityConfig: EntityConfig = { component: C.CopyCell, viewBuilder: V.buildDRSURI, } as ComponentConfig, - disableSorting: true, + enableSorting: false, header: ANVIL_CMG_CATEGORY_LABEL.DRS_URI, id: ANVIL_CMG_CATEGORY_KEY.DRS_URI, width: { max: "1fr", min: "120px" }, diff --git a/site-config/hca-dcp/cc-ma-dev/index/common/column.ts b/site-config/hca-dcp/cc-ma-dev/index/common/column.ts new file mode 100644 index 000000000..379d51bb3 --- /dev/null +++ b/site-config/hca-dcp/cc-ma-dev/index/common/column.ts @@ -0,0 +1,31 @@ +import { + ColumnConfig, + ComponentConfig, +} from "@databiosphere/findable-ui/lib/config/entities"; +import { FilesResponse } from "../../../../../app/apis/azul/anvil-cmg/common/responses"; +import { ProjectsResponse } from "../../../../../app/apis/azul/hca-dcp/common/responses"; +import { PickSome } from "../../../../../app/common/types"; +import * as C from "../../../../../app/components"; +import * as V from "../../../../../app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders"; +import { + HCA_DCP_CATEGORY_KEY, + HCA_DCP_CATEGORY_LABEL, +} from "../../../category"; + +export const COLUMN: PickSome< + Record< + keyof typeof HCA_DCP_CATEGORY_KEY, + ColumnConfig + >, + "DATA_USE_RESTRICTION" +> = { + DATA_USE_RESTRICTION: { + componentConfig: { + component: C.BasicCell, + viewBuilder: V.buildDataUseRestriction, + } as ComponentConfig, + header: HCA_DCP_CATEGORY_LABEL.DATA_USE_RESTRICTION, + id: HCA_DCP_CATEGORY_KEY.DATA_USE_RESTRICTION, + width: { max: "1fr", min: "124px" }, + }, +}; diff --git a/site-config/hca-dcp/cc-ma-dev/index/filesEntityConfig.ts b/site-config/hca-dcp/cc-ma-dev/index/filesEntityConfig.ts index 8feb03437..7107d5c2c 100644 --- a/site-config/hca-dcp/cc-ma-dev/index/filesEntityConfig.ts +++ b/site-config/hca-dcp/cc-ma-dev/index/filesEntityConfig.ts @@ -4,7 +4,7 @@ import { } from "@databiosphere/findable-ui/lib/config/entities"; import * as C from "../../../../app/components"; import * as V from "../../../../app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders"; -import { COLUMN } from "./common/constants"; +import { COLUMN } from "./common/column"; /** * Returns the entity config for managed access files. diff --git a/site-config/hca-dcp/cc-ma-dev/index/common/constants.ts b/site-config/hca-dcp/cc-ma-dev/index/projects/column.ts similarity index 63% rename from site-config/hca-dcp/cc-ma-dev/index/common/constants.ts rename to site-config/hca-dcp/cc-ma-dev/index/projects/column.ts index ab536233b..f7cba9b6b 100644 --- a/site-config/hca-dcp/cc-ma-dev/index/common/constants.ts +++ b/site-config/hca-dcp/cc-ma-dev/index/projects/column.ts @@ -12,26 +12,17 @@ import { } from "../../../category"; export const COLUMN: PickSome< - Record, - "ACCESSIBLE" | "DATA_USE_RESTRICTION" + Record>, + "ACCESSIBLE" > = { ACCESSIBLE: { componentConfig: { component: C.StatusBadge, viewBuilder: V.buildProjectAccess, } as ComponentConfig, - disableSorting: true, + enableSorting: false, header: HCA_DCP_CATEGORY_LABEL.ACCESSIBLE, id: HCA_DCP_CATEGORY_KEY.ACCESSIBLE, width: "auto", }, - DATA_USE_RESTRICTION: { - componentConfig: { - component: C.BasicCell, - viewBuilder: V.buildDataUseRestriction, - } as ComponentConfig, - header: HCA_DCP_CATEGORY_LABEL.DATA_USE_RESTRICTION, - id: HCA_DCP_CATEGORY_KEY.DATA_USE_RESTRICTION, - width: { max: "1fr", min: "124px" }, - }, }; diff --git a/site-config/hca-dcp/cc-ma-dev/index/projectsEntityConfig.ts b/site-config/hca-dcp/cc-ma-dev/index/projectsEntityConfig.ts index bd76fb11f..d92e84554 100644 --- a/site-config/hca-dcp/cc-ma-dev/index/projectsEntityConfig.ts +++ b/site-config/hca-dcp/cc-ma-dev/index/projectsEntityConfig.ts @@ -6,8 +6,9 @@ import { getMAProjectDetailTabs } from "../detail/project/mainColumn"; import { getMAProjectDetailTop } from "../detail/project/top"; import { listHero } from "../listView/projectsListHero"; import { CATEGORY_GROUPS } from "./common/category"; -import { COLUMN } from "./common/constants"; +import { COLUMN } from "./common/column"; import { getMAFilesEntityConfig } from "./filesEntityConfig"; +import { COLUMN as PROJECTS_COLUMN } from "./projects/column"; /** * Returns managed access category group config. @@ -59,7 +60,7 @@ export function getMAProjectsEntityConfig( // Clone columns. const cloneColumns = [...cloneList.columns]; // Add accessible column. - cloneColumns.splice(1, 0, COLUMN.ACCESSIBLE); // Accessible column. + cloneColumns.splice(1, 0, PROJECTS_COLUMN.ACCESSIBLE); // Accessible column. // Add data use restriction column. cloneColumns.splice(2, 0, COLUMN.DATA_USE_RESTRICTION); // Data use restriction column. cloneList.columns = cloneColumns; diff --git a/site-config/hca-dcp/dev/index/filesEntityConfig.ts b/site-config/hca-dcp/dev/index/filesEntityConfig.ts index 3d5d46ffd..b32055820 100644 --- a/site-config/hca-dcp/dev/index/filesEntityConfig.ts +++ b/site-config/hca-dcp/dev/index/filesEntityConfig.ts @@ -32,7 +32,7 @@ export const filesEntityConfig: EntityConfig = { viewBuilder: V.buildFileDownload, } as ComponentConfig, disableHiding: true, - disableSorting: true, + enableSorting: false, header: HCA_DCP_CATEGORY_LABEL.AZUL_FILE_DOWNLOAD, id: HCA_DCP_CATEGORY_KEY.AZUL_FILE_DOWNLOAD, width: { max: "auto", min: "76px" }, diff --git a/site-config/lungmap/dev/index/filesEntityConfig.ts b/site-config/lungmap/dev/index/filesEntityConfig.ts index db06a04df..247605334 100644 --- a/site-config/lungmap/dev/index/filesEntityConfig.ts +++ b/site-config/lungmap/dev/index/filesEntityConfig.ts @@ -31,7 +31,7 @@ export const filesEntityConfig: EntityConfig = { viewBuilder: V.buildFileDownload, } as ComponentConfig, disableHiding: true, - disableSorting: true, + enableSorting: false, header: HCA_DCP_CATEGORY_LABEL.AZUL_FILE_DOWNLOAD, id: HCA_DCP_CATEGORY_KEY.AZUL_FILE_DOWNLOAD, width: { max: "auto", min: "76px" },