0

I'm building an application in which we have 2 fluidPage(). First fluidPage() have a data table with a hyperlink in one column, which gets linked with other fluidPage().

While looking for this scenario, I came upon this solution which links to another tabPanel().

I tried to create two fluidPage() like this

library(shiny)
library(DT)

server <- function(input, output) {
  output$iris_type <- DT::renderDataTable({
    datatable(data.frame(Species=paste0("<a href='#filtered_data'",
                                        "alt='",unique(iris$Species),"'",                                                 
                                        "onclick=\"",
                                        "$('#filtered_data').trigger('change').trigger('shown');",
                                        "Shiny.onInputChange('species', getAttribute('alt'));",
                                        "\">",
                                        unique(iris$Species),
                                        "</a>")),
              escape = FALSE)
  })
  
  output$filtered_data <- DT::renderDataTable({
    if(is.null(input$species)){
      datatable(iris)
    }else{
      datatable(iris[iris$Species %in% input$species, ])
    }
  })
}

ui <- shinyUI(fluidPage(
  mainPanel(
    tabsetPanel(
      tabPanel("Iris Type", DT::dataTableOutput("iris_type"))
    ))
),
fluidPage(
mainPanel(
  DT::dataTableOutput("filtered_data")
)
)

)

shinyApp(ui = ui, server = server)

I'm getting an error message

Error in shinyUI(fluidPage(mainPanel(tabsetPanel(tabPanel("Iris Type",  : 
  unused argument (fluidPage(mainPanel(DT::dataTableOutput("filtered_data"))))

Can anyone provide a suitable solution where on clicking the specific species, the corresponding table should get displayed on another page rather than being displayed in another tab?

Thanks in advance!!!

Nevedha Ayyanar
  • 845
  • 9
  • 27

0 Answers0