## ----message=FALSE, warning=FALSE, eval=FALSE---------------------------------
# library(shiny)
# library(htmlwidgets)
# library(dplyr)
# library(basictabler)
# 
# ui <- fluidPage(
# 
#    titlePanel("Basictabler Minimal Example Shiny App"),
# 
#    sidebarLayout(
#       sidebarPanel(
# 
#          selectInput("groupBy", label = h5("Rows"),
#                      choices = list("Train Category" = "TrainCategory",
#                                     "TOC" = "TOC",
#                                     "Power Type" = "PowerType"), selected = "TOC")
#       ),
# 
#       mainPanel(
#          basictablerOutput('tbl')
#       )
#    )
# )
# 
# server <- function(input, output) {
# 
#    output$tbl <- renderBasictabler({
# 
#      tocsummary <- bhmsummary %>%
#        group_by_(input$groupBy) %>%
#        summarise(OnTimeArrivals=sum(OnTimeArrivals),
#                 OnTimeDepartures=sum(OnTimeDepartures),
#                 TotalTrains=sum(TrainCount)) %>%
#        ungroup() %>%
#        mutate(OnTimeArrivalPercent=OnTimeArrivals/TotalTrains*100,
#              OnTimeDeparturePercent=OnTimeDepartures/TotalTrains*100) %>%
#        arrange_(input$groupBy)
# 
#      # formatting values (explained in the introduction vignette)
#      columnFormats=list(NULL, list(big.mark=","), list(big.mark=","), list(big.mark=","), "%.1f", "%.1f")
# 
#      # create the table and render
#      tbl <- BasicTable$new()
#      tbl$addData(tocsummary, firstColumnAsRowHeaders=TRUE,
#                 explicitColumnHeaders=c(input$groupBy, "On-Time Arrivals", "On-Time Departures",
#                                         "Total Trains", "On-Time Arrival %", "On-Time Departure %"),
#                 columnFormats=columnFormats)
# 
#      basictabler(tbl)
#    })
# }
# 
# shinyApp(ui = ui, server = server)