Skip to content

Commit

Permalink
Refactor ExternalLink and ExternalReference components (#1084)
Browse files Browse the repository at this point in the history
  • Loading branch information
azangru authored Feb 8, 2024
1 parent 1ad0716 commit 561a307
Show file tree
Hide file tree
Showing 30 changed files with 206 additions and 289 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@

.externalRefLink {
font-weight: var(--font-weight-normal);
font-size: 12px;
}

.downloadLink {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,25 +176,25 @@ export const TranscriptsListItemInfo = (
<div className={styles.moreInfoColumn}>
{!!transcriptNCBI && (
<ExternalReference
classNames={{
link: styles.externalRefLink
}}
label={'RefSeq match'}
label="RefSeq match"
to={transcriptNCBI.url}
linkText={transcriptNCBI.id}
onClick={() => handleExternalReferenceClick('RefSeq match')}
/>
>
<span className={styles.externalRefLink}>
{transcriptNCBI.id}
</span>
</ExternalReference>
)}
{transcriptCCDS?.url && (
<ExternalReference
classNames={{
link: styles.externalRefLink
}}
label={'CCDS'}
label="CCDS"
to={transcriptCCDS.url}
linkText={transcriptCCDS.accession_id}
onClick={() => handleExternalReferenceClick('CCDS')}
/>
>
<span className={styles.externalRefLink}>
{transcriptCCDS.accession_id}
</span>
</ExternalReference>
)}
</div>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@
}

.showHide,
.externalReferenceContainer {
.externalReference {
margin-bottom: 10px;
}

.externalReferenceLink {
font-size: 12px;
}
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,11 @@ const ExternalReferencesGroup = (props: {
: entry.description
}
to={entry.url}
linkText={entry.accession_id}
key={key}
classNames={{
container: styles.externalReferenceContainer,
link: styles.externalReferenceLink
}}
/>
className={styles.externalReference}
>
{entry.accession_id}
</ExternalReference>
) : null
);

Expand Down Expand Up @@ -263,13 +261,11 @@ const renderExternalReferencesGroups = (
<ExternalReference
label={externalReferencesGroup.source.name}
to={externalReferencesGroup.references[0].url}
linkText={externalReferencesGroup.references[0].accession_id}
onClick={() => onClick(externalReferencesGroup.source.name)}
classNames={{
container: styles.externalReferenceContainer,
link: styles.externalReferenceLink
}}
/>
className={styles.externalReference}
>
{externalReferencesGroup.references[0].accession_id}
</ExternalReference>
) : null
) : (
<ExternalReferencesGroup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,10 @@
font-size: 13px;
}

.externalRefContainer {
.externalReference {
margin-top: 6px;
}

.externalRefLink {
font-size: 12px;
}

.sectionHead {
color: var(--color-black);
font-size: 12px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,15 +132,15 @@ describe('<GeneOverview />', () => {
});

it('renders all data correctly', () => {
const { container, queryByTestId } = render(<GeneOverview />);
const { container, queryByTestId, queryByText } = render(
<GeneOverview />
);

const geneSymbolElement = container.querySelector('.geneSymbol');
const stableIdElement = queryByTestId('stableId');
const geneNameElement = container.querySelector('.geneName');
const synonymsElement = container.querySelector('.synonyms');
const xrefElement = container.querySelector(
'.externalLinkContainer .link'
);
const xrefElement = queryByText(metadata.name.accession_id);
const biotypeValueElement = container.querySelector('.biotypeValue');

// child components
Expand All @@ -149,7 +149,7 @@ describe('<GeneOverview />', () => {
expect(geneSymbolElement?.textContent).toMatch(geneSymbol);
expect(stableIdElement?.textContent).toMatch(stableId);
expect(geneNameElement?.textContent).toMatch(geneName);
expect(xrefElement?.textContent).toMatch(metadata.name.accession_id);
expect(xrefElement).toBeTruthy();
expect(synonymsElement?.textContent).toMatch(
alternativeSymbols.join(', ')
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,12 @@ const GeneOverview = () => {
<div className={styles.geneName}>{getGeneName(gene.name)}</div>
{geneNameMetadata?.accession_id && geneNameMetadata?.url && (
<ExternalReference
classNames={{
container: styles.externalRefContainer,
link: styles.externalRefLink
}}
className={styles.externalReference}
to={geneNameMetadata.url}
linkText={geneNameMetadata.accession_id}
onClick={trackLink}
/>
>
{geneNameMetadata.accession_id}
</ExternalReference>
)}
</div>
</section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,7 @@ const GenePublications = (props: Props) => {
<div className={geneOverviewStyles.sectionHead}>Publications</div>

<div className={geneOverviewStyles.sectionContent}>
<ExternalReference
to={linkToEuroPMC}
linkText="Europe PMC"
classNames={{
link: geneOverviewStyles.externalRefLink
}}
/>
<ExternalReference to={linkToEuroPMC}>Europe PMC</ExternalReference>
</div>
</section>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ const ProteinDomainInfoTooltip = (props: {
<span className={styles.tooltipFieldLabel}>
{domainInfo.resourceName}
</span>
<ExternalLink linkText={domainInfo.name} to={domainInfo.url} />
<ExternalLink to={domainInfo.url}>{domainInfo.name}</ExternalLink>
</div>
)}
{domainInfo.closestDataProviderName &&
Expand All @@ -326,10 +326,9 @@ const ProteinDomainInfoTooltip = (props: {
<span className={styles.tooltipFieldLabel}>
{domainInfo.closestDataProviderName}
</span>
<ExternalLink
linkText={domainInfo.accessionIdInClosestDataProvider}
to={domainInfo.urlForClosestDataProvider}
/>
<ExternalLink to={domainInfo.urlForClosestDataProvider}>
{domainInfo.accessionIdInClosestDataProvider}
</ExternalLink>
</div>
)}
<div className={styles.tooltipRow}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,11 @@
grid-column: download;
}

.externalRefContainer {
.externalReference {
font-weight: var(--font-weight-normal);
margin-right: 16px;
}

.externalRefLink {
font-size: 12px;
}

.proteinFeaturesCountWrapper {
display: inline-block;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,11 @@ describe('<ProteinsListItemInfo /', () => {

expect(getByText(props.xrefs[1].accession_id)).toBeTruthy();
expect(getAllByText(props.source)).toHaveLength(4);
expect(
container.querySelectorAll('.externalLinkContainer')
).toHaveLength(4);

for (const xrefData of tremblXrefs) {
const link = getByText(xrefData.accession_id);
expect(link).toBeTruthy();
}
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,15 +226,13 @@ const ProteinExternalReference = (props: ProteinExternalReferenceProps) => {
return (
<div className={styles.proteinExternalReference}>
<ExternalReference
classNames={{
container: styles.externalRefContainer,
link: styles.externalRefLink
}}
className={styles.externalReference}
label={props.source}
to={url}
linkText={props.accessionId}
onClick={onClick}
/>
>
{props.accessionId}
</ExternalReference>
</div>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,9 @@ const VariantOverview = () => {
<div className={styles.externalLink}>
{currentVariantType &&
(currentVariantType.url ? (
<ExternalLink
to={currentVariantType.url}
linkText={currentVariantType.so_accession_id}
/>
<ExternalLink to={currentVariantType.url}>
{currentVariantType.so_accession_id}
</ExternalLink>
) : (
<span>{currentVariantType.so_accession_id}</span>
))}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,11 @@ const GeneSummary = () => {
{getGeneName(gene.name)}
{geneNameMetadata?.accession_id && geneNameMetadata?.url && (
<ExternalReference
classNames={{ container: styles.marginTop }}
className={styles.marginTop}
to={geneNameMetadata.url}
linkText={geneNameMetadata.accession_id}
/>
>
{geneNameMetadata.accession_id}
</ExternalReference>
)}
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const TrackDetails = (props: Props) => {
<div key={source.name} className={styles.standardLabelValue}>
<div className={styles.value}>
{source.url ? (
<ExternalLink to={source.url} linkText={source.name} />
<ExternalLink to={source.url}>{source.name}</ExternalLink>
) : (
<span>{source.name}</span>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,11 @@ const TranscriptSummary = (props: Props) => {
)}
{uniprotXref?.url && (
<ExternalReference
label={'UniProtKB/Swiss-Prot'}
label="UniProtKB/Swiss-Prot"
to={uniprotXref.url}
linkText={uniprotXref.accession_id}
/>
>
{uniprotXref.accession_id}
</ExternalReference>
)}
</div>
</div>
Expand All @@ -266,12 +267,9 @@ const TranscriptSummary = (props: Props) => {
{ccdsXref?.url && (
<div className={`${styles.row} ${styles.spaceAbove}`}>
<div className={styles.value}>
<ExternalReference
classNames={{ label: styles.lightText }}
label={'CCDS'}
to={ccdsXref.url}
linkText={ccdsXref.accession_id}
/>
<ExternalReference label="CCDS" to={ccdsXref.url}>
{ccdsXref.accession_id}
</ExternalReference>
</div>
</div>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,9 @@ const VariantGroupLegend = (props: Props) => {
<td className={styles.variantTypeLabel}>{variantType.label}</td>
<td className={styles.value}>
{variantType.url ? (
<ExternalLink
to={variantType.url}
linkText={variantType.so_accession_id}
/>
<ExternalLink to={variantType.url}>
{variantType.so_accession_id}
</ExternalLink>
) : (
<span>{variantType.so_accession_id}</span>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,9 @@ export const VariantDB = (props: {
dbElement = <span>{primary_source.source.name}</span>;
} else {
dbElement = (
<ExternalLink
to={primary_source.url}
linkText={primary_source.source.name}
/>
<ExternalLink to={primary_source.url}>
{primary_source.source.name}
</ExternalLink>
);
}

Expand Down Expand Up @@ -240,11 +239,9 @@ const VariantSynonyms = (props: { variant: VariantQueryResult['variant'] }) => {
(reference, index) => {
if (reference.url) {
return (
<ExternalLink
key={index}
to={reference.url}
linkText={reference.name}
/>
<ExternalLink key={index} to={reference.url}>
{reference.name}
</ExternalLink>
);
} else {
return <span key={index}>{reference.name}</span>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,10 +171,9 @@ const SpeciesSearchResultsTable = (props: Props) => {
<td className={styles.assemblyName}>{searchMatch.assembly.name}</td>
<td>
{!shouldDisableRow(searchMatch, canAddToStaged) ? (
<ExternalLink
to={searchMatch.assembly.url}
linkText={searchMatch.assembly.accession_id}
/>
<ExternalLink to={searchMatch.assembly.url}>
{searchMatch.assembly.accession_id}
</ExternalLink>
) : (
<DisabledExternalLink>
{searchMatch.assembly.accession_id}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,9 @@ const SpeciesPageSidebar = (props: Props) => {
<div className={styles.fieldsGroup}>
<div className={styles.assemblyName}>{data.assembly.name}</div>
<div className={styles.assemblySource}>
<ExternalReference
label="INSDC"
linkText={data.assembly.accession_id}
to={data.assembly.url}
/>
<ExternalReference label="INSDC" to={data.assembly.url}>
{data.assembly.accession_id}
</ExternalReference>
</div>
</div>

Expand Down
Loading

0 comments on commit 561a307

Please sign in to comment.