Я хотел бы иметь возможность иметь ссылку действия, сгенерированную в конце ссылки действия.Так как человек добирается до конца разборного дерева.
Я вижу, как передавать ссылки из таблицы данных, но я могу передать эти данные в сворачиваемое дерево.
Создайте фрейм данных, содержащий ссылку на действие для наблюдаемых событий.Затем, как только это будет сделано, передайте это свертываемому дереву, которое будет направлять людей к нужным столбцам в моем блестящем приложении.
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') "
Спасибо!