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
value
of an existing panel to insert next to. If removing: thevalue
of theaccordion_panel()
to remove.- position
Should
panel
be added before or after the target? Whentarget
isNULL
(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.