Использование пакета `rintrojs` прерывает отображение панелей в navbarPage - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь сделать презентацию моего блестящего приложения с пакетом rintrojs. Это хорошо работает, когда я использую его на actionButton или подобных вещах, но я бы хотел использовать его на именах tabPanels.

Я не хочу отображать что-либо на панелях, я хочу есть вводное поле для названия панелей. Однако при этом tabPanels больше не отображаются. Как мне это сделать?

Вот воспроизводимый пример:

library(shiny)
library(rintrojs)

ui <- navbarPage(

  title = "foo",
  introjsUI(),
  tabPanel(
    introBox(title = "Panel 1",
             data.step = 1,
             data.intro = "This is Panel 1"),
    fluidRow(actionButton("button1", "Button 1"))
  ), 

  tabPanel(
    introBox(title = "Panel 2",
             data.step = 2,
             data.intro = "This is Panel 2"),
    fluidRow(actionButton("button2", "Button 2"))
  )

  # If you want to see a "normal" app, comment from "introjsUI()" to here, and uncomment the chunk below 
  # tabPanel(title = "Panel 1",
  #          fluidRow(actionButton("button1", "Button 1"))
  # ),
  # tabPanel(title = "Panel 2",
  #          fluidRow(actionButton("button2", "Button 2"))
  # )
)

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

  introjs(session)

})

shinyApp(ui, server)

1 Ответ

0 голосов
/ 02 февраля 2020

Вот ответ, предоставленный здесь :

library(shiny)
library(rintrojs)

ui <- navbarPage(

  title = "foo",
  introjsUI(),
  tabPanel(
    title = introBox("Panel 1",
             data.step = 1,
             data.intro = "This is Panel 1"),
    fluidRow(actionButton("button1", "Button 1"))
  ), 

  tabPanel(
    title = introBox("Panel 2",
             data.step = 2,
             data.intro = "This is Panel 2"),
    fluidRow(actionButton("button2", "Button 2"))
  )

  # If you want to see a "normal" app, comment from "introjsUI()" to here, and uncomment the chunk below 
  # tabPanel(title = "Panel 1",
  #          fluidRow(actionButton("button1", "Button 1"))
  # ),
  # tabPanel(title = "Panel 2",
  #          fluidRow(actionButton("button2", "Button 2"))
  # )
)

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

  introjs(session)

})

shinyApp(ui, server)
...