diff --git a/DESCRIPTION b/DESCRIPTION index 1a4dcc2..06142c8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -20,11 +20,11 @@ Depends: R (>= 3.0.2) Imports: jsonlite (>= 0.9.16), + rmarkdown, Suggests: shiny (>= 1.5.0), fontawesome (>= 0.3.0), knitr, - rmarkdown, htmltools, testthat License: GPL-3 | file LICENSE diff --git a/R/shinyModule.R b/R/shinyModule.R index 830dd1f..05db796 100644 --- a/R/shinyModule.R +++ b/R/shinyModule.R @@ -16,44 +16,41 @@ #' @rdname reactlog_module #' @export #' @examples -#' if (!require("shiny")) { -#' message("`shiny` required to run example") -#' return() -#' } -#' -#' library(shiny) -#' # Enable reactlog -#' reactlog_enable() +#' if (requireNamespace("shiny", quietly = TRUE)) { +#' library(shiny) +#' # Enable reactlog +#' reactlog_enable() #' -#' # Define UI for app that draws a histogram ---- -#' ui <- fluidPage( -#' tags$h1("Pythagorean theorem"), -#' numericInput("a", "A", 3), -#' numericInput("b", "B", 4), -#' "C:", verbatimTextOutput("c"), -#' ### start ui module -#' reactlog_module_ui() -#' ### end ui module -#' ) +#' # Define UI for app that draws a histogram ---- +#' ui <- fluidPage( +#' tags$h1("Pythagorean theorem"), +#' numericInput("a", "A", 3), +#' numericInput("b", "B", 4), +#' "C:", verbatimTextOutput("c"), +#' ### start ui module +#' reactlog_module_ui() +#' ### end ui module +#' ) #' -#' server <- function(input, output, session) { -#' a2 <- reactive({a <- input$a; req(a); a * a}, label = "a^2") -#' b2 <- reactive({b <- input$b; req(b); b * b}, label = "b^2") -#' c2 <- reactive({a2() + b2()}, label = "c^2") -#' c_val <- reactive({sqrt(c2())}, label = "c") +#' server <- function(input, output, session) { +#' a2 <- reactive({a <- input$a; req(a); a * a}, label = "a^2") +#' b2 <- reactive({b <- input$b; req(b); b * b}, label = "b^2") +#' c2 <- reactive({a2() + b2()}, label = "c^2") +#' c_val <- reactive({sqrt(c2())}, label = "c") #' -#' output$c <- renderText({ -#' c_val() -#' }) +#' output$c <- renderText({ +#' c_val() +#' }) #' -#' ### start server module -#' reactlog_module_server() -#' ### end server module +#' ### start server module +#' reactlog_module_server() +#' ### end server module #' -#' } +#' } #' -#' if (interactive()) { -#' shinyApp(ui = ui, server = server) +#' if (interactive()) { +#' shinyApp(ui = ui, server = server) +#' } #' } reactlog_module_ui <- function(include_refresh = TRUE, id = "reactlog_module") { ns <- shiny::NS(id) @@ -135,7 +132,7 @@ shiny_version_required <- function() { test_shiny_version <- function() { tryCatch({ utils::packageVersion("shiny") >= shiny_version_required() - }, error = function() { + }, error = function(e) { # package not found FALSE }) diff --git a/man/reactlog_module.Rd b/man/reactlog_module.Rd index 16dccf7..ca230b7 100644 --- a/man/reactlog_module.Rd +++ b/man/reactlog_module.Rd @@ -32,44 +32,41 @@ To open the reactlog at a particular step, be sure to mark your time points with \code{Cmd+Shift+F3} (Windows: \code{Ctrl+Shift+F3}) } \examples{ -if (!require("shiny")) { - message("`shiny` required to run example") - return() -} - -library(shiny) -# Enable reactlog -reactlog_enable() +if (requireNamespace("shiny", quietly = TRUE)) { + library(shiny) + # Enable reactlog + reactlog_enable() -# Define UI for app that draws a histogram ---- -ui <- fluidPage( - tags$h1("Pythagorean theorem"), - numericInput("a", "A", 3), - numericInput("b", "B", 4), - "C:", verbatimTextOutput("c"), -### start ui module - reactlog_module_ui() -### end ui module -) + # Define UI for app that draws a histogram ---- + ui <- fluidPage( + tags$h1("Pythagorean theorem"), + numericInput("a", "A", 3), + numericInput("b", "B", 4), + "C:", verbatimTextOutput("c"), + ### start ui module + reactlog_module_ui() + ### end ui module + ) -server <- function(input, output, session) { - a2 <- reactive({a <- input$a; req(a); a * a}, label = "a^2") - b2 <- reactive({b <- input$b; req(b); b * b}, label = "b^2") - c2 <- reactive({a2() + b2()}, label = "c^2") - c_val <- reactive({sqrt(c2())}, label = "c") + server <- function(input, output, session) { + a2 <- reactive({a <- input$a; req(a); a * a}, label = "a^2") + b2 <- reactive({b <- input$b; req(b); b * b}, label = "b^2") + c2 <- reactive({a2() + b2()}, label = "c^2") + c_val <- reactive({sqrt(c2())}, label = "c") - output$c <- renderText({ - c_val() - }) + output$c <- renderText({ + c_val() + }) -### start server module - reactlog_module_server() -### end server module + ### start server module + reactlog_module_server() + ### end server module -} + } -if (interactive()) { - shinyApp(ui = ui, server = server) + if (interactive()) { + shinyApp(ui = ui, server = server) + } } } \seealso{