Learn R Programming

shiny.router (version 0.3.1)

router_ui: Create router UI

Description

Creates router UI in Shiny applications.

Usage

router_ui(default, ..., page_404 = page404(), env = parent.frame())

Value

Application UI wrapped in a router.

Arguments

default

Main route to which all invalid routes should redirect.

...

All other routes defined with shiny.router::route function. It's possible to pass routes in dynamic way with dynamic dots. See dynamic-dots and example below

page_404

Styling of page when invalid route is open. See page404.

env

Environment (only for advanced usage), makes it possible to use shiny.router inside shiny modules.

Details

If you are defining the router inside a shiny module, we assume that the namespacing function defined in the UI is named as ns.

Examples

Run this code
if (FALSE) {
  ui <- function() {
    router_ui(
      route("/", root_page(id = "root")),
      route("other", other_page(id = "other")),
      page_404 = page404(
        message404 = "Please check if you passed correct bookmark name!")
    )
  }
}
if (FALSE) {
  # create the list of routes
  dynamic_routes <- list(
    route("other2", other_page(id = "other2")),
    route("other3", other_page(id = "other3"))
  )

  ui <- function() {
    router_ui(
      route("/", root_page(id = "root")),
      route("other", other_page(id = "other")),
      # then it's possible to inject a list of arguments into a function call using rlang::`!!!`
      !!!dynamic_routes,
      page_404 = page404(
        message404 = "Please check if you passed correct bookmark name!")
    )
  }
}

Run the code above in your browser using DataLab