From f1507e492d1d164c837390d08206b6268b85dc2a Mon Sep 17 00:00:00 2001 From: meyer <meyer@astron.nl> Date: Thu, 15 Oct 2020 17:59:57 +0200 Subject: [PATCH] change query schema based on selected catalog --- src/components/query/QueryCatalogs.js | 15 ++++++++++++--- src/components/query/QueryIVOARegistry.js | 1 + src/components/query/VOServiceResults.js | 8 ++++---- src/contexts/GlobalContext.js | 3 ++- src/utils/form/parseADEXForm.js | 12 ++++++++---- 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/components/query/QueryCatalogs.js b/src/components/query/QueryCatalogs.js index dec058c..f341c21 100644 --- a/src/components/query/QueryCatalogs.js +++ b/src/components/query/QueryCatalogs.js @@ -1,5 +1,5 @@ import React, { useContext, useEffect } from "react"; -import { useParams } from "react-router-dom"; +import { useParams, useHistory } from "react-router-dom"; import axios from "axios"; import { Container } from "react-bootstrap"; import Form from "react-jsonschema-form"; @@ -19,6 +19,7 @@ export default function QueryCatalogs() { GlobalContext ); const { uri } = useParams(); + const history = useHistory(); console.log("uri:", uri); console.log("default conf:", defaultConf); @@ -40,8 +41,6 @@ export default function QueryCatalogs() { case "lofar": setConfigName("lofar"); break; - default: - setConfigName(defaultConf); } return () => { console.log("cleaned up"); @@ -115,6 +114,16 @@ export default function QueryCatalogs() { schema={config.query_schema} ObjectFieldTemplate={formTemplate} formData={formData} + onBlur={(field, value) => { + if (field == "root_catalog") { + console.log("Change query catalog to : ", value); + if (value == "adex") { + history.push("/query"); + } else { + history.push("/archives/" + value + "/query"); + } + } + }} onSubmit={({ formData }) => setFormData(formData)} {...uiSchemaProp} ></Form> diff --git a/src/components/query/QueryIVOARegistry.js b/src/components/query/QueryIVOARegistry.js index 34ed887..2101a32 100644 --- a/src/components/query/QueryIVOARegistry.js +++ b/src/components/query/QueryIVOARegistry.js @@ -138,6 +138,7 @@ export default function QueryIVOARegistry() { query: { "ui:widget": "textarea" }, keyword: { "ui:widget": "hidden" }, tap_schema: { "ui:widget": "hidden" }, + waveband: { "ui:widget": "hidden" }, }; console.log("new ui schema:", uiSchemaProp); return ( diff --git a/src/components/query/VOServiceResults.js b/src/components/query/VOServiceResults.js index 77e8935..5617ff9 100644 --- a/src/components/query/VOServiceResults.js +++ b/src/components/query/VOServiceResults.js @@ -11,10 +11,10 @@ export default function VORegistryResults({ catalog }) { console.log("VO service queryMap:", queryMap.get(catalog)); if (queryMap.get(catalog).status === "fetched") { - if (queryMap.get(catalog).results[0].includes("ERROR")) - return ( - <Alert variant="warning">{queryMap.get(catalog).results[0]}</Alert> - ); + // if (queryMap.get(catalog).results[0].includes("ERROR")) + // return ( + // <Alert variant="warning">{queryMap.get(catalog).results[0]}</Alert> + // ); if (queryMap.get(catalog).results.results.length === 0) return <Alert variant="warning">No matching results found!</Alert>; diff --git a/src/contexts/GlobalContext.js b/src/contexts/GlobalContext.js index 3a13832..14ae233 100644 --- a/src/contexts/GlobalContext.js +++ b/src/contexts/GlobalContext.js @@ -11,7 +11,8 @@ export function GlobalContextProvider({ children }) { process.env.NODE_ENV === "development" ? "http://localhost:15671/esap-api/" : "/esap-api/"; - + // "http://localhost:15671/esap-api/" + // "http://sdc.astron.nl:5557/esap-api/" const [config, setConfig] = useState(); const [configName, setConfigName] = useState(defaultConf); diff --git a/src/utils/form/parseADEXForm.js b/src/utils/form/parseADEXForm.js index 1c6a1d6..75f134d 100644 --- a/src/utils/form/parseADEXForm.js +++ b/src/utils/form/parseADEXForm.js @@ -1,5 +1,5 @@ export default function ParseADEXForm(formData, page) { - let catalogs = ["apertif", "astron_vo"]; + let catalogs = ["apertif", "astron_vo", "lofar"]; let queries = []; // queries is an array of dictionaries, where each dictionary consists of // {"catalog": "catalogname", @@ -20,10 +20,14 @@ export default function ParseADEXForm(formData, page) { // "status": "null|fetching|fetched", // "results": null} let catalog = formInput.find(([key]) => key === "catalog")[1]; - if (catalog === "all") { + if (catalog === "adex") { console.log("Catalogs:", catalogs); catalogs.map((catalog) => { - let esapquery = query + `${`${query}` ? "&" : ""}archive_uri=` + catalog; + let esapquery = + query + + `${`${query}` ? "&" : ""}archive_uri=` + + catalog + + "&page_size=20"; queries.push({ catalog: catalog, @@ -36,7 +40,7 @@ export default function ParseADEXForm(formData, page) { query + `${`${query}` ? "&" : ""}archive_uri=` + catalog + - `&page=${page}`; + `&page_size=30&page=${page}`; queries.push({ catalog: catalog, -- GitLab