diff --git a/src/components/Main.js b/src/components/Main.js index 032cf8f69c4a9e7864fbb7e77e27ab9971ff1b01..e6477483f5143a3625fcc8c81c18d85f60560b6a 100644 --- a/src/components/Main.js +++ b/src/components/Main.js @@ -9,8 +9,8 @@ import { import NavigationBar from './NavigationBar'; import WelcomePage from '../pages/welcome/WelcomePage'; -import ADEXBackendsPage from '../pages/benchmarking/ADEXBackendsPage'; -import FocusProjectPage from '../pages/skyview/FocusProjectPage'; +import BenchmarkingPage from '../pages/benchmarking/BenchmarkingPage'; +import SkyViewPage from '../pages/skyview/SkyViewPage'; import ConfigurationPage from "../pages/configuration/ConfigurationPage"; import FetchADEXData from '../data/FetchADEXData'; import AncillaryPage from "../pages/ancillary/AncillaryPage"; @@ -33,10 +33,10 @@ export default function Main() { <WelcomePage /> </Route> <Route exact path="/benchmarking"> - <ADEXBackendsPage /> + <BenchmarkingPage /> </Route> <Route exact path="/skyview"> - <FocusProjectPage /> + <SkyViewPage /> </Route> <Route exact path="/ancillary"> <AncillaryPage /> @@ -50,7 +50,7 @@ export default function Main() { </Switch> </div> <footer> - <small>version 17 april 2023 - 13:00</small> + <small>version 18 april 2023 - 8:00</small> </footer> </Router> diff --git a/src/contexts/GlobalStateReducer.js b/src/contexts/GlobalStateReducer.js index 2edc1807088fb83d0f6d5714a0649c35c6f2aac3..f87005d9f7e2619da721ceb95c057703f73b0af9 100644 --- a/src/contexts/GlobalStateReducer.js +++ b/src/contexts/GlobalStateReducer.js @@ -34,17 +34,13 @@ export const SHOW_LABELS = 'SHOW_LABELS' export const SET_LABEL_FIELD = 'SET_LABEL_FIELD' export const SET_SIMBAD_ENABLED = 'SET_SIMBAD_ENABLED' -const api_host = - process.env.NODE_ENV === "development" - ? "localhost:8000" - : "sdc.astron.nl"; - const default_adex_backend = process.env.NODE_ENV === "development" ? { "name": "localhost:8000", "type": "primary_dp", "url": "http://localhost:8000", + //"url": "https://sdc-dev.astron.nl", // uncomment if you don't want to run the adex-backend locally } : { "name": "sdc.astron.nl", @@ -68,7 +64,7 @@ export const initialState = { data_limit: 10000, labels_enabled : false, label_field : 'name', - collection : {name: ""} + // collection : {name: ""} } export const reducer = (state, action) => { diff --git a/src/data/FetchADEXData.js b/src/data/FetchADEXData.js index 9c5806fb1540741a0470f8dc11c41171fec19916..dc0d136b3ad1a426d8d8f70dad34c37c4885682e 100644 --- a/src/data/FetchADEXData.js +++ b/src/data/FetchADEXData.js @@ -116,40 +116,47 @@ export default function FetchADEXData(skipAbortController) { } async function fetchSkyviewDataAsync() { + + // only fetch when there is a collection selected to fetch + // (this prevents a fetch during initialisation of the app). + if (my_state.collection === undefined) { + return null + } + let url = constructUrl() - my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetching'}) - let startTime = new Date() - - try { - const response = await fetch(url, {signal: controller.signal}) - const data = await response.json() - - let results = constructResults(data) - let endTime = new Date() - let timeDiff = endTime - startTime - - my_dispatch({type: SET_FETCHED_ADEX, fetched_adex: results}) - my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: results.length}) - my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetched (' + timeDiff.toString() + ' ms)'}) - my_dispatch({type: ALADIN_RELOAD, aladin_reload: !my_state.aladin_reload}) - - } catch(error) { - if (error.name === 'AbortError') { - console.log('Fetch was aborted'); - my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: 0}) - my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetch aborted'}) - } else { - my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: 0}) - my_dispatch({type: SET_STATUS_ADEX, status_adex: 'failed'}) + if (my_state.status_adex !== 'fetching') { + my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetching'}) + let startTime = new Date() + + try { + const response = await fetch(url, {signal: controller.signal}) + const data = await response.json() + + let results = constructResults(data) + let endTime = new Date() + let timeDiff = endTime - startTime + + my_dispatch({type: SET_FETCHED_ADEX, fetched_adex: results}) + my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: results.length}) + my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetched (' + timeDiff.toString() + ' ms)'}) + my_dispatch({type: ALADIN_RELOAD, aladin_reload: !my_state.aladin_reload}) + + } catch (error) { + if (error.name === 'AbortError') { + console.log('Fetch was aborted'); + my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: 0}) + my_dispatch({type: SET_STATUS_ADEX, status_adex: 'fetch aborted'}) + } else { + my_dispatch({type: SET_NUMBER_OF_DATAPRODUCTS, number_of_dataproducts: 0}) + my_dispatch({type: SET_STATUS_ADEX, status_adex: 'failed'}) + } } } - } // fetch a single primary dataproduct const fetchPrimaryDP = (url) => { - if (my_state.status_primary !== 'fetching') { my_dispatch({type: SET_STATUS_PRIMARY, status_primary: "fetching"}) diff --git a/src/pages/benchmarking/ADEXBackendsPage.js b/src/pages/benchmarking/BenchmarkingPage.js similarity index 94% rename from src/pages/benchmarking/ADEXBackendsPage.js rename to src/pages/benchmarking/BenchmarkingPage.js index 75df875d50ae74d74466e5c62884a71cf5aa0ff6..e203414e318cf4c6340a62ec835ce89fef8fca12 100644 --- a/src/pages/benchmarking/ADEXBackendsPage.js +++ b/src/pages/benchmarking/BenchmarkingPage.js @@ -8,7 +8,7 @@ import LeftPanel from './LeftPanel' import Aladin from './AladinPanel' -export default function ADEXBackendsPage(props) { +export default function BenchmarkingPage(props) { const [ my_state, my_dispatch] = useGlobalReducer() diff --git a/src/pages/skyview/SelectCollectionButton.js b/src/pages/skyview/SelectCollectionButton.js index 24645485c1693681c169f7b4c036597268c14732..4fd6dbf8b7c80cc20b98be73ce2b6dca3473db94 100644 --- a/src/pages/skyview/SelectCollectionButton.js +++ b/src/pages/skyview/SelectCollectionButton.js @@ -17,6 +17,10 @@ export default function SelectCollectionButton() { my_dispatch({type: RELOAD_ADEX, reload_adex: !my_state.reload_adex}) } + if (!my_state.collection) { + return null + } + let renderDropdownItems if (my_state.backend_config) { if (my_state.backend_config.config) { diff --git a/src/pages/skyview/FocusProjectPage.js b/src/pages/skyview/SkyViewPage.js similarity index 94% rename from src/pages/skyview/FocusProjectPage.js rename to src/pages/skyview/SkyViewPage.js index a52ecb591d85651c12dc793500ccf9048a0a1e0b..af645478e0d50679d74467170aac924fa7b50c1a 100644 --- a/src/pages/skyview/FocusProjectPage.js +++ b/src/pages/skyview/SkyViewPage.js @@ -8,7 +8,7 @@ import LeftPanel from './LeftPanel' import Aladin from './AladinPanel' -export default function FocusProjectPage(props) { +export default function SkyViewPage(props) { const [ my_state, my_dispatch] = useGlobalReducer()