How to use the same output bindings on different tabs in brilliant

In my file server.R, I have a reactive call myNetthat generates visNetwork. In mine ui.R, I have several tab bars that ideally will have different input widgets that affect visNetwork.

Is it possible to reuse the same binding?

At the present time, when I try to run code similar to the following, I get an error message: Uncaught Duplicate binding for ID vis.


Fragment server.R

  myNet <- reactive({
    nodes <- df_nodes
    edges <- df_edges        
    visNetwork(nodes, edges, height = '800px')
  })

  output$vis <- renderVisNetwork(
    myNet()
  )

Fragment ui.R

  ...

  tabPanel("First Panel",
    sidebarLayout(
      sidebarPanel(
        sliderInput("input1", "Title 1", 
                    min=1, max=10, value=1),
        sliderInput("input2", "Title 2",
                    min=1, max=10, value=1),
        sliderInput("input3", "Title 3",
                    min=1, max=10, value=1)
      ),
      mainPanel(
        visNetworkOutput("vis", height = '800px') # *** ISSUE HERE***
      )
    )
  ),
  tabPanel("Second Panel",
    sidebarLayout(
      sidebarPanel(
        sliderInput("input4", "Title 4", 
                    min=1, max=10, value=1),
        sliderInput("input5", "Title 5",
                    min=1, max=10, value=1),
      ),
      mainPanel(
        visNetworkOutput("vis", height = '800px') # *** ISSUE HERE***       
      )
    )
  ), ...
+4
source share
1 answer

I ended up discovering this GitHub issue . The consensus seems to be as follows:

output$vis_1 <- output$vis_2 <- renderVisNetwork(myNet())

, , , :

output$vis_1 <- renderVisNetwork(myNet())
output$vis_2 <- renderVisNetwork(myNet())

GitHub:

" , - , . , Leaflet , - . , ?"

, , , , uiOutput() ( ui.R) output$ui <- renderUI({...}) ( server.R).

+5

All Articles