diff --git a/R/adtteSpec.R b/R/adtteSpec.R index c31e0c43..eb4fa70c 100644 --- a/R/adtteSpec.R +++ b/R/adtteSpec.R @@ -263,6 +263,8 @@ adtteSpecServer <- function(id, # nolint checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + # Join ADTTE with gene data. adtte_joined <- reactive({ experiment_data <- experiment_data() @@ -305,7 +307,7 @@ adtteSpecServer <- function(id, # nolint # Start by disabling selection, will be overriden if there are valid choices. session$sendCustomMessage( "toggle_dropdown", - list(input_id = session$ns("paramcd"), disabled = TRUE) + list(input_id = ns("paramcd"), disabled = TRUE) ) # Once available endpoints change, we update choices (and also the selection @@ -326,12 +328,11 @@ adtteSpecServer <- function(id, # nolint updateSelectizeInput( "paramcd", choices = paramcd_choices, - selected = new_selected, - session = session + selected = restoreInput(ns("paramcd"), new_selected) ) session$sendCustomMessage( "toggle_dropdown", - list(input_id = session$ns("paramcd"), disabled = (length(paramcd_choices) == 0)) + list(input_id = ns("paramcd"), disabled = (length(paramcd_choices) == 0)) ) }) diff --git a/R/assaySpec.R b/R/assaySpec.R index d798fc90..a7aa6784 100644 --- a/R/assaySpec.R +++ b/R/assaySpec.R @@ -106,6 +106,8 @@ assaySpecServer <- function(id, # nolint assert_character(exclude_assays, any.missing = FALSE) moduleServer(id, function(input, output, session) { + ns <- session$ns + # When the assay names change, update the choices for assay. choices <- reactive({ assays <- assays() @@ -131,7 +133,7 @@ assaySpecServer <- function(id, # nolint updateSelectizeInput(session, "name", choices = choices) session$sendCustomMessage( "toggle_dropdown", - list(input_id = session$ns("name"), disabled = (length(choices) == 0)) + list(input_id = ns("name"), disabled = (length(choices) == 0)) ) }) diff --git a/R/barplot.R b/R/barplot.R index d58482fa..3386ccd6 100644 --- a/R/barplot.R +++ b/R/barplot.R @@ -132,8 +132,10 @@ srv_g_barplot <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") assert_flag(.test) moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", diff --git a/R/boxplot.R b/R/boxplot.R index b8b39e3b..322ec738 100644 --- a/R/boxplot.R +++ b/R/boxplot.R @@ -128,8 +128,10 @@ srv_g_boxplot <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", diff --git a/R/forestplot.R b/R/forestplot.R index a76a86fc..4a468537 100644 --- a/R/forestplot.R +++ b/R/forestplot.R @@ -155,8 +155,10 @@ srv_g_forest_tte <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", diff --git a/R/geneSpec.R b/R/geneSpec.R index 1552302f..eb3143a2 100644 --- a/R/geneSpec.R +++ b/R/geneSpec.R @@ -156,8 +156,8 @@ h_update_gene_selection <- function(session, updateSelectizeInput( session = session, inputId = inputId, - selected = selected[is_new_selected], choices = stats::setNames(choices$id, choices$name), + selected = restoreInput(session$ns(inputId), selected[is_new_selected]), server = TRUE ) @@ -300,6 +300,8 @@ geneSpecServer <- function(id, # nolint assert_character(label_modal_footer) moduleServer(id, function(input, output, session) { + ns <- session$ns + # The `reactiveValues` object for storing current gene text input. # This will also be a data frame with id and name columns. parsed_genes <- reactiveVal(NULL, label = "Parsed genes") @@ -380,14 +382,14 @@ geneSpecServer <- function(id, # nolint dataModal <- function(example_list) { # nolint modalDialog( textInput( - session$ns("gene_text"), + ns("gene_text"), label = label_modal_title, placeholder = example_list ), do.call("span", as.list(label_modal_footer)), footer = tagList( modalButton("Cancel"), - actionButton(session$ns("ok_button"), "OK") + actionButton(ns("ok_button"), "OK") ) ) } diff --git a/R/km.R b/R/km.R index 95662064..fa95b489 100644 --- a/R/km.R +++ b/R/km.R @@ -159,8 +159,10 @@ srv_g_km <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", diff --git a/R/pca.R b/R/pca.R index 8e465411..e1d631e9 100644 --- a/R/pca.R +++ b/R/pca.R @@ -168,8 +168,10 @@ srv_g_pca <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", @@ -201,9 +203,8 @@ srv_g_pca <- function(id, if (filter_top) { n_top <- input$n_top updateSliderInput( - session = session, inputId = "n_top", - value = min(n_top, n_genes), + value = restoreInput(ns("n_top"), min(n_top, n_genes)), max = n_genes ) } @@ -238,10 +239,9 @@ srv_g_pca <- function(id, id_names <- c("x_var", "y_var") for (i in seq_along(id_names)) { updateSelectizeInput( - session, - id_names[i], + inputId = id_names[i], choices = pc_choices, - selected = pc_choices[i] + selected = restoreInput(ns(id_names[i]), pc_choices[i]) ) } }) diff --git a/R/quality.R b/R/quality.R index 41be5d3f..d135fa3c 100644 --- a/R/quality.R +++ b/R/quality.R @@ -211,8 +211,10 @@ srv_g_quality <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", @@ -250,24 +252,21 @@ srv_g_quality <- function(id, properties <- experiment_properties() teal.widgets::updateOptionalSelectInput( - session, - "annotate", + inputId = "annotate", choices = properties$annotations, - selected = "WidthBP" + selected = restoreInput(ns("annotate"), "WidthBP") ) updateSliderInput( - session, - "min_cpm", + inputId = "min_cpm", min = properties$min_cpm_calc, max = properties$max_cpm_calc, - value = properties$min_cpm_calc + value = restoreInput(ns("min_cpm"), properties$min_cpm_calc) ) updateSliderInput( - session, - "min_depth_continuous", + inputId = "min_depth_continuous", min = properties$min_depth_calc, max = properties$max_depth_calc, - value = properties$min_depth_calc + value = restoreInput(ns("min_depth_continuous"), properties$min_depth_calc) ) }) diff --git a/R/sampleVarSpec.R b/R/sampleVarSpec.R index 72d0193c..c5f4f6a8 100644 --- a/R/sampleVarSpec.R +++ b/R/sampleVarSpec.R @@ -288,6 +288,8 @@ sampleVarSpecServer <- function(id, # nolint assert_string(label_modal_title) moduleServer(id, function(input, output, session) { + ns <- session$ns + to_observe <- reactive({ list(experiment_name(), original_data()) }) @@ -320,10 +322,9 @@ sampleVarSpecServer <- function(id, # nolint sel <- intersect(input$sample_var, col_data_vars) teal.widgets::updateOptionalSelectInput( - session, - "sample_var", + inputId = "sample_var", choices = col_data_vars, - selected = sel + selected = restoreInput(ns("sample_var"), sel) ) }) @@ -383,7 +384,7 @@ sampleVarSpecServer <- function(id, # nolint } modalDialog( shinyRadioMatrix::radioMatrixInput( - session$ns("comb_assignment"), + ns("comb_assignment"), rowIDs = sample_var_levels, rowIDsName = "Original levels", rowLLabels = rep("", length = length(sample_var_levels)), @@ -393,7 +394,7 @@ sampleVarSpecServer <- function(id, # nolint tags$span(label_modal_title), footer = tagList( modalButton("Cancel"), - actionButton(session$ns("ok"), "OK") + actionButton(ns("ok"), "OK") ), include_js_files("checkbox.js") ) diff --git a/R/scatterplot.R b/R/scatterplot.R index a4c16951..1ad9e47e 100644 --- a/R/scatterplot.R +++ b/R/scatterplot.R @@ -130,8 +130,10 @@ srv_g_scatterplot <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment <- experimentSpecServer( "experiment", diff --git a/R/volcanoplot.R b/R/volcanoplot.R index 5a71ded7..61206f50 100644 --- a/R/volcanoplot.R +++ b/R/volcanoplot.R @@ -116,8 +116,10 @@ srv_g_volcanoplot <- function(id, checkmate::assert_class(shiny::isolate(data()), "teal_data") moduleServer(id, function(input, output, session) { + ns <- session$ns + output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, mae_name) + experimentSpecInput(ns("experiment"), data, mae_name) }) experiment_data <- experimentSpecServer( "experiment",