Фон
В моем модуле shiny
я выполняю длительные вычисления.Я хочу предоставить некоторую визуальную обратную связь пользователю, изменив курсор на вращающийся круг.Для этого я создал css
класс .wait
и надеялся использовать shinyjs::addClass
на body
, чтобы показать новый курсор.Однако в модуле это не работает, а работает в основном приложении.Как я могу получить желаемое поведение в моем модуле?
Код
library(shiny)
library(shinyjs)
testUI <- function(id) {
ns <- NS(id)
tagList(useShinyjs(),
inlineCSS('.wait {cursor: wait;};'),
actionButton(ns("wait"), "wait"),
actionButton(ns("stop"), "stop"))
}
test <- function(input, output, session) {
observeEvent(input$wait, addClass(selector = "body", class = "wait"))
observeEvent(input$stop, removeClass(selector = "body", class = "wait"))
}
ui <- fluidPage(
useShinyjs(),
testUI("test"),
div("Test to show that 'wait' class works", class = "wait"),
actionButton("wait.main", "wait"),
actionButton("stop.main", "stop")
)
server <- function(input, output, session) {
callModule(test, "test")
observeEvent(input$wait.main, addClass(selector = "body", class = "wait"))
observeEvent(input$stop.main, removeClass(selector = "body", class = "wait"))
}
shinyApp(ui = ui, server = server)