Skip to contents

Generates the UI for the modular report builder tab. Called once in the app UI definition.

Usage

av_ui_report_builder()

Value

A shiny::tagList suitable for embedding in a bslib::nav_panel().

Examples

ui <- av_ui_report_builder()
class(ui)
#> [1] "shiny.tag.list" "list"          

# The tab is two divs: a toolbar and the container the server fills with
# one card per report block.
vapply(ui, function(tag) tag$name, character(1))
#>             
#> "div" "div" 

# These IDs are the contract with av_server_report_builder(): the toolbar
# inputs it observes plus the "rb_block_list" output it renders into.
html <- as.character(ui)
unique(regmatches(html, gregexpr("rb_[a-z_]+", html))[[1]])
#> [1] "rb_add_block"          "rb_download_report"    "rb_save_yaml"         
#> [4] "rb_load_yaml"          "rb_load_yaml_progress" "rb_block_list"