Module to create a teal app as a Shiny Module.
Usage
ui_teal(id, modules)
srv_teal(id, data, modules, filter = teal_slices())Arguments
- id
(
character(1))shinymodule instance id.- modules
(
teal_modules)teal_modulesobject. These are the specific output modules which will be displayed in thetealapplication. Seemodules()andmodule()for more details.- data
(
teal_data,teal_data_module, orreactivereturningteal_data) The data which application will depend on.- filter
(
teal_slices) Optionally, specifies the initial filter usingteal_slices().
Details
This module can be used instead of init() in custom Shiny applications. Unlike init(), it doesn't
automatically include module_session_info.
Module is responsible for creating the main shiny app layout and initializing all the necessary
components. This module establishes reactive connection between the input data and every other
component in the app. Reactive change of the data passed as an argument, reloads the app and
possibly keeps all input settings the same so the user can continue where one left off.
data flow in teal application
This module supports multiple data inputs but eventually, they are all converted to reactive
returning teal_data in this module. On this reactive teal_data object several actions are
performed:
data loading in
module_init_datadata filtering in
module_filter_datadata transformation in
module_transform_data
Fallback on failure
teal is designed in such way that app will never crash if the error is introduced in any
custom shiny module provided by app developer (e.g. teal_data_module(), teal_transform_module()).
If any module returns a failing object, the app will halt the evaluation and display a warning message.
App user should always have a chance to fix the improper input and continue without restarting the session.