Skip to content

Commit eaaa777

Browse files
committed
add popover to view info in node selector list
1 parent 571a40b commit eaaa777

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/pages/queryBuilder/textEditor/textEditorRow/NodeSelector.jsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import axios from 'axios';
55
import Autocomplete from '@material-ui/lab/Autocomplete';
66
import TextField from '@material-ui/core/TextField';
77
import CircularProgress from '@material-ui/core/CircularProgress';
8+
import Tooltip from '@material-ui/core/Tooltip';
9+
import { withStyles } from '@material-ui/core';
810

911
import AlertContext from '~/context/alert';
1012
import BiolinkContext from '~/context/biolink';
@@ -204,6 +206,7 @@ export default function NodeSelector({
204206
onOpen={() => toggleOpen(true)}
205207
onClose={() => toggleOpen(false)}
206208
onInputChange={(e, v) => updateInputText(v)}
209+
renderOption={(props) => <Option {...props} />}
207210
renderInput={(params) => (
208211
<TextField
209212
{...params}
@@ -237,3 +240,33 @@ export default function NodeSelector({
237240
/>
238241
);
239242
}
243+
244+
const CustomTooltip = withStyles((theme) => ({
245+
tooltip: {
246+
fontSize: theme.typography.pxToRem(14),
247+
},
248+
}))(Tooltip);
249+
250+
function Option({ name, ids, categories }) {
251+
return (
252+
<CustomTooltip
253+
interactive
254+
arrow
255+
title={(
256+
<div className="node-option-tooltip-wrapper">
257+
{Array.isArray(ids) && ids.length > 0 && (
258+
<span>{ids[0]}</span>
259+
)}
260+
{Array.isArray(categories) && categories.length > 0 && (
261+
<span>{categories[0]}</span>
262+
)}
263+
</div>
264+
)}
265+
placement="left"
266+
>
267+
<div>
268+
{ name }
269+
</div>
270+
</CustomTooltip>
271+
);
272+
}

src/pages/queryBuilder/textEditor/textEditorRow/textEditorRow.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,9 @@
44
}
55
.referenceNode > .nodeDropdown {
66
background-color: #f2f2f2;
7+
}
8+
.node-option-tooltip-wrapper {
9+
display: flex;
10+
flex-direction: column;
11+
align-items: flex-start;
712
}

0 commit comments

Comments
 (0)