Dynamically update/modify accordion()s in a Shiny app. To be updated
programmatically, the accordion() must have an id. These functions
require an active Shiny session and only work with a running Shiny app.
Usage
accordion_panel_set(id, values, session = get_current_session())
accordion_panel_open(id, values, session = get_current_session())
accordion_panel_close(id, values, session = get_current_session())
accordion_panel_insert(
id,
panel,
target = NULL,
position = c("after", "before"),
session = get_current_session()
)
accordion_panel_remove(id, target, session = get_current_session())
accordion_panel_update(
id,
target,
...,
title = NULL,
value = NULL,
icon = NULL,
session = get_current_session()
)Arguments
- id
an character string that matches an existing
accordion()'sid.- values
either a character string (used to identify particular
accordion_panel()s by theirvalue) orTRUE(i.e., allvalues).- session
a shiny session object (the default should almost always be used).
- panel
- target
The
valueof an existing panel to insert next to. If removing: thevalueof theaccordion_panel()to remove.- position
Should
panelbe added before or after the target? WhentargetisNULL(the default),"after"will append after the last panel and"before"will prepend before the first panel.- ...
Elements that become the new content of the panel.
- title
A title to appear in the
accordion_panel()'s header.- value
A character string that uniquely identifies this panel.
- icon
A htmltools::tag child (e.g.,
bsicons::bs_icon()) which is positioned just before thetitle.
Functions
accordion_panel_set(): same asaccordion_panel_open(), except it also closes any currently open panels.accordion_panel_open(): openaccordion_panel()s.accordion_panel_close(): closeaccordion_panel()s.accordion_panel_insert(): insert a newaccordion_panel()accordion_panel_remove(): removeaccordion_panel()s.accordion_panel_update(): update aaccordion_panel().
See also
accordion() and accordion_panel() create the accordion
component.
