Create a panel for use within a dock_view()
widget.
Panels are the main container components that can be docked, dragged,
resized, and arranged within the dockview interface.
Usage
panel(
id,
title,
content,
active = TRUE,
remove = list(enable = FALSE, mode = "auto"),
...
)
Arguments
- id
Panel unique id.
- title
Panel title.
- content
Panel content. Can be a list of Shiny tags.
- active
Is active?
- remove
List with two fields: enable and mode. Enable is a boolean and mode is one of
manual
,auto
(default to auto). In auto mode, dockview JS removes the panel when it is closed and all its content. If you need more control over the panel removal, set it to manual so you can explicitly callremove_panel()
and perform other tasks. On the server side, a shiny input is availableinput[["<dock_ID>_panel-to-remove"]]
so you can create observers with custom logic.- ...
Other options passed to the API. See https://dockview.dev/docs/api/dockview/panelApi/. If you pass position, it must be a list with 2 fields:
referencePanel: reference panel id.
direction: one of
above
,below
,left
,right
orwithin
(above
,below
,left
,right
put the panel in a new group, whilewithin
puts the panel after its reference panel in the same group). Position is relative to the reference panel target.
Value
A list representing a panel object to be consumed by dock_view:
id: unique panel id (string).
title: panel title (string).
content: panel content (
shiny.tag.list
or singleshiny.tag
).active: whether the panel is active or not (boolean).
...: extra parameters to pass to the API.