Newer
Older
import React, { useContext } from "react";
import { Table, Alert } from "react-bootstrap";
import { QueryContext } from "../../contexts/QueryContext";
import LoadingSpinner from "../LoadingSpinner";
import Paginate from "../Paginate";
export default function LOFARResults({ catalog }) {
const { queryMap, page, setPage } = useContext(QueryContext);
if (!queryMap) return null;
if (queryMap.get(catalog).status === "fetched") {
if (!("results" in queryMap.get(catalog).results))
return <Alert variant="warning">{queryMap.get(catalog).results}</Alert>;
if (queryMap.get(catalog).results.results.length === 0)
return <Alert variant="warning">No matching results found!</Alert>;
const numPages = queryMap.get(catalog).results.pages;
console.log("Query results:", queryMap.get(catalog).results.results);
return (
<>
getNewPage={(args) => {
return args.target ? setPage(parseFloat(args.target.text)) : null;
}}
currentPage={page}
numAdjacent={3}
numPages={numPages}
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<Table className="mt-3" responsive>
<thead>
<tr className="bg-light">
{/* <th>
<InputGroup>
<InputGroup.Checkbox />
</InputGroup>
</th> */}
<th>Project</th>
<th>SAS ID</th>
<th>Target Name</th>
<th>RA</th>
<th>Dec</th>
<th>Release Date</th>
<th>Start Time</th>
<th>Duration</th>
<th>Pipeline</th>
<th>Antenna Set</th>
<th>Instrument Filter</th>
</tr>
</thead>
<tbody>
{queryMap.get(catalog).results.results.map((result) => {
return (
<tr key={result.PID}>
{/* <th>
<InputGroup>
<InputGroup.Checkbox />
</InputGroup>
</th> */}
<td>{result.project}</td>
<td>{result.sas_id}</td>
<td>{result.target}</td>
<td>{Number(result.ra).toFixed(1)}</td>
<td>{Number(result.dec).toFixed(1)}</td>
<td>{result.releaseDate}</td>
<td>{result.startTime}</td>
<td>{result.duration}</td>
<td>{result.pipeline}</td>
<td>{result.antennaSet}</td>
<td>{result.instrumentFilter}</td>
{/* <td>
<a
href={result.url}
target="_blank"
rel="noopener noreferrer"
>
View data
</a>
{result.dataProductSubType === "continuumMF" ? (
<a
href={result.thumbnail}
target="_blank"
rel="noopener noreferrer"
className="ml-3"
>
Thumbnail
</a>
) : null}
</td> */}
</tr>
);
})}
</tbody>
</Table>
</>
);
} else {
return <LoadingSpinner />;
}
}