Skip to content

Commit

Permalink
Switch to an updated epigenomes metadata api and update types
Browse files Browse the repository at this point in the history
  • Loading branch information
azangru committed Jan 31, 2025
1 parent ef8ec02 commit afe901c
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const EpigenomeFiltersView = (props: Props) => {

const metadataDimensions = epigenomeMetadataDimensionsResponse.dimensions;
const metadataDimensionNames =
epigenomeMetadataDimensionsResponse.filter_layout.flat();
epigenomeMetadataDimensionsResponse.ui_spec.filter_layout.flat();

return (
<div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ const EpigenomeSelectionPanel = (props: Props) => {
const epigenomeMetadataDimensions =
epigenomeMetadataDimensionsResponse.dimensions;
const epigenomeMetadataColumns =
epigenomeMetadataDimensionsResponse.filter_layout;
epigenomeMetadataDimensionsResponse.ui_spec.filter_layout;

return (
<div className={styles.panel}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ const SelectedEpigenomes = (props: Props) => {
return null;
}

const { ui_spec } = epigenomeMetadataDimensionsResponse;
const tableColumns = getTableColumns(epigenomeMetadataDimensionsResponse);

return (
Expand All @@ -79,7 +80,7 @@ const SelectedEpigenomes = (props: Props) => {
<ColumnHead key={tableColumn.dimensionName}>
{isCollapsibleDimension(
tableColumn.dimensionName,
epigenomeMetadataDimensionsResponse.dimensions
ui_spec.collapsible
) ? (
<TextButton
onClick={() =>
Expand Down Expand Up @@ -136,9 +137,9 @@ const SelectedEpigenomes = (props: Props) => {

const isCollapsibleDimension = (
dimensionName: string,
dimensions: EpigenomeMetadataDimensionsResponse['dimensions']
dimensions: string[]
) => {
return dimensions[dimensionName]?.collapsible;
return dimensions.includes(dimensionName);
};

const isDimensionCollapsed = (
Expand Down Expand Up @@ -169,9 +170,9 @@ const EpigenomesCount = ({ epigenomes }: { epigenomes: unknown[] }) => {
};

const getTableColumns = (params: EpigenomeMetadataDimensionsResponse) => {
const { table_header_order, dimensions } = params;
const { ui_spec, dimensions } = params;

return table_header_order.map((dimensionName) => ({
return ui_spec.table_layout.map((dimensionName) => ({
dimensionName,
columnHeading: dimensions[dimensionName].name
}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,15 @@ const activityViewerApiSlice = restApiSlice.injectEndpoints({
}),
baseEpigenomes: builder.query<Epigenome[], BaseEpigenomesRequestParams>({
query: (params) => ({
url: `${config.regulationApiBaseUrl}/metadata/v0.1/base_epigenomes/assembly/${params.assemblyName}`
url: `${config.regulationApiBaseUrl}/metadata/v0.2/base_epigenomes/assembly/${params.assemblyName}`
})
}),
epigenomeMetadataDimensions: builder.query<
EpigenomeMetadataDimensionsResponse,
EpigenomeMetadataRequestParams
>({
query: (params) => ({
url: `${config.regulationApiBaseUrl}/metadata/v0.1/metadata_dimensions/assembly/${params.assemblyName}`
url: `${config.regulationApiBaseUrl}/metadata/v0.2/metadata_dimensions/assembly/${params.assemblyName}`
})
}),
epigenomesActivity: builder.query<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,17 @@
* limitations under the License.
*/

type UISpecs = {
filter_layout: string[][]; // <-- tells how to position panels of checkboxes for epigenome selection
table_layout: string[]; // <-- order in which to display columns of the selected epigenomes table
collapsible: string[]; // <-- metadata dimensions that can be used to combine epigenomes (and make corresponding table columns disappear)
filterable: string[]; // <-- metadata dimensions that can be used for selection (filtering) of epigenomes
sortable: string[]; // <-- metadata dimensions that can be used to sort epigenomes
zero_counts_visible: []; // <-- metadata dimensions whose filter panels will always display full list of filters even if there aren't any epigenomes matching a filter
};

type CommonMetadataDimensionFields = {
name: string;
collapsible: boolean;
filterable: boolean;
zero_counts_visible: boolean;
default_values: string[];
};

Expand Down Expand Up @@ -61,7 +67,6 @@ export type EpigenomeMetadataDimensions = Record<
export type EpigenomeMetadataDimensionsResponse = {
species_name: string;
assemblies: string[]; // <-- why array of strings?
filter_layout: string[][];
table_header_order: string[];
ui_spec: UISpecs;
dimensions: EpigenomeMetadataDimensions;
};

0 comments on commit afe901c

Please sign in to comment.