From 41a3bdb9a283cdc0cd67087ef0956c9303f628f5 Mon Sep 17 00:00:00 2001 From: machteld varewyck Date: Thu, 8 Feb 2024 12:29:42 +0100 Subject: [PATCH] WIP #76 - update search link species --- alienSpecies/inst/app/server.R | 27 ++++++++------- .../inst/app/serverFiles/serverChecklist.R | 1 - .../inst/app/serverFiles/serverSpecies.R | 34 ++++++++++++------- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/alienSpecies/inst/app/server.R b/alienSpecies/inst/app/server.R index ebe954e..6afc8b0 100644 --- a/alienSpecies/inst/app/server.R +++ b/alienSpecies/inst/app/server.R @@ -38,9 +38,7 @@ function(input, output, session) { translations = loadMetaData(language = "en"), searchId = "", exoten_timeNA = defaultTimeNA, - exoten_time = defaultTime, - species_choice = if (doDebug) c("Alopochen aegyptiaca", "Muntiacus reevesi", - "Lithobates catesbeianus", "Vespa velutina")[4] else NULL + exoten_time = defaultTime ) @@ -57,9 +55,11 @@ function(input, output, session) { # URL Query # ---------- + + # Create URL for current session observeEvent(input$showShare, { - searchId <- if (input$tabs %in% c("global_indicators")) + searchId <- if (input$tabs != "start") results$searchId else "" languageId <- paste0("&language=", attr(results$translations, "language")) @@ -102,12 +102,14 @@ function(input, output, session) { }) + # Resulting URL from previous session + urlSearch <- reactive(parseQueryString(session$clientData$url_search)) + + # Update page observe({ - # The url will be sth like: http://awsabiirl1118.jnj.com/?step=qc&id=16608 - url <- parseQueryString(session$clientData$url_search) - results$urlPage <- url$page + results$urlPage <- urlSearch()$page }) @@ -115,17 +117,18 @@ function(input, output, session) { updateNavbarPage(session = session, inputId = "tabs", selected = results$urlPage) - url <- parseQueryString(session$clientData$url_search) - if (!is.null(url$habitat)) - results$urlHabitat <- strsplit(url$habitat, split = ", ")[[1]] + # TODO necessary here? + if (!is.null(urlSearch()$habitat)) + results$urlHabitat <- strsplit(urlSearch()$habitat, split = ", ")[[1]] }) + + # Update language observe({ - url <- parseQueryString(session$clientData$url_search) - results$urlLanguage <- url$language + results$urlLanguage <- urlSearch()$language }) diff --git a/alienSpecies/inst/app/serverFiles/serverChecklist.R b/alienSpecies/inst/app/serverFiles/serverChecklist.R index 8f95b7a..66fe4a1 100644 --- a/alienSpecies/inst/app/serverFiles/serverChecklist.R +++ b/alienSpecies/inst/app/serverFiles/serverChecklist.R @@ -67,7 +67,6 @@ observeEvent(exoten_triggerMore(), { ### Filters for Data ### ----------------- -urlSearch <- reactive(parseQueryString(session$clientData$url_search)) observeEvent(input$tabs, { diff --git a/alienSpecies/inst/app/serverFiles/serverSpecies.R b/alienSpecies/inst/app/serverFiles/serverSpecies.R index d2b9091..ca568f1 100644 --- a/alienSpecies/inst/app/serverFiles/serverSpecies.R +++ b/alienSpecies/inst/app/serverFiles/serverSpecies.R @@ -37,27 +37,37 @@ results$species_choices <- reactive({ }) + +observe(input$tabs, { + # Trigger update when changing tab + if (input$tabs == "species_information") + updateSelectizeInput(session = session, inputId = "species_choice", + choices = results$species_choices(), + selected = urlSearch()$species, + server = TRUE) + + }) + + # Gewest selection observe({ choices <- c("flanders", "wallonia", "brussels") names(choices) <- translate(results$translations, choices)$title - updateSelectInput(id = "species_gewest", choices = choices, multiple = TRUE, selected = choices) - - }) + updateSelectInput(id = "species_gewest", choices = choices, multiple = TRUE, + selected = if (!is.null(urlSearch()$gewest)) + urlSearch()$gewest else + choices) + +}) +# Update search ID observe({ - - # Trigger update when changing tab - input$tabs - - updateSelectizeInput(session = session, inputId = "species_choice", - choices = results$species_choices(), - selected = as.character(results$species_choice), - server = TRUE) - + + results$searchId <- paste0("&species=", input$species_choice, "&gewest=", input$species_gewest) + })