## ----setup, include=FALSE----------------------------------------------------- library(teal) ## ----as_interactive, eval=FALSE, echo=FALSE----------------------------------- # interactive <- function() TRUE ## ----app_1, eval = FALSE------------------------------------------------------ # library(teal) # # data <- within(teal_data(), { # iris <- iris # mtcars <- mtcars # }) # # app <- init( # data = data, # modules = example_module() # ) # # if (interactive()) { # shinyApp(app$ui, app$server) # } ## ----shinylive_iframe_1, echo = FALSE, out.width = '150%', out.extra = 'style = "position: relative; z-index:1"', eval = requireNamespace("roxy.shinylive", quietly = TRUE) && knitr::is_html_output() && identical(Sys.getenv("IN_PKGDOWN"), "true")---- # code <- paste0(c( # knitr::knit_code$get("as_interactive"), # knitr::knit_code$get("app_1") # ), collapse = "\n") # # url <- roxy.shinylive::create_shinylive_url(code) # knitr::include_url(url, height = "800px") ## ----teal_lib_call, eval=FALSE, echo=FALSE------------------------------------ # library(teal) ## ----app_2, eval = FALSE------------------------------------------------------ # data <- within(teal_data(), { # iris <- iris # mtcars <- mtcars # }) # # transformator_iris <- teal_transform_module( # label = "Custom transformator for iris", # ui = function(id) { # ns <- NS(id) # tags$div( # numericInput(ns("n_rows"), "Number of rows to display", value = 6, min = 1, max = 150, step = 1) # ) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # reactive({ # within( # data(), # iris <- head(iris, num_rows), # num_rows = input$n_rows # ) # }) # }) # } # ) # # app <- init( # data = data, # modules = example_module(transformators = list(transformator_iris)) # ) # # if (interactive()) { # shinyApp(app$ui, app$server) # } ## ----shinylive_iframe_2, echo = FALSE, out.width = '150%', out.extra = 'style = "position: relative; z-index:1"', eval = requireNamespace("roxy.shinylive", quietly = TRUE) && knitr::is_html_output() && identical(Sys.getenv("IN_PKGDOWN"), "true")---- # code <- paste0(c( # knitr::knit_code$get("as_interactive"), # knitr::knit_code$get("setup"), # knitr::knit_code$get("app_2") # ), collapse = "\n") # # url <- roxy.shinylive::create_shinylive_url(code) # knitr::include_url(url, height = "800px") ## ----app_3, eval = FALSE------------------------------------------------------ # data <- within(teal_data(), { # iris <- iris # mtcars <- mtcars # }) # # transformator_iris <- teal_transform_module( # label = "Custom transformator for iris", # ui = function(id) { # ns <- NS(id) # tags$div( # numericInput(ns("n_rows"), "Number of rows to subset", value = 6, min = 1, max = 150, step = 1) # ) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # reactive({ # within( # data(), # iris <- head(iris, num_rows), # num_rows = input$n_rows # ) # }) # }) # } # ) # # transformator_mtcars <- teal_transform_module( # label = "Custom transformator for mtcars", # ui = function(id) { # ns <- NS(id) # tags$div( # "Adding rownames column to mtcars" # ) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # reactive({ # within(data(), { # mtcars$rownames <- rownames(mtcars) # rownames(mtcars) <- NULL # }) # }) # }) # } # ) # # my_transformators <- list( # transformator_iris, # transformator_mtcars # ) # # app <- init( # data = data, # modules = example_module(transformators = my_transformators) # ) # # if (interactive()) { # shinyApp(app$ui, app$server) # } ## ----shinylive_iframe_3, echo = FALSE, out.width = '150%', out.extra = 'style = "position: relative; z-index:1"', eval = requireNamespace("roxy.shinylive", quietly = TRUE) && knitr::is_html_output() && identical(Sys.getenv("IN_PKGDOWN"), "true")---- # code <- paste0(c( # knitr::knit_code$get("as_interactive"), # knitr::knit_code$get("setup"), # knitr::knit_code$get("app_3") # ), collapse = "\n") # # url <- roxy.shinylive::create_shinylive_url(code) # knitr::include_url(url, height = "800px") ## ----app_4, eval = FALSE------------------------------------------------------ # data <- within(teal_data(), { # iris <- iris # mtcars <- mtcars # }) # # transformator_iris_scale <- teal_transform_module( # label = "Scaling transformator for iris", # ui = function(id) { # ns <- NS(id) # uiOutput(ns("scaled_columns_container")) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # ns <- session$ns # # scalable_columns <- names(Filter(is.numeric, data()[["iris"]])) |> isolate() # # output$scaled_columns_container <- renderUI({ # selectInput( # inputId = ns("scaled_columns"), # label = "Columns to scale", # choices = scalable_columns, # selected = input$scaled_columns, # multiple = TRUE # ) # }) # # reactive({ # within( # data(), # { # iris[scaled_columns] <- scale(iris[scaled_columns]) # }, # scaled_columns = input$scaled_columns # ) # }) # }) # } # ) # # transformator_iris <- teal_transform_module( # label = "Custom transformator for iris", # ui = function(id) { # ns <- NS(id) # tags$div( # numericInput(ns("n_rows"), "Number of rows to subset", value = 6, min = 1, max = 150, step = 1) # ) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # reactive({ # within( # data(), # iris <- head(iris, num_rows), # num_rows = input$n_rows # ) # }) # }) # } # ) # # transformator_mtcars <- teal_transform_module( # label = "Custom transformator for mtcars", # ui = function(id) { # ns <- NS(id) # tags$div( # "Adding rownames column to mtcars" # ) # }, # server = function(id, data) { # moduleServer(id, function(input, output, session) { # reactive({ # within(data(), { # mtcars$rownames <- rownames(mtcars) # rownames(mtcars) <- NULL # }) # }) # }) # } # ) # # my_transformators <- list( # transformator_iris, # transformator_iris_scale, # transformator_mtcars # ) # # app <- init( # data = data, # modules = example_module(transformators = my_transformators) # ) # # if (interactive()) { # shinyApp(app$ui, app$server) # } ## ----shinylive_iframe_4, echo = FALSE, out.width = '150%', out.extra = 'style = "position: relative; z-index:1"', eval = requireNamespace("roxy.shinylive", quietly = TRUE) && knitr::is_html_output() && identical(Sys.getenv("IN_PKGDOWN"), "true")---- # code <- paste0(c( # knitr::knit_code$get("as_interactive"), # knitr::knit_code$get("setup"), # knitr::knit_code$get("app_4") # ), collapse = "\n") # # url <- roxy.shinylive::create_shinylive_url(code) # knitr::include_url(url, height = "800px")