Действие Ссылка в конце разборного дерева - PullRequest
0 голосов
/ 11 апреля 2019

Я хотел бы иметь возможность иметь ссылку действия, сгенерированную в конце ссылки действия.Так как человек добирается до конца разборного дерева.

Я вижу, как передавать ссылки из таблицы данных, но я могу передать эти данные в сворачиваемое дерево.

Создайте фрейм данных, содержащий ссылку на действие для наблюдаемых событий.Затем, как только это будет сделано, передайте это свертываемому дереву, которое будет направлять людей к нужным столбцам в моем блестящем приложении.

df <- data.frame('Start' = c('Beginning', 'Beginning', 'Beginning', 
                    'Beginning','Beginning','Beginning'),
                 'Point_1' = c('California', 
                    'California','California','Texas','Texas','Florida'),
                 'Point_2' = c('Colorado', 'Georgia', 'Michigan', 'Ohio', 
                    'Arizona',''),
                 'Destination'= c('Nevada', 'Alabama', 'Virginia', 
                    'Louisiana', 'Oklahoma', 'Washington'))

collapsibleTree(
  df,
  #DT::dataTableOutput("collapsible_tree"),
  hierarchy = c("Point_1", "Point_2", "Destination"),
  root = "Start",
  width = 1200,
  height = "900px",
  zoomable = TRUE,
  collapsed = TRUE,
  fillByLevel = TRUE,
  attribute = "leafCount",
  nodeSize = "leafCount",
  tooltipHtml = "tooltip"
)

Затем хотелось бы поработать над событием наблюдения.

shinyApp(

  ui <- fluidPage(
    titlePanel("Destination Dashboard"), 
    theme = shinytheme("united"),
    navlistPanel(id='nav', widths = c(2, 10),
                 tabPanel('Tree',  
                      collapsibleTree(
                         DT::dataTableOutput("collapsible_tree"),
                         hierarchy = c("Point_1", "Point_2", "Destination"),
                         root = "Start",
                         width = 1200,
                         height = "900px",
                         zoomable = TRUE,
                         collapsed = TRUE,
                         fillByLevel = TRUE,
                         attribute = "leafCount",
                         nodeSize = "leafCount",
                         tooltipHtml = "tooltip"
                          )),   
                 tabPanel('Summary2', dataTableOutput('summary')),
                 tabPanel("Nevada", dataTableOutput('Nevada')),
                 tabPanel("Alabama", dataTableOutput('Alabama')),
                 tabPanel("Virginia", dataTableOutput('Virginia')),
                 tabPanel("Louisiana", dataTableOutput('Louisiana')),
                 tabPanel("Oklahoma", dataTableOutput('Oklahoma')),
                 tabPanel("Washington", dataTableOutput('Washington'))
    )

  ),

  server <- function(input, output, session) {

    output$collapsible_tree<- renderDataTable({

      data <- df %>%
        mutate(Destination = shinyInput(actionLink, nrow(df), 'button_', label = Destination, onclick = 'Shiny.onInputChange(\"select_button\",  this.id)' ))

      table <- datatable(data, escape = FALSE , selection = 'none')

      table
    })

    observeEvent(input$select_button, {
      selectedRow <- as.numeric(strsplit(input$select_button, "_")[[1]][2])

      updateNavlistPanel(session, 'nav', as.character(df[selectedRow, 1]))
    })

  }
)


Содержимое данных, которое не показано, сокращает длину отправляемого кода.

Я ожидаю, что будет перенаправлен на соответствующую вкладку, которая содержит контент.Практически идентичен этому примеру:

кликабельные ссылки в Shiny Datatable

Но если передать его в сворачиваемое дерево, и я не думаю, что для rendercollapsibleTree есть блестящая опция.Когда я пытаюсь передать его таким образом, я получаю:

Ошибка в UseMethod ("collapsibleTree"): нет применимого метода для "collapsibleTree", примененного к объекту класса "c ('iny.tag.list", 'list') "

Спасибо!

...