Skip to contents

[Experimental]

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()'s id.

values

either a character string (used to identify particular accordion_panel()s by their value) or TRUE (i.e., all values).

session

a shiny session object (the default should almost always be used).

panel

an accordion_panel().

target

The value of an existing panel to insert next to. If removing: the value of the accordion_panel() to remove.

position

Should panel be added before or after the target? When target is NULL (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 the title.

Functions

See also

accordion() and accordion_panel() create the accordion component.