Creates a custom high-functionality button for file downloads with two states - single download type or multiple-download types. The button image and pop-up menu (if needed) are set accordingly. A tooltip can also be set for the button.
downloadFileButton(id, downloadtypes = c("csv"), hovertext = NULL)
character id for the object
vector of values for data download types
tooltip hover text
html span with tooltip and either shiny downloadButton in case of single download or shiny actionButton otherwise
downloadFileUI("mybuttonID1", c("csv", "tsv"), "Click Here")
downloadFileUI("mybuttonID2", "csv", "Click to download")
Call this function at the place in ui.R where the button should be placed.
It is paired with a call to downloadFile(id, ...)
in server.R
if (interactive()) {
library(shiny)
library(periscope2)
shinyApp(ui = fluidPage(fluidRow(column(width = 6,
# single download type
downloadFileButton("object_id1",
downloadtypes = c("csv"),
hovertext = "Button 1 Tooltip")),
column(width = 6,
# multiple download types
downloadFileButton("object_id2",
downloadtypes = c("csv", "tsv"),
hovertext = "Button 2 Tooltip")))),
server = function(input, output) {
# single download type
downloadFile(id = "object_id1",
logger = "",
filenameroot = "mydownload1",
datafxns = list(csv = reactiveVal(iris)),
aspectratio = 1)
# multiple download types
downloadFile(id = "object_id2",
logger = "",
filenameroot = "mydownload2",
datafxns = list(csv = reactiveVal(mtcars),
tsv = reactiveVal(mtcars)))
})
}