From 15e078d1f2bcc071525035b0adaafa2d191e76f3 Mon Sep 17 00:00:00 2001
From: Nico Vermaas <vermaas@astron.nl>
Date: Fri, 2 Jul 2021 14:35:25 +0200
Subject: [PATCH] bugfix: "Clicking 'Query this Dataset` often shows the IVOA
 query" (Jira ticket SDC-230)

---
 src/components/query/QueryCatalogs.js | 7 +++++--
 src/contexts/QueryContext.js          | 4 +++-
 src/routes/Routes.js                  | 9 ++++++++-
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/components/query/QueryCatalogs.js b/src/components/query/QueryCatalogs.js
index 9a60589..2207b9e 100644
--- a/src/components/query/QueryCatalogs.js
+++ b/src/components/query/QueryCatalogs.js
@@ -20,7 +20,7 @@ export default function QueryCatalogs() {
   const { uri } = useParams();
   console.log("uri:", uri);
   console.log("default conf:", defaultConf);
-
+  //alert("QueryCatalogs() : "+config.query_schema.name)
   // set ConfigName for archive
   useEffect(() => {
     switch (uri) {
@@ -50,10 +50,12 @@ export default function QueryCatalogs() {
     }
 
     return () => {
+      // nv: why is this needed?
+      //alert('cleaned up')
       console.log("cleaned up");
       queryMap.clear();
       setFormData();
-      //setConfigName(defaultConf);
+      setConfigName(defaultConf);
     };
   }, [uri]);
 
@@ -120,6 +122,7 @@ export default function QueryCatalogs() {
             </div>
           ))}
         </div>
+
         {description}
       </div>
     );
diff --git a/src/contexts/QueryContext.js b/src/contexts/QueryContext.js
index 614908b..9aa243a 100644
--- a/src/contexts/QueryContext.js
+++ b/src/contexts/QueryContext.js
@@ -46,7 +46,9 @@ export function QueryContextProvider({ children }) {
         });
         setConfig(config);
       });
-  }, [api_host, configName, dplevel, collection]);
+  }, [api_host, configName]);
+  //}, [api_host, configName, dplevel, collection]);
+
   console.log("config: ", { config });
 
   return (
diff --git a/src/routes/Routes.js b/src/routes/Routes.js
index 88c1914..bbc13ff 100644
--- a/src/routes/Routes.js
+++ b/src/routes/Routes.js
@@ -23,6 +23,9 @@ export default function Routes() {
 
     if (!navbar) return null;
 
+    // nv: if no jhubURL can be loaded then whole website should be blank? Isn't that overkill? commented it out for now
+    // if (!jhubURL) return null;
+
   return (
 
     <Router basename={navbar.frontend_basename}>
@@ -46,6 +49,10 @@ export default function Routes() {
           <Route exact path="/logout" component={handleLogout} />
           <Route exact path="/error" component={handleError} />
           <Route exact path="/archives/:uri" component={ArchiveDetails} />
+
+          <Route exact path={["/query", "/archives/:uri/query"]}>
+              <QueryCatalogs />
+          </Route>
           <Route exact path="/archives/ivoa/query">
             <IVOAContextProvider>
               <QueryIVOARegistry />
@@ -65,7 +72,7 @@ export default function Routes() {
 
         </Switch>
 
-      <footer><small>esap-gui version 2 jul 2021 - 11:00</small></footer>
+      <footer><small>esap-gui version 2 jul 2021 - 14:00</small></footer>
     </Router>
   );
 }
-- 
GitLab