updateProgressBar в блестящей - PullRequest
       22

updateProgressBar в блестящей

0 голосов
/ 07 октября 2019

Мне нужно показать progress bar внутри моего блестящего приложения.

Я использую пакет shinyWidgets и использую функцию updateProgressBar.

Проблема в том, чтоЯ использую его внутри function, и получаю это сообщение об ошибке:

Warning: Error in shinyWidgets::updateProgressBar: object 'session' not found
  [No stack trace available]

Когда я использую его вне функции (непосредственно в приложении), оно работает.

Какобойти это? Ниже приведен пример того, как он работает

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
  actionBttn("load","Load"),
  progressBar(id = "loading_bar",0)
)

server <- function(input, output, session) {

  observeEvent(input$load, {
    updateProgressBar(session=session,
                      id = "loading_bar",
                      value=100)
  })

}

shinyApp(ui, server)

, а тот, на котором я работаю, выглядит следующим образом:

library(shiny)
    library(shinyWidgets)

source("my_download_function.R",local=TRUE)

    ui <- fluidPage(
  actionBttn("load","Load"),
  progressBar(id = "loading_bar",0)
)

server <- function(input, output, session) {

  observeEvent(input$load, {

  df <- my_download_function("download")

  })

}

shinyApp(ui, server)

проблема в том, что часть кода, которая обновляет панель

        updateProgressBar(session=session,
                      id = "loading_bar",
                      value=100)

находится внутри функции, и его не найти снаружи.

У меня были похожие проблемы с объектами, и я использовал <<-, чтобы он мог определить его глобально. Есть идеи, что я делаю не так?

...