Create tours in Shiny apps using shepherd.js.
You can install the development version (recommended) of
conductor
from GitHub
with:
# install.packages("devtools")
::install_github("etiennebacher/conductor") devtools
You can also install the CRAN version, but the last bug corrections are not there yet:
install.packages("conductor")
If you already use cicerone
,
then you should be able to use conductor
quite easily.
First, create a Conductor
with
Conductor$new()
. This can be done anywhere, not necessarily
in the ui
or server
parts of the app. You can
also add some options in $new()
. To add steps in the tour,
use $step()
. Steps can be attached to specific elements
with el
, but if no el
is specified then the
popover will be displayed in the center of the screen.
library(conductor)
<- Conductor$
conductor new()$
step(
title = "Hello there",
text = "This popover is displayed in the center of the screen."
$
)step(
el = "#test",
title = "This is a button",
text = "This button has no purpose. Its only goal is to serve as support for demo."
)
Then, call useConductor()
in the ui
and
call conductor$init()$start()
anywhere in the
server
.
library(shiny)
<- fluidPage(
ui useConductor(),
actionButton("test", "Test")
)
<- function(input, output, session){
server $init()$start()
conductor
}
shinyApp(ui, server)
This is not at all the first package to enable tours in Shiny applications. Similar packages are:
The structure of the package, the code and the docs of
conductor
are copied or largely inspired from cicerone
,
by John Coene.
This package uses John Coene’s {packer}
. If
you want to contribute to the JavaScript files located in
srcjs
, you should run packer::npm_install()
,
do the modifications you want and then run:
::bundle()
packer::load() devtools
Please note that the conductor project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.