https://github.com/rsquaredacademy/standby
Loading screens, alerts and notifications for Shiny
https://github.com/rsquaredacademy/standby
alerts loaders modals notifications r-package rstats shiny spinners tooltips
Last synced: 2 months ago
JSON representation
Loading screens, alerts and notifications for Shiny
- Host: GitHub
- URL: https://github.com/rsquaredacademy/standby
- Owner: rsquaredacademy
- License: gpl-3.0
- Created: 2022-08-01T09:52:40.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T07:33:54.000Z (4 months ago)
- Last Synced: 2024-11-27T10:35:59.077Z (3 months ago)
- Topics: alerts, loaders, modals, notifications, r-package, rstats, shiny, spinners, tooltips
- Language: JavaScript
- Homepage: https://standby.rsquaredacademy.com
- Size: 776 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- jimsghstars - rsquaredacademy/standby - Loading screens, alerts and notifications for Shiny (JavaScript)
README
---
output: github_document
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```# standby
[](https://cran.r-project.org/package=standby)
[](https://cran.r-project.org/web/checks/check_results_standby.html)
[](https://github.com/rsquaredacademy/standby/actions/workflows/R-CMD-check.yaml)
[](https://app.codecov.io/gh/rsquaredacademy/standby?branch=master)
[](https://CRAN.R-project.org/package=standby)
[](https://lifecycle.r-lib.org/articles/stages.html)Easily create alerts, notifications, tooltips and loading screens in Shiny
## Installation
```{r cran-installation, eval = FALSE}
# Install release version from CRAN
install.packages("standby")# Install development version from GitHub
# install.packages("devtools")
devtools::install_github("rsquaredacademy/standby")
```## Usage
### Loading Screens
To use spinners/loaders from **standby** in your Shiny application, include the
following in the **UI** part of the app:- Include the dependencies using the appropriate `use*` functions
(`useSpinkit()` in the below example).
- Wrap the target output using corresponding rendering function
(`spinkit()` in the below example).##### Example
```{r standby, eval=FALSE}
library(shiny)
library(standby)ui <- fluidPage(
standby::useSpinkit(), # include dependencies
fluidRow(
standby::spinkit(plotOutput("plot1")), # wrap output inside loader
actionButton("render", "Render")
))
server <- function(input, output, session) {
output$plot1 <- renderPlot({
input$render
Sys.sleep(3)
hist(mtcars$mpg)
})}
shinyApp(ui, server)
```#### Details
The below table displays the dependency and rendering functions along with references:
| Index | Dependency | Render | Reference |
| ------| ------------- | ------------- | ------------- |
| 1 | `useThreeDots()` | `threeDots()` | [Three Dots](https://github.com/nzbin/three-dots) |
| 2 | `useSpinkit()` | `spinkit()` | [SpinKit](https://github.com/tobiasahlin/SpinKit) |
| 3 | `useVizLoad()` | `vizLoad()` | [Loading Visualization](https://github.com/RIDICS/Loading-Visualization) |
| 4 | `useSpinners()` | `spinners()` | [Spinners](https://github.com/lukehaas/css-loaders) |
| 5 | `useLoaders()` | `loaders()` | [Loaders](https://github.com/raphaelfabeni/css-loader) |### Alerts and Notifications
To use alerts or notifications from **buzz** in your Shiny application, follow the below steps:
- Include the dependencies in the **UI** part of the app using the appropriate
`use*` functions (`useToast()` in the below example).
- Include the corresponding rendering function in the **Server** part of the
app (`toast()` in the below example).##### Example
```{r buzz, eval=FALSE}
library(shiny)
library(standby)
ui <- fluidPage(
useBootBox(), # include dependencies
actionButton(inputId = "notify",
label = "Show Notification")
)
server <- function(input, output, session) {
observeEvent(input$pnotify, {
bootBox(class = "rubberBand") # display the alert
})
}
shinyApp(ui, server)
```#### Details
The below table displays the dependency and rendering functions along with references:
| Index | Dependency | Render | Reference |
| ------| ------------- | ------------- | ------------- |
| 1 | `useAlertify()` | `alertify_alert()` | [Alertify](https://github.com/MohammadYounes/AlertifyJS) |
| 2 | `useAlertify()` | `alertify_notify()` | [Alertify](https://github.com/MohammadYounes/AlertifyJS) |
| 3 | `useBootBox()` | `bootBox()` | [BootBox](https://github.com/bootboxjs/bootbox) |
| 4 | `useMicroTip()` | `microTip()` | [MicroTip](https://github.com/ghosh/microtip) |
| 5 | `useNS()` | `notice()` | [Notification Styles](https://tympanus.net/Development/NotificationStyles/) |
| 6 | `useNotify()` | `notify()` | [PNotify](https://github.com/sciactive/pnotify) |
| 7 | `useTingle()` | `tingle()` | [Tingle](https://github.com/robinparisi/tingle) |
| 8 | `useToast()` | `toast()` | [iziToast](https://github.com/marcelodolza/iziToast) |## Getting Help
If you encounter a bug, please file a minimal reproducible example using
[reprex](https://reprex.tidyverse.org/index.html) on github. For questions and clarifications,
use [StackOverflow](https://stackoverflow.com/).## Code of Conduct
Please note that the standby project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.