I'm developing an interactive help in Shiny
and obviously the choice was rintrojs
.
When I look into the example and the doc I found a little ugly to add to every element we want the interactive help the introBox
command ( https://github.com/carlganz/rintrojs see example here)
So I searched for a better solution and i came up with this app who won the 1st shiny contest https://kevinrue.shinyapps.io/isee-shiny-contest/# ( By the way, I'm stunned by what the app can do, kudos to the creators) . Anyway their approach to the interactive help was to write a text file let's call tour_1
like this:
#Welcome;Welcome to the interactive tour
#allpanels;iSEE provides a Shiny interface that allows you to generate a series of panels for exploring
#redDimPlot1;For example,....
where the first element is something like the div css element and second element is the text for the help.
With this observeEvent
function inside server.R
observeEvent(input$tour, {
tour <- read.delim(file.path(getwd(),"help", "tour_1"),
sep=";", stringsAsFactors=FALSE, row.names=NULL, quote="")
introjs(session, options=list(steps=tour))
})
the interactive help is started when user click the tour
button.
Everything is fine and neat. The problem is that the app Isee
I refered to, has all element in one page while my app is distributed across different tabset.
I'd like to have an interactive help for an element which is not in the first page.
Somehow i should adapt the first element of the tour_1 file to refer to the correct tabset and element inside it.
I've tried something like tabelmentid-elementofthattabid
but it doesn't work...