downloadableTableUI {periscope2}R Documentation

downloadableTable module UI function

Description

Creates a custom high-functionality table paired with a linked downloadFile button. The table has search and highlight functionality, infinite scrolling, sorting by columns and returns a reactive dataset of selected items.

Usage

downloadableTableUI(
  id,
  downloadtypes = NULL,
  hovertext = NULL,
  contentHeight = "200px",
  singleSelect = FALSE
)

Arguments

id

character id for the object

downloadtypes

vector of values for data download types

hovertext

download button tooltip hover text

contentHeight

viewable height of the table (any valid css size value)

singleSelect

whether the table should only allow a single row to be selected at a time (FALSE by default allows multi-select).

Details

downloadFile button will be hidden if downloadableTable parameter downloaddatafxn or downloadableTableUI parameter downloadtypes is empty

Value

list of downloadFileButton UI and DT datatable

Table Features

Example

downloadableTableUI("mytableID", c("csv", "tsv"), "Click Here", "300px")

Notes

When there are no rows to download in any of the linked downloaddatafxns the button will be hidden as there is nothing to download.

Shiny Usage

Call this function at the place in ui.R where the table should be placed.

Paired with a call to downloadableTable(id, ...) in server.R

See Also

downloadableTable

downloadFileButton

logViewerOutput

downloadFile

downloadFile_ValidateTypes

downloadFile_AvailableTypes

downloadablePlot

Examples

if (interactive()) {
 library(shiny)
 library(periscope2)
 shinyApp(ui = fluidPage(fluidRow(column(width = 12,
   downloadableTableUI("object_id1",
                       downloadtypes = c("csv", "tsv"),
                       hovertext     = "Download the data here!",
                       contentHeight = "300px",
                       singleSelect  = FALSE)))),
   server = function(input, output) {
     mydataRowIds <- function(){
       rownames(head(mtcars))[c(2, 5)]
     }
     selectedrows <- downloadableTable(
       id               = "object_id1",
       logger           = "",
       filenameroot     = "mydownload1",
       downloaddatafxns = list(csv = reactiveVal(mtcars), tsv = reactiveVal(mtcars)),
       tabledata        = reactiveVal(mtcars),
       selection        = mydataRowIds,
       table_options    = list(rownames = TRUE,
                            caption  = "This is a great table!"))
     observeEvent(selectedrows(), {
       print(selectedrows())
     })})
}


[Package periscope2 version 0.2.3 Index]