I wanted to follow up @TomStewart's post Shiny.setInputValue in modular app with namespaces and trying to design a repex to showcase the example but I must be missing something:
An app with a module that simply prints the custom shiny input (right now it's printing NULL
when I expect it to be printing This is a test
)
library(shiny)
# MODULE UI
customInputUI <- function(id) {
ns <- NS(id)
verbatimTextOutput(ns("debug"))
}
# MODULE SERVER
# Render the custom shiny input binding
customInput <- function(input, output, session) {
# This should return "This is a test" from script.js....?
# output$debug <- renderPrint({ input$testing })
output$debug <- renderPrint({ input$testing })
}
ui <- fixedPage(
h2("Shiny.setInputValue Inside Module"),
customInputUI("custom_input"),
# This is where we assign the custom binding
tags$script(src = "script.js")
)
server <- function(input, output, session) {
df <- callModule(customInput, "custom_input")
}
shinyApp(ui, server)
The JS file to create the custom input (script.js):
Shiny.setInputValue('testing', "This is a test");