From 31073815ef3c77856128bc8fe1ecf08d6ba05043 Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Wed, 4 Aug 2021 11:55:36 -0400 Subject: [PATCH 1/7] start init refactor. keep files when charts change. #600 --- R/mod_loadCharts.R | 2 +- R/mod_loadData.R | 11 +++++----- R/mod_loadDomains.R | 46 ------------------------------------------ R/safetyGraphicsInit.R | 40 ++++++++++++++++++++++++++---------- 4 files changed, 36 insertions(+), 63 deletions(-) delete mode 100644 R/mod_loadDomains.R diff --git a/R/mod_loadCharts.R b/R/mod_loadCharts.R index bd338ea6..8f81905f 100644 --- a/R/mod_loadCharts.R +++ b/R/mod_loadCharts.R @@ -16,7 +16,7 @@ loadChartsUI <- function(id, charts=makeChartConfig()){ sortable::bucket_list( header = h4("Chart Loader"), group_name = ns("chartList"), - orientation = "horizontal", + orientation = "vertical", add_rank_list( text = "Active Charts", labels = labels, diff --git a/R/mod_loadData.R b/R/mod_loadData.R index 7c543410..2731369c 100644 --- a/R/mod_loadData.R +++ b/R/mod_loadData.R @@ -14,22 +14,23 @@ loadDataUI <- function(id, domain=NULL){ actionButton(ns("load_data"), "Load"), hidden( actionLink(ns("preview_data"), "Preview") - ) - + ), + id=ns("wrap") ) } #' @title loadDataServer #' @description UI that facilitates the mapping of a column data domain #' -#' @param domain List of data domains to be loaded +#' @param domain data domain to be loaded #' @param input Shiny input object #' @param output Shiny output object #' @param session Shiny session object #' #' @export -loadData <- function(input, output, session, domain) { +loadData <- function(input, output, session, domain, visible=TRUE) { ns <- session$ns + fileSummary <- reactiveVal() fileSummary("") observeEvent(input$load_data, { @@ -70,6 +71,6 @@ loadData <- function(input, output, session, domain) { ) }) - return(imported) + return(imported$data) } diff --git a/R/mod_loadDomains.R b/R/mod_loadDomains.R deleted file mode 100644 index e1562d65..00000000 --- a/R/mod_loadDomains.R +++ /dev/null @@ -1,46 +0,0 @@ -#' @title loadDataUI -#' @description UI that facilitates the mapping of a column data domain -#' -#' @param id module id -#' -#' @export - -loadDomainsUI <- function(id){ - ns <- NS(id) - uiOutput(ns("loader")) -} - -#' @title loadDataServer -#' @description UI that facilitates the mapping of a column data domain -#' -#' @param domains List of data domains to be loaded {reactive} -#' @param input Shiny input object -#' @param output Shiny output object -#' @param session Shiny session object -#' -#' @export - -loadDomains <- function(input, output, session, domains) { - ns <- session$ns - - # Hack to avoid multiple modal triggers - domainIDs <- reactive({ - ids<-domains() %>% map_chr(~paste0(.x,floor(runif(1,.1,1)*10e6))) - names(ids)<-domains() - return(ids) - }) - - output[["loader"]] <- renderUI({ - domainIDs() %>% map(~loadDataUI(session$ns(.x), domain=substr(.x,0,nchar(.x)-7))) - }) - - domainData <- reactive({ - domainIDs() %>% map(function(domainID){ - domain <- substr(domainID,0,nchar(domainID)-7) - imported<-callModule(loadData, domainID, domain=domain) - return(imported$data) - }) - }) - - return(domainData) -} diff --git a/R/safetyGraphicsInit.R b/R/safetyGraphicsInit.R index 6786db55..3b4d0a0a 100644 --- a/R/safetyGraphicsInit.R +++ b/R/safetyGraphicsInit.R @@ -8,8 +8,10 @@ #' #' @export -safetyGraphicsInit <- function(charts=makeChartConfig(),delayTime=1000){ +safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ charts_init<-charts + all_domains <- charts_init %>% map(~.x$domain) %>% unlist() %>% unique() + app_css <- NULL for(lib in .libPaths()){ if(is.null(app_css)){ @@ -28,7 +30,7 @@ safetyGraphicsInit <- function(charts=makeChartConfig(),delayTime=1000){ position="right", sidebarPanel( h4("Data Loader"), - loadDomainsUI("load-data"), + all_domains %>% map(~loadDataUI(.x, domain=.x)), textOutput("dataSummary"), hr(), shinyjs::disabled( @@ -49,16 +51,33 @@ safetyGraphicsInit <- function(charts=makeChartConfig(),delayTime=1000){ ) server <- function(input,output,session){ - charts<-callModule(loadCharts, "load-charts",charts=charts_init) - domains <- reactive({unique(charts() %>% map(~.x$domain) %>% unlist())}) - domainDataR <- callModule(loadDomains, "load-data", domains) #this is a reactive list with reactives (?!) - domainData <- reactive({domainDataR() %>% map(~.x())}) + #initialize the chart selection moduls + charts<-callModule(loadCharts, "load-charts",charts=charts_init) + domainDataR<-all_domains %>% map(~callModule(loadData,.x,domain=.x, visible=.x %in% current_domains)) + domainData<- reactive({domainDataR %>% map(~.x())}) + + + current_domains <- reactive({ + charts() %>% map(~.x$domain) %>% unlist() %>% unique() + }) + + observe({ + print(paste("current domains are:",paste(current_domains(),collapse=","))) + for(domain in all_domains){ + if(domain %in% current_domains()){ + shinyjs::show(id=paste0(domain,"-wrap")) + }else{ + shinyjs::hide(id=paste0(domain,"-wrap")) + } + } + }) initStatus <- reactive({ + currentData <- domainData() chartCount<-length(charts()) - domainCount<-length(domainData()) - loadCount<-sum(domainData() %>% map_lgl(~!is.null(.x))) - notAllLoaded <- any(domainData() %>% map_lgl(~is.null(.x))) + domainCount<-length(currentData) + loadCount<-sum(currentData %>% map_lgl(~!is.null(.x))) + notAllLoaded <- any(currentData %>% map_lgl(~is.null(.x))) ready<-FALSE if(domainCount==0){ status<-paste("No charts selected. Select one or more charts and then load domain data to initilize app.") @@ -85,7 +104,6 @@ safetyGraphicsInit <- function(charts=makeChartConfig(),delayTime=1000){ } }) - observeEvent(input$runApp,{ print("running the app server now :p") shinyjs::hide(id="init") @@ -126,6 +144,6 @@ safetyGraphicsInit <- function(charts=makeChartConfig(),delayTime=1000){ } app <- shinyApp(ui = ui, server = server) - + #app <- shinyApp(ui = ui, server = function(input,output,session){}) runApp(app, launch.browser = TRUE) } From 713a9b48cb30f5c7ae5a916ccb5e421f57e691f2 Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Wed, 4 Aug 2021 16:43:54 -0400 Subject: [PATCH 2/7] more init updates. #570 #600 --- NAMESPACE | 2 -- R/app_startup.R | 3 +++ R/makeChartConfigFunctions.R | 12 +++--------- R/mod_loadCharts.R | 7 ++++++- R/mod_loadData.R | 3 ++- R/safetyGraphicsInit.R | 7 +++++-- man/loadData.Rd | 4 ++-- man/loadDomains.Rd | 20 -------------------- man/loadDomainsUI.Rd | 14 -------------- 9 files changed, 21 insertions(+), 51 deletions(-) delete mode 100644 man/loadDomains.Rd delete mode 100644 man/loadDomainsUI.Rd diff --git a/NAMESPACE b/NAMESPACE index afff64e0..a41737b2 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -19,8 +19,6 @@ export(loadCharts) export(loadChartsUI) export(loadData) export(loadDataUI) -export(loadDomains) -export(loadDomainsUI) export(makeChartConfig) export(makeChartConfigFunctions) export(makeChartExport) diff --git a/R/app_startup.R b/R/app_startup.R index bcbd8910..bc286e37 100644 --- a/R/app_startup.R +++ b/R/app_startup.R @@ -38,6 +38,9 @@ app_startup<-function(domainData=NULL, meta=NULL, charts=NULL, mapping=NULL, aut message("To display these charts, set the `order` parameter in the chart object or yaml file to a positive number.") charts <- charts[purrr::map_lgl(charts, function(chart) chart$order >= 0)] } + + chartOrder <- order(charts %>% map_int(~.x$order) %>% unlist()) + charts <- charts[chartOrder] #Drop charts if data for required domain(s) is not found chart_drops <- charts %>% purrr::keep(~(!all(.x$domain %in% names(domainData)))) diff --git a/R/makeChartConfigFunctions.R b/R/makeChartConfigFunctions.R index 8502fe10..4b04ed8a 100644 --- a/R/makeChartConfigFunctions.R +++ b/R/makeChartConfigFunctions.R @@ -39,8 +39,9 @@ makeChartConfigFunctions <- function(chart){ chart$functions$main<-chart$functions[[chart$workflow$main]] }else if(chart$type=="table"){ chart$functions$ui<-DT::dataTableOutput - chart$functions$server<-function(expr ){ + chart$functions$server<-function(expr){ DT::renderDataTable( + expr, rownames = FALSE, options = list( pageLength = 20, @@ -50,12 +51,6 @@ makeChartConfigFunctions <- function(chart){ ) } chart$functions$main<-chart$functions[[chart$workflow$main]] - #} - # }else if(chart$type=="rtf"){ - # chart$functions$ui<-div( - # downloadButton(ns("downloadRTF"), "Download RTF"), - # DT::dataTableOutput(ns("chart-wrap")) - # ) }else if(chart$type=="htmlwidget"){ # Helper functions for html widget render widgetOutput <- function(outputId, width = "100%", height = "400px") { @@ -71,8 +66,7 @@ makeChartConfigFunctions <- function(chart){ chart$functions$server<-renderWidget chart$functions$main<-htmlwidgets::createWidget chart$workflow$main <- "htmlwidgets::createWidget" - - }else if (chart$type=="module"){ + }else if(chart$type=="module"){ chart$functions$ui<-chart$functions[[chart$workflow$ui]] chart$functions$server<-callModule chart$functions$main <- chart$functions[[chart$workflow$server]] diff --git a/R/mod_loadCharts.R b/R/mod_loadCharts.R index 8f81905f..942e9404 100644 --- a/R/mod_loadCharts.R +++ b/R/mod_loadCharts.R @@ -43,7 +43,12 @@ loadChartsUI <- function(id, charts=makeChartConfig()){ #' @export loadCharts <- function(input, output, session, charts=makeChartConfig()) { chartsR<-reactive({ - charts %>% purrr::keep(~.x$name %in% input$active) + charts %>% + purrr::keep(~.x$name %in% input$active) %>% + map(function(chart){ + chart$order <- match(chart$name, input$active) + return(chart) + }) }) return(chartsR) } \ No newline at end of file diff --git a/R/mod_loadData.R b/R/mod_loadData.R index 2731369c..8f76429e 100644 --- a/R/mod_loadData.R +++ b/R/mod_loadData.R @@ -28,7 +28,8 @@ loadDataUI <- function(id, domain=NULL){ #' @param session Shiny session object #' #' @export -loadData <- function(input, output, session, domain, visible=TRUE) { + +loadData <- function(input, output, session, domain) { ns <- session$ns fileSummary <- reactiveVal() diff --git a/R/safetyGraphicsInit.R b/R/safetyGraphicsInit.R index 3b4d0a0a..5d6937b2 100644 --- a/R/safetyGraphicsInit.R +++ b/R/safetyGraphicsInit.R @@ -53,7 +53,8 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ server <- function(input,output,session){ #initialize the chart selection moduls charts<-callModule(loadCharts, "load-charts",charts=charts_init) - domainDataR<-all_domains %>% map(~callModule(loadData,.x,domain=.x, visible=.x %in% current_domains)) + domainDataR<-all_domains %>% map(~callModule(loadData,.x,domain=.x)) + names(domainDataR) <- all_domains domainData<- reactive({domainDataR %>% map(~.x())}) @@ -74,6 +75,7 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ initStatus <- reactive({ currentData <- domainData() + print(names(currentData)) chartCount<-length(charts()) domainCount<-length(currentData) loadCount<-sum(currentData %>% map_lgl(~!is.null(.x))) @@ -114,9 +116,10 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ charts= charts(), #mapping=NULL, filterDomain="dm", + autoMapping=TRUE, #chartSettingsPaths = NULL ) - + output$sg <- renderUI({ safetyGraphicsUI( "sg", diff --git a/man/loadData.Rd b/man/loadData.Rd index 104ab8f8..0b63d155 100644 --- a/man/loadData.Rd +++ b/man/loadData.Rd @@ -4,7 +4,7 @@ \alias{loadData} \title{loadDataServer} \usage{ -loadData(input, output, session, domain) +loadData(input, output, session, domain, visible = TRUE) } \arguments{ \item{input}{Shiny input object} @@ -13,7 +13,7 @@ loadData(input, output, session, domain) \item{session}{Shiny session object} -\item{domain}{List of data domains to be loaded} +\item{domain}{data domain to be loaded} } \description{ UI that facilitates the mapping of a column data domain diff --git a/man/loadDomains.Rd b/man/loadDomains.Rd deleted file mode 100644 index 2a7b44e7..00000000 --- a/man/loadDomains.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/mod_loadDomains.R -\name{loadDomains} -\alias{loadDomains} -\title{loadDataServer} -\usage{ -loadDomains(input, output, session, domains) -} -\arguments{ -\item{input}{Shiny input object} - -\item{output}{Shiny output object} - -\item{session}{Shiny session object} - -\item{domains}{List of data domains to be loaded {reactive}} -} -\description{ -UI that facilitates the mapping of a column data domain -} diff --git a/man/loadDomainsUI.Rd b/man/loadDomainsUI.Rd deleted file mode 100644 index f1551ebe..00000000 --- a/man/loadDomainsUI.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/mod_loadDomains.R -\name{loadDomainsUI} -\alias{loadDomainsUI} -\title{loadDataUI} -\usage{ -loadDomainsUI(id) -} -\arguments{ -\item{id}{module id} -} -\description{ -UI that facilitates the mapping of a column data domain -} From 16b7ad18d38ea88d7d10eff1ba220602d71a7247 Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Fri, 6 Aug 2021 09:17:19 -0400 Subject: [PATCH 3/7] more minor tweaks --- R/mod_loadCharts.R | 10 ++++++---- R/safetyGraphicsInit.R | 11 ++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/R/mod_loadCharts.R b/R/mod_loadCharts.R index 942e9404..361e1533 100644 --- a/R/mod_loadCharts.R +++ b/R/mod_loadCharts.R @@ -11,20 +11,22 @@ loadChartsUI <- function(id, charts=makeChartConfig()){ ns <- NS(id) - labels <- charts%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + inactive <- charts%>%keep(~.x$order < 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + active <- charts%>%keep(~.x$order >= 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + div( sortable::bucket_list( header = h4("Chart Loader"), group_name = ns("chartList"), - orientation = "vertical", + orientation = "horizontal", add_rank_list( text = "Active Charts", - labels = labels, + labels = active, input_id = ns("active") ), add_rank_list( text = "Inactive Charts", - labels = NULL, + labels = inactive, input_id = ns("inactive") ) ) diff --git a/R/safetyGraphicsInit.R b/R/safetyGraphicsInit.R index 5d6937b2..125e6e6b 100644 --- a/R/safetyGraphicsInit.R +++ b/R/safetyGraphicsInit.R @@ -25,7 +25,7 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ tags$head(tags$style(app_css)), div( id="init", - titlePanel("safetyGraphics Initialization app"), + titlePanel("safetyGraphics Initializer"), sidebarLayout( position="right", sidebarPanel( @@ -38,6 +38,11 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ ) ), mainPanel( + p( + icon("info-circle"), + "First, select charts by dragging items between the lists below. Next, load the required data domains using the controls on the right. Finally, click Run App to start the safetyGraphics Shiny App. Reload the webpage to select new charts/data.", + class="info" + ), loadChartsUI("load-charts", charts=charts_init), ) ), @@ -63,7 +68,6 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ }) observe({ - print(paste("current domains are:",paste(current_domains(),collapse=","))) for(domain in all_domains){ if(domain %in% current_domains()){ shinyjs::show(id=paste0(domain,"-wrap")) @@ -75,7 +79,6 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ initStatus <- reactive({ currentData <- domainData() - print(names(currentData)) chartCount<-length(charts()) domainCount<-length(currentData) loadCount<-sum(currentData %>% map_lgl(~!is.null(.x))) @@ -107,7 +110,6 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ }) observeEvent(input$runApp,{ - print("running the app server now :p") shinyjs::hide(id="init") shinyjs::show(id="sg-app") config<- app_startup( @@ -147,6 +149,5 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ } app <- shinyApp(ui = ui, server = server) - #app <- shinyApp(ui = ui, server = function(input,output,session){}) runApp(app, launch.browser = TRUE) } From 93bad99119fef3aba577bd2c81d762074e54fd33 Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Fri, 6 Aug 2021 09:56:48 -0400 Subject: [PATCH 4/7] create add/remove charts buttons. fix #569 --- R/mod_loadCharts.R | 62 +++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/R/mod_loadCharts.R b/R/mod_loadCharts.R index 361e1533..50e85d04 100644 --- a/R/mod_loadCharts.R +++ b/R/mod_loadCharts.R @@ -11,27 +11,14 @@ loadChartsUI <- function(id, charts=makeChartConfig()){ ns <- NS(id) - inactive <- charts%>%keep(~.x$order < 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) - active <- charts%>%keep(~.x$order >= 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) - div( - sortable::bucket_list( - header = h4("Chart Loader"), - group_name = ns("chartList"), - orientation = "horizontal", - add_rank_list( - text = "Active Charts", - labels = active, - input_id = ns("active") - ), - add_rank_list( - text = "Inactive Charts", - labels = inactive, - input_id = ns("inactive") - ) - ) - ) - + h4( + "Chart Loader", + actionButton(ns("addCharts"), "Select All", class="btn-xs"), + actionButton(ns("removeCharts"), "Remove All", class="btn-xs") + ), + uiOutput(ns("chartLists")) + ) } #' @title loadCharts @@ -44,6 +31,41 @@ loadChartsUI <- function(id, charts=makeChartConfig()){ #' @export loadCharts <- function(input, output, session, charts=makeChartConfig()) { + ns<-session$ns + labels<-charts%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + rv <- reactiveValues( + inactive = charts%>%keep(~.x$order < 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")), + active = charts%>%keep(~.x$order >= 1)%>%map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + ) + output$chartLists <- renderUI({ + div( + sortable::bucket_list( + header = NULL, + group_name = ns("chartList"), + orientation = "horizontal", + add_rank_list( + text = "Active Charts", + labels = rv$active, + input_id = ns("active") + ), + add_rank_list( + text = "Inactive Charts", + labels = rv$inactive, + input_id = ns("inactive") + ) + ) + ) + }) + + observeEvent(input$addCharts,{ + rv$active <- labels + rv$inactive <- NULL + }) + + observeEvent(input$removeCharts,{ + rv$active <- NULL + rv$inactive <- labels + }) chartsR<-reactive({ charts %>% purrr::keep(~.x$name %in% input$active) %>% From e592a671f6f568fd157fad2807c3f273ee3dc879 Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Fri, 6 Aug 2021 10:48:44 -0400 Subject: [PATCH 5/7] fix issue when not all domains are active --- R/safetyGraphicsInit.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/safetyGraphicsInit.R b/R/safetyGraphicsInit.R index 125e6e6b..0bd5a475 100644 --- a/R/safetyGraphicsInit.R +++ b/R/safetyGraphicsInit.R @@ -80,9 +80,9 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ initStatus <- reactive({ currentData <- domainData() chartCount<-length(charts()) - domainCount<-length(currentData) + domainCount<-length(current_domains()) loadCount<-sum(currentData %>% map_lgl(~!is.null(.x))) - notAllLoaded <- any(currentData %>% map_lgl(~is.null(.x))) + notAllLoaded <- sum(currentData %>% map_lgl(~!is.null(.x))) < domainCount ready<-FALSE if(domainCount==0){ status<-paste("No charts selected. Select one or more charts and then load domain data to initilize app.") @@ -113,7 +113,7 @@ safetyGraphicsInit <- function(charts=makeChartConfig(), delayTime=1000){ shinyjs::hide(id="init") shinyjs::show(id="sg-app") config<- app_startup( - domainData = domainData(), + domainData = domainData() %>% keep(~!is.null(.x)), meta = safetyGraphics::meta, charts= charts(), #mapping=NULL, From 21471dc03e3bfeffde24d0ab4ad5abb05a354afd Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Fri, 6 Aug 2021 11:00:34 -0400 Subject: [PATCH 6/7] fix issue with list sync after button click --- R/mod_loadCharts.R | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/R/mod_loadCharts.R b/R/mod_loadCharts.R index 50e85d04..7de657c5 100644 --- a/R/mod_loadCharts.R +++ b/R/mod_loadCharts.R @@ -57,6 +57,27 @@ loadCharts <- function(input, output, session, charts=makeChartConfig()) { ) }) + # Sync input and reactiveValues + observeEvent(input$active,{ + rv$active <- charts %>% + purrr::keep(~.x$name %in% input$active)%>% + map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + rv$inactive <- charts %>% + purrr::keep(~.x$name %in% input$inactive)%>% + map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + }) + + observeEvent(input$inactive,{ + rv$active <- charts %>% + purrr::keep(~.x$name %in% input$active)%>% + map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + rv$inactive <- charts %>% + purrr::keep(~.x$name %in% input$inactive)%>% + map(~makeChartSummary(.x,showLinks=FALSE,class="chart-sortable")) + + }) + + # Update reactiveValues/Input on add/remove button clicks observeEvent(input$addCharts,{ rv$active <- labels rv$inactive <- NULL From 7a3af7cd27a07c8b18c808453e58d0cdcf6a8d6c Mon Sep 17 00:00:00 2001 From: Jeremy Wildfire Date: Fri, 6 Aug 2021 12:02:59 -0400 Subject: [PATCH 7/7] update docs --- man/loadData.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/loadData.Rd b/man/loadData.Rd index 0b63d155..7cc7cc18 100644 --- a/man/loadData.Rd +++ b/man/loadData.Rd @@ -4,7 +4,7 @@ \alias{loadData} \title{loadDataServer} \usage{ -loadData(input, output, session, domain, visible = TRUE) +loadData(input, output, session, domain) } \arguments{ \item{input}{Shiny input object}