User settings at the board level are managed by a board_options
object.
This can be constructed via new_board_options()
and in case the set of
user options is to be extended, the constructor is designed with sub-classing
in mind. Consequently, the associated validator validate_board_options()
is available as S3 generic. Inheritance checking is available as
is_board_options()
and coercion as as_board_options()
.
Usage
new_board_option(
id,
default,
ui,
server = function(board, session) {
},
update_trigger = id,
transform = identity,
ctor = sys.parent(),
pkg = NULL,
...
)
is_board_option(x)
validate_board_option(x)
as_board_option(x, ...)
# S3 method for class 'board_option'
as_board_option(x, ...)
board_option_id(x)
board_option_trigger(x)
board_option_default(x)
board_option_ui(x, id = NULL)
board_option_server(x, ...)
board_option_transform(x)
board_option_value(x, value = board_option_default(x))
# Default S3 method
validate_board_option(x)
new_board_name_option(value = "Board", ...)
new_n_rows_option(value = blockr_option("n_rows", 50L), ...)
new_page_size_option(value = blockr_option("page_size", 5L), ...)
new_filter_rows_option(value = blockr_option("filter_rows", FALSE), ...)
new_thematic_option(value = blockr_option("thematic", NULL), ...)
new_dark_mode_option(value = blockr_option("dark_mode", NULL), ...)
new_board_options(...)
default_board_options(...)
is_board_options(x)
as_board_options(x)
# S3 method for class 'board_options'
as_board_options(x)
# S3 method for class 'board_option'
as_board_options(x)
# S3 method for class 'list'
as_board_options(x)
# S3 method for class 'board'
as_board_options(x)
validate_board_options(x)
board_option_values(x)
get_board_option_value(opt, session = get_session())
get_board_option_or_default(
opt,
opts = default_board_options(),
session = get_session()
)
get_board_option_or_null(opt, session = get_session())
get_board_option_values(
...,
opts = default_board_options(),
if_not_found = c("error", "default", "null"),
session = get_session()
)
Arguments
- id
Board option ID
- default
Default value
- ui
Option UI
- server
(Optional) option server
- update_trigger
Shiny
input
entry/entries that trigger an update- transform
(Optional) transform function
- ctor, pkg
Constructor information (used for serialization)
- ...
Options passed as individual arguments
- x
Board options object
- value
Option value
- opt
Option name
- session
Shiny session
- opts
Board options
- if_not_found
Behavior in case an option is not found
Value
All of new_board_options()
and as_board_options()
return a
board_options
object, as does the validator validate_board_options()
,
which is typically called for side effects of throwing errors is validation
does not pass. Inheritance checking as is_board_options()
returns a scalar
logical, while board_option_values()
returns a named list of option values.
Examples
opt <- new_board_options(
new_board_name_option(),
new_page_size_option()
)
is_board_options(opt)
#> [1] TRUE
names(opt)
#> [1] "board_name" "page_size"
opt[["page_size"]]
#> page_size: 5