I am facing two issues. Any help would be greatly appreciated as I am a complete newbie to building shiny dashboards. 1) Unable to get the search for individual columns into my first table as the table has >18000 rows. 2) the sidebar conditional panels I created work for each of the tabs, in that they show the columns names for each of the tabs independently, but fail to connect to tabs separately. I think it could be interference from "DT" and shiny dashboard packages?
library(shinydashboard)
library(shinyjs)
library(shiny)
library(DT)
library(markdown)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
headerPanel(),
conditionalPanel(
"$('li.active a').first().html()==='Results'",
checkboxGroupInput('show_vars',
'Columns in Results to show:',
names(Results),
selected = names(Results)),
actionButton("Results","Submit")),
conditionalPanel(
"$('li.active a').first().html()==='Processed'",
checkboxGroupInput('show_vars',
'Columns in Processed to show:',
names(Processed),
selected = names(Processed)),
actionButton("processed","Submit")),
conditionalPanel(
"$('li.active a').first().html()==='Request'",
checkboxGroupInput('show_vars',
'Columns in Request to show:',
names(Request),
selected = names(Request)),
actionButton("Request","submit"))
),
dashboardBody(tabsetPanel(
tabPanel('Results',
DT::dataTableOutput("mytable1")),
tabPanel('Processed',
DT::dataTableOutput ("mytable2")),
tabPanel('Request',
DT::dataTableOutput ("mytable3")),
)
)
)
))
server <- function(input, output) {
output$mytable1 = renderDataTable({
DT::datatable(Results, options = list(scrollX = TRUE))
})
output$mytable2 = DT::renderDataTable({
DT::datatable(Processed, options = list(scrollX = TRUE),
filter="bottom", selection="multiple", escape = FALSE)
})
output$mytable3 = renderDataTable({
DT::datatable(Request, filter="bottom", selection="multiple", escape = FALSE,
options = list(scrollX = TRUE))
})
}