Skip to content
Snippets Groups Projects
Commit 36c65680 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

Merge branch 'master' into 'dev-nico'

Master

See merge request astron-sdc/esap-gui!57
parents 593f5250 523ccc82
No related branches found
No related tags found
2 merge requests!63Dev nico,!57Master
Pipeline #16870 skipped
import React from "react";
export default function Zenodo() {
return (
<div className="embed-responsive embed-responsive-16by9">
<iframe
title="zenodo"
className="embed-responsive-item"
src="https://zenodo.org/api/"
allowFullScreen
></iframe>
</div>
);
}
...@@ -36,6 +36,9 @@ export default function QueryCatalogs() { ...@@ -36,6 +36,9 @@ export default function QueryCatalogs() {
case "esap_rucio": case "esap_rucio":
setConfigName("esap_rucio"); setConfigName("esap_rucio");
break; break;
case "esap_zenodo":
setConfigName("esap_zenodo");
break;
case "astron_vo": case "astron_vo":
setConfigName("astron_vo"); setConfigName("astron_vo");
break; break;
......
...@@ -5,6 +5,7 @@ import ZooniverseResults from "./ZooniverseResults"; ...@@ -5,6 +5,7 @@ import ZooniverseResults from "./ZooniverseResults";
import VORegListResults from "./VORegListResults"; import VORegListResults from "./VORegListResults";
import LOFARResults from "./LOFARResults"; import LOFARResults from "./LOFARResults";
import RucioResults from "./RucioResults"; import RucioResults from "./RucioResults";
import ZenodoResults from "./ZenodoResults";
import SampResults from "./SampResults"; import SampResults from "./SampResults";
export default function QueryResults({ catalog }) { export default function QueryResults({ catalog }) {
...@@ -23,6 +24,8 @@ export default function QueryResults({ catalog }) { ...@@ -23,6 +24,8 @@ export default function QueryResults({ catalog }) {
return <LOFARResults catalog={catalog} />; return <LOFARResults catalog={catalog} />;
case "rucio": case "rucio":
return <RucioResults catalog={catalog} />; return <RucioResults catalog={catalog} />;
case "zenodo":
return <ZenodoResults catalog={catalog} />;
case "samp": case "samp":
return <SampResults catalog={catalog} />; return <SampResults catalog={catalog} />;
default: default:
......
import React, { useContext } from "react";
import { Table, Alert, Form } from "react-bootstrap";
import { QueryContext } from "../../../contexts/QueryContext";
import LoadingSpinner from "../../LoadingSpinner";
import Paginate from "../../Paginate";
import AddToBasket from "../../basket/AddToBasketCheckBox";
export default function ZenodoResults({ catalog }) {
const context = useContext(QueryContext);
const { queryMap, page, setPage } = context;
if (!context.queryMap) return null;
if (context.queryMap.get(catalog).status === "fetched") {
if (context.queryMap.get(catalog).results.results.length === 0)
return <Alert variant="warning">No matching results found!</Alert>;
else if (catalog === "zenodo") {
const zenodoResults = queryMap.get("zenodo").results.results[0]['hits']['hits'].map((hits, counter) => (
<>
<br/>
<br/>
<h4><a href={hits.links.latest_html} target="_blank"> {hits.metadata.title.replaceAll("<p>","").replaceAll("</p>","")} </a></h4>
DOI: {hits.metadata.doi}
<br/>
{hits.metadata.description.replaceAll("<p>","").replaceAll("</p>","").substring(0,200)}...
</>
));
return (
<>
{zenodoResults}
</>
);
}
}
else {
return <LoadingSpinner />;
}
}
...@@ -87,7 +87,7 @@ export default function Routes() { ...@@ -87,7 +87,7 @@ export default function Routes() {
</Switch> </Switch>
<footer><small>esap-gui version 27 aug 2021 - 14:00</small></footer> <footer><small>esap-gui version 31 aug 2021</small></footer>
</Router> </Router>
); );
} }
...@@ -5,6 +5,7 @@ import parseIVOAForm from "./parseIVOAForm"; ...@@ -5,6 +5,7 @@ import parseIVOAForm from "./parseIVOAForm";
import parseApertifForm from "./parseApertifForm"; import parseApertifForm from "./parseApertifForm";
import parseASTRONVOForm from "./parseASTRONVOForm"; import parseASTRONVOForm from "./parseASTRONVOForm";
import parseRucioForm from "./parseRucioForm"; import parseRucioForm from "./parseRucioForm";
import parseZenodoForm from "./parseZenodoForm";
export default function parseQueryForm(gui, formData) { export default function parseQueryForm(gui, formData) {
switch (gui) { switch (gui) {
...@@ -22,6 +23,8 @@ export default function parseQueryForm(gui, formData) { ...@@ -22,6 +23,8 @@ export default function parseQueryForm(gui, formData) {
return parseIVOAForm(formData); return parseIVOAForm(formData);
case "rucio": case "rucio":
return parseRucioForm(formData); return parseRucioForm(formData);
case "zenodo":
return parseZenodoForm(formData);
default: default:
return null; return null;
} }
......
export default function parseZenodoForm(formData) {
let formInput = Object.entries(formData);
let query = "";
for (let [key, value] of formInput) {
query += `${`${query}` ? "&" : ""}` + key + "=" + value;
}
let esapquery = [
query,
"archive_uri=esap_zenodo",
`catalog=zenodo`,
].join("&");
console.log("Zenodo Query", query);
return [{
catalog: "zenodo",
esapquery: esapquery
}];
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment