Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZRShiny

EZRShiny helps you build multi-page 'shiny' apps that all look and work the same way, with far less code. Describe your app as a set of tabs, fill them with inputs and outputs, and EZRShiny builds the page: navigation bar, logos, app name, sidebars, tooltips and a dark mode switch.

library(EZRShiny)

ui <- UINav(
  appName = "My App",
  barColor = "#1F4E79",

  singleTab("Upload",
    navUpload("dataUpload", "Upload a CSV",
              tooltipText = "CSV files only"),
    navButton("runData", "Run")
  ),

  biLevelTab("Results",
    subSidebarTab("Table",
      sidebarElements = list(navDownload("tableDownload", "Download table")),
      navOutputTable("resultsTable")
    ),
    subTab("Plot",
      navOutputPlot("resultsPlot")
    )
  )
)

Installation

Once EZRShiny is on CRAN:

install.packages("EZRShiny")

Until then, install the latest version from GitHub:

# install.packages("remotes")
remotes::install_github("vari-bbc/EZRShiny")

This skips the "Getting started" guide by default. To install the guide too, so vignette("getting-started", package = "EZRShiny") works (this needs pandoc, which RStudio includes):

remotes::install_github("vari-bbc/EZRShiny", build_vignettes = TRUE)

Or install from a local copy of the folder:

# install.packages("devtools")
devtools::install("path/to/EZRShiny")

Getting started

Start a new app from the template:

EZRShiny::createEZApp("myApp", appName = "My App")
shiny::runApp("myApp")

Or open the example app, which explores who survived the Titanic and uses every kind of tab:

EZRShiny::runExampleApp()

Then read the guide, which covers the folder layout, every tab, input and output function, and the server helpers:

vignette("getting-started", package = "EZRShiny")

What's included

Group Functions
Page UINav()
Top-level tabs singleTab(), sidebarLevelTab(), biLevelTab(), triLevelTab()
Sub tabs subTab(), subSidebarTab(), triSubTab(), triSubSidebarTab(), subTwoColPage()
Inputs navButton(), navSelect(), navUpload(), navDownload(), navCheckbox(), navText(), navNumeric(), navColor(), navDate(), navSpanText()
Outputs navOutputTable(), navOutputPlot(), navOutputPlotly(), navOutputGirafe(), navOutputPic(), sideNavOutputPic(), navOutputText()
Server activateItems(), deactivateItems(), showNavTabs(), hideNavTabs(), startSection(), endSection()
Files sourceFunctions(), createEZApp(), runExampleApp()

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages