teal_data_module
This is a low level module to handle teal_data_module
execution and validation.
teal_transform_module()
inherits from teal_data_module()
so it is handled by this module too.
srv_teal()
accepts various data
objects and eventually they are all transformed to reactive
teal.data::teal_data()
which is a standard data class in whole teal
framework.
ui_teal_data_module(id, data_module = function(id) NULL)srv_teal_data_module(
id,
data_module = function(id) NULL,
modules = NULL,
validate_shiny_silent_error = TRUE,
is_transform_failed = reactiveValues()
)
ui_validate_reactive_teal_data(id)
srv_validate_reactive_teal_data(
id,
data,
modules = NULL,
validate_shiny_silent_error = FALSE,
hide_validation_error = reactive(FALSE)
)
reactive
teal_data
(character(1)
) shiny
module instance id.
(teal_data_module
)
(teal_modules
or teal_module
) For datanames
validation purpose
(logical
) If TRUE
, then shiny.silent.error
is validated and
(reactiveValues
) contains logical
flags named after each transformator.
Help to determine if any previous transformator failed, so that following transformators can be disabled
and display a generic failure message.
(reactive
returning teal_data
)
Executed teal_data_module()
is validated and output is validated for consistency.
Output data
is invalid if:
teal_data_module()
is invalid if server doesn't return reactive
. Immediately crashes an app!
reactive
throws a shiny.error
- happens when module creating teal.data::teal_data()
fails.
reactive
returns qenv.error
- happens when teal.data::teal_data()
evaluates a failing code.
reactive
object doesn't return teal.data::teal_data()
.
teal.data::teal_data()
object lacks any datanames
specified in the modules
argument.
teal
(observers in srv_teal
) always waits to render an app until reactive
teal_data
is
returned. If error 2-4 occurs, relevant error message is displayed to the app user. Once the issue is
resolved, the app will continue to run. teal
guarantees that errors in data don't crash the app
(except error 1).