https://github.com/AdamSpannbauer/snakeLoadR
small R package to add the snake game as a loader in a shiny app
https://github.com/AdamSpannbauer/snakeLoadR
r r-package shiny shinyapps snake-game
Last synced: 4 months ago
JSON representation
small R package to add the snake game as a loader in a shiny app
- Host: GitHub
- URL: https://github.com/AdamSpannbauer/snakeLoadR
- Owner: AdamSpannbauer
- License: mit
- Created: 2018-01-21T16:03:55.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-30T19:21:03.000Z (about 7 years ago)
- Last Synced: 2024-11-23T04:33:54.033Z (5 months ago)
- Topics: r, r-package, shiny, shinyapps, snake-game
- Language: R
- Homepage: https://adamspannbauer.github.io/2018/01/21/snake-game-shiny-loader/
- Size: 2.92 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - AdamSpannbauer/snakeLoadR - small R package to add the snake game as a loader in a shiny app (R)
README
# 🐍 Snake Loading Screen 🐍
A single function R package to add the snake game to a shiny app while long running output is recalculating. I did not write the snake game itself; the game code came from [Gamkedo
](https://www.youtube.com/watch?v=xGmXxpIj6vs).### Install
```r
devtools::install_github("AdamSpannbauer/snakeLoadR")
```### Example Output
![]()
### Usage
See [this repo](https://github.com/AdamSpannbauer/shiny_snake_loader) for code used to make app in gif.
#### Minimal Shiny App Using `snakeLoadR`
```r
library(shiny)
library(snakeLoadR)shinyApp(
shinyUI(
fluidPage(
fluidRow(
column(width=10, offset=1, algin="left",
actionButton("my_button", "Start Fake 30 Second Job"),
uiOutput("my_output")
)
),
snakeLoadR::snake_loader(outputId = "my_output",
header = "Play Snake while you wait!",
controls = TRUE)
)
),
shinyServer(function(input, output) {
output$my_output <- renderUI({
if(input$my_button != 0) Sys.sleep(30)
HTML(paste0("Fake job completed
"))", input$my_button,"
times!
})
})
)
```