R Shinydashboard не загружается в модуль Shiny - PullRequest
0 голосов
/ 19 июня 2020

Я хочу поместить блестящую страницу информационной панели в модуль (скажем, для помещения страницы приборной панели в модальный диалог). Но пока dashboardPage находится в модуле, его html зависимости не загружаются нормально. Минимальный пример:

library(shinydashboard)

ui <- fluidPage(
  uiOutput(outputId = "modui")
)

server <- function(input, output, session) {
  callModule(mod, "mod")
  output$modui <- renderUI(modUI("mod"))
}

modUI <- function(id) {
  ns <- NS(id)
  dashboardPage(
    dashboardHeader(),
    dashboardSidebar(
      sidebarMenu(
        id = ns("sidebarmenu"),
        menuItem("Menu item1", tabName="m1"),
        menuItem("Menu item2", tabName="m2")
      )
    ),
    dashboardBody()
  )
}

mod <- function(input, output, session) {
  observeEvent(input$sidebarmenu, {
    print(input$sidebarmenu)
  })
}

shinyApp(ui, server)

Когда я запускаю приложение, Chrome выдает следующие ошибки:

DevTools failed to load SourceMap: Could not load content for http://127.0.0.1:5574/app.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load SourceMap: Could not load content for http://127.0.0.1:5574/shinydashboard.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

В результате sidebarMenu больше не является реактивным вводом. Ошибки исчезают, когда dashboardPage () включается в пользовательский интерфейс основного сеанса (но это также приводит к тому, что вся главная страница становится информационной панелью).

Я попытался написать объект htmlDependency:

dashboard_dep <- htmlDependency(
  name = "shinydashboard",
  version = "0.7.1",
  package = "shinydashboard",
  src = "",
  script = c("shinydashboard.min.js", "shinydashboard.min.js.map",
             "AdminLTE/app.min.js", "AdminLTE/app.min.js.map"),
  stylesheet = c("shinydashboard.css",
                 "AdminLTE/_all-skins.min.css", "AdminLTE/AdminLTE.min.css"),
  all_files = TRUE
)

Но, похоже, это не относится к файлам .map. Есть мысли, как решить эту проблему?

1 Ответ

0 голосов
/ 20 июня 2020

Ответьте на мой вопрос:

Я читал о блестящих привязках ввода, и кодах Javascript в shinydashboard. Код Javascript обрабатывает элементы DOM после загрузки объектов HTML, но в то время, когда моя страница загружается, DOM-элементы панели управления отсутствуют (присутствует только моя кнопка). Другими словами, мне нужно поместить страницу панели управления в пользовательский интерфейс, чтобы она загружалась при запуске. в Shiny несколько неудобно использовать при непосредственном вводе в пользовательский интерфейс).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...