Skip to content

Commit 0c93840

Browse files
authored
fix: don't hard code discovery accessbility link location (#1585)
1 parent 59bfb9b commit 0c93840

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

src/Discovery/Discovery.css

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.discovery-container {
22
background-color: #f2f2f2;
3-
padding: 30px 32px;
3+
padding: 0 32px 30px 32px;
44
min-height: calc(100vh - 221px);
55
display: flex;
66
flex-direction: column;
@@ -503,9 +503,9 @@
503503
font-weight: bold;
504504
}
505505

506-
#discovery-page-accessibility-links {
507-
top: 129px;
508-
padding-right: 16px;
506+
.discovery-page-accessibility-links {
507+
display: flex;
508+
justify-content: flex-end;
509509
}
510510

511511
.discovery-hidden-link {

src/Discovery/Discovery.tsx

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, {
22
useState, useEffect, ReactNode, useMemo,
3+
useRef,
34
} from 'react';
45
import * as JsSearch from 'js-search';
56
import jsonpath from 'jsonpath';
@@ -236,6 +237,8 @@ const Discovery: React.FunctionComponent<Props> = (props: Props) => {
236237
|| config.features.search.tagSearchDropdown.collapseOnDefault === undefined),
237238
);
238239
const [visibleResources, setVisibleResources] = useState([]);
240+
const [discoveryTopPadding, setDiscoveryTopPadding] = useState(30);
241+
const discoveryAccessibilityLinksRef = useRef(null);
239242

240243
const handleSearchChange = (ev) => {
241244
const { value } = ev.currentTarget;
@@ -340,6 +343,13 @@ const Discovery: React.FunctionComponent<Props> = (props: Props) => {
340343
}
341344
});
342345

346+
// to dynamically set the top padding for discovery panel to compensate for the height of the accessibility links
347+
useEffect(() => {
348+
if (discoveryAccessibilityLinksRef.current) {
349+
setDiscoveryTopPadding(30 - discoveryAccessibilityLinksRef.current.clientHeight);
350+
}
351+
}, [setDiscoveryTopPadding]);
352+
343353
// Set up table columns
344354
// -----
345355
const columns = config.studyColumns.map((column) => ({
@@ -647,11 +657,11 @@ const Discovery: React.FunctionComponent<Props> = (props: Props) => {
647657
// Disabling noninteractive-tabindex rule because the span tooltip must be focusable as per https://www.w3.org/TR/2017/REC-wai-aria-1.1-20171214/#tooltip
648658
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
649659
return (
650-
<div className='discovery-container'>
660+
<div className='discovery-container' style={{ paddingTop: discoveryTopPadding }}>
651661
{(config.features.pageTitle && config.features.pageTitle.enabled)
652662
&& <h1 className='discovery-page-title'>{config.features.pageTitle.text || 'Discovery'}</h1>}
653663

654-
<DiscoveryAccessibilityLinks />
664+
<DiscoveryAccessibilityLinks ref={discoveryAccessibilityLinksRef} />
655665

656666
{/* Header with stats */}
657667
<div className='discovery-header'>

src/Discovery/DiscoveryAccessibilityLinks.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, { forwardRef } from 'react';
22
import Tooltip from 'rc-tooltip';
33

44
const tooltipText = 'These accessibility links assist with keyboard navigation of the site. Selecting a link will bring tab focus to the specified page content.';
@@ -23,8 +23,8 @@ const viewLinkedElement = (elementId) => {
2323
});
2424
};
2525

26-
const DiscoveryAccessibilityLinks = () => (
27-
<div className='g3-accessibility-links' id='discovery-page-accessibility-links'>
26+
const DiscoveryAccessibilityLinks = forwardRef((props, ref) => (
27+
<div className='discovery-page-accessibility-links' ref={ref}>
2828
<Tooltip
2929
placement='left'
3030
overlay={tooltipText}
@@ -80,6 +80,6 @@ const DiscoveryAccessibilityLinks = () => (
8080
<span>Pagination</span>
8181
</a>
8282
</div>
83-
);
83+
));
8484

8585
export default DiscoveryAccessibilityLinks;

testSchema.sh

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ testCases=(
88
bpa "data.bloodpac.org"
99
dcf "nci-crdc.datacommons.io"
1010
gtex "gen3.biodatacatalyst.nhlbi.nih.gov"
11-
anvil "gen3.theanvil.io"
1211
genomel "genomel.bionimbus.org"
1312
)
1413
index=0

0 commit comments

Comments
 (0)