MyNixOS website logo
Description

Create Tours in 'Shiny' Apps Using 'Shepherd.js'.

Enable the use of 'Shepherd.js' to create tours in 'Shiny' applications.

conductor

R-CMD-check

Create tours in Shiny apps using shepherd.js.

Installation

You can install the development version (recommended) of conductor from GitHub with:

# install.packages("devtools")
devtools::install_github("etiennebacher/conductor")

You can also install the CRAN version, but the last bug corrections are not there yet:

install.packages("conductor")

How to use

If you already use cicerone, then you should be able to use conductor quite easily.

Create a conductor

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."
  )

Call the conductor

Then, call useConductor() in the ui and call conductor$init()$start() anywhere in the server.

library(shiny)

ui <- fluidPage(
  useConductor(),
  actionButton("test", "Test")
)

server <- function(input, output, session){
  conductor$init()$start()
}

shinyApp(ui, server)

Similar packages

This is not at all the first package to enable tours in Shiny applications. Similar packages are:

Acknowledgements

The structure of the package, the code and the docs of conductor are copied or largely inspired from cicerone, by John Coene.

How to contribute

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:

packer::bundle()
devtools::load()

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.

Metadata

Version

0.1.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows