Skip to content

Commit 57470cc

Browse files
committed
-feat: global tooltip
-style: decrease padding -style: correct navigation button text
1 parent f251d69 commit 57470cc

File tree

3 files changed

+43
-43
lines changed

3 files changed

+43
-43
lines changed

src/App.css

+24-22
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ a:hover {
139139
}
140140

141141
.title-doc-link {
142+
color: black;
142143
display: inline-block;
143144
position: fixed;
144145
right: 20px;
@@ -493,6 +494,7 @@ a:hover {
493494
z-index: 998;
494495
opacity: 0.5;
495496
border: none;
497+
border-radius: 4px;
496498
background: none;
497499
padding: 0px;
498500
}
@@ -830,35 +832,35 @@ a:hover {
830832
}
831833
}
832834

835+
.track-tooltips-container {
836+
top: 100px;
837+
width: 3%;
838+
height: min-content;
839+
position: relative;
840+
z-index: 997;
841+
}
842+
843+
.track-tooltip {
844+
padding: 0px;
845+
border: none;
846+
847+
.button.question-mark {
848+
width: 12px;
849+
height: 12px;
850+
fill: black;
851+
}
852+
}
853+
.track-tooltip:hover {
854+
cursor: pointer;
855+
}
856+
833857
/* Minimal Mode styles */
834858
.minimal_mode {
835859
.gosling-panel {
836860
overflow-y: scroll;
837861
overflow-x: hidden;
838862
}
839863

840-
.track-tooltips-container {
841-
top: 100px;
842-
width: 3%;
843-
height: 100%;
844-
position: relative;
845-
z-index: 997;
846-
}
847-
848-
.track-tooltip {
849-
padding: 0px;
850-
border: none;
851-
852-
.button.question-mark {
853-
width: 12px;
854-
height: 12px;
855-
fill: black;
856-
}
857-
}
858-
.track-tooltip:hover {
859-
cursor: pointer;
860-
}
861-
862864
.sample-label {
863865
left: 300px;
864866
top: 8px;

src/App.tsx

+18-20
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { VariantViewModal } from './ui/VariantViewModal';
2929
import 'bootstrap/dist/css/bootstrap.min.css';
3030
import * as bootstrap from 'bootstrap/dist/js/bootstrap.bundle.min';
3131

32-
import { Track, getTrackData } from './ui/trackData.js';
32+
import { Track, getTrackDocData } from './ui/trackData.js';
3333

3434
const db = new Database();
3535
const log = new BrowserDatabase();
@@ -59,7 +59,7 @@ function App(props: RouteComponentProps) {
5959
const VIS_PADDING = {
6060
top: isMinimalMode ? 0 : 60,
6161
right: isMinimalMode ? 0 : 60,
62-
bottom: isMinimalMode ? 0 : 60,
62+
bottom: 0,
6363
left: isMinimalMode ? 0 : 60
6464
};
6565

@@ -323,6 +323,10 @@ function App(props: RouteComponentProps) {
323323
}, 500)
324324
);
325325

326+
// Enable Bootstrap popovers for track tooltips
327+
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]');
328+
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl));
329+
326330
// Lower opacity of legend image as it leaves viewport
327331
if (isMinimalMode) {
328332
const legendElement = document.querySelector<HTMLElement>('.genome-view-legend');
@@ -338,12 +342,6 @@ function App(props: RouteComponentProps) {
338342
}, options);
339343

340344
observer.observe(legendElement);
341-
342-
// Enable Bootstrap popovers for track tooltips
343-
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]');
344-
const popoverList = [...popoverTriggerList].map(
345-
popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl)
346-
);
347345
}
348346
}, []);
349347

@@ -549,7 +547,7 @@ function App(props: RouteComponentProps) {
549547
const trackTooltips = useMemo(() => {
550548
// calculate the offset by the Genome View
551549
const genomeViewHeight = Math.min(600, visPanelWidth);
552-
const TRACK_DATA = getTrackData(isMinimalMode);
550+
const TRACK_DATA = getTrackDocData(isMinimalMode);
553551
const offset = genomeViewHeight + (isMinimalMode ? 100 : 40) - 2;
554552

555553
// Infer the tracks shown
@@ -588,19 +586,19 @@ function App(props: RouteComponentProps) {
588586
key={i}
589587
tabIndex={4}
590588
role="button"
591-
className="track-tooltip btn btn-sm"
589+
className="track-tooltip"
592590
data-bs-trigger="focus"
593591
data-bs-toggle="popover"
594592
data-bs-template={`
595-
<div class="popover" role="tooltip">
596-
<div class="popover-arrow">
597-
</div>
598-
<h2 class="popover-header">
599-
</h2>
600-
<div class="popover-body">
601-
</div>
602-
</div>
603-
`}
593+
<div class="popover" role="tooltip">
594+
<div class="popover-arrow">
595+
</div>
596+
<h2 class="popover-header">
597+
</h2>
598+
<div class="popover-body">
599+
</div>
600+
</div>
601+
`}
604602
data-bs-title={d.title}
605603
data-bs-custom-class={'track-tooltip-popover popover-for-' + d.type}
606604
data-bs-html="true"
@@ -1100,7 +1098,7 @@ function App(props: RouteComponentProps) {
11001098
}}
11011099
>
11021100
{goslingComponent}
1103-
{isMinimalMode && trackTooltips}
1101+
{trackTooltips}
11041102
{jumpButtonInfo ? (
11051103
<button
11061104
className="jump-to-bp-btn"

src/ui/trackData.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export type Track =
4747

4848
// TODO: Not ideal to hard coded!
4949
// The heights of each track
50-
export const getTrackData = (
50+
export const getTrackDocData = (
5151
isMinimalMode: boolean
5252
): { height: number; type: Track; title: string; popover_content?: string }[] => {
5353
return [

0 commit comments

Comments
 (0)