-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBrowseDataPage.tsx
50 lines (46 loc) · 1.64 KB
/
BrowseDataPage.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { Button, ButtonGroup } from "@material-ui/core";
import * as React from "react";
import Filters from "./shared/Filters";
import FileTable from "./files/FileTable";
import { RouteComponentProps } from "react-router";
import TrialTable from "./trials/TrialTable";
import FilterProvider from "./shared/FilterProvider";
import { BooleanParam, useQueryParam } from "use-query-params";
import PageWithSidebar from "../generic/PageWithSidebar";
const BrowseDataPage: React.FC<RouteComponentProps> = props => {
const [showFileView, setShowFileView] = useQueryParam(
"file_view",
BooleanParam
);
const viewToggleButton = (
<ButtonGroup size="small" color="primary" disableElevation>
<Button
variant={showFileView ? "outlined" : "contained"}
onClick={() => setShowFileView(false)}
>
trial view
</Button>
<Button
variant={showFileView ? "contained" : "outlined"}
onClick={() => setShowFileView(true)}
>
file view
</Button>
</ButtonGroup>
);
return (
<FilterProvider trialView={!showFileView}>
<PageWithSidebar sidebar={<Filters />}>
{showFileView ? (
<FileTable
history={props.history}
viewToggleButton={viewToggleButton}
/>
) : (
<TrialTable viewToggleButton={viewToggleButton} />
)}
</PageWithSidebar>
</FilterProvider>
);
};
export default BrowseDataPage;