Logic and user experience for adding new, removing and modifying existing stacks to/from the board can be customized or enhanced by providing an alternate version of this plugin. The default implementation provides a table-based UI, presented in a modal.
manage_stacks(server = manage_stacks_server, ui = manage_stacks_ui)manage_stacks_server(id, board, update, ...)
manage_stacks_ui(id, board)
A plugin container inheriting from manage_stacks is returned by
manage_stacks(), while the UI component (e.g. manage_stacks_ui()) is
expected to return shiny UI (i.e. shiny::tagList()) and the server
component (i.e. manage_stacks_server()) is expected to return NULL.
Server/UI for the plugin module
Namespace ID
The initial board object
Reactive value object to initiate board updates
Extra arguments passed from parent scope
Updates are mediated via the shiny::reactiveVal() object passed as
update, where stack updates are communicated as list entry stacks with
components add, rm or mod, where
add is either NULL or a stacks object (stack IDs may not already
exists),
rm is either NULL or a character vector of (existing) stack IDs,
mod is either NULL or a stacks object (where stack IDs must already
exist).