4

What do I add to the ui part of shiny that will make my #loadmessage blink? I've seen things like this

How to make blinking/flashing text with css3?

However, I'm not sure how to implement this in R.

I have the following loading feature in my ui code:

tags$head(tags$style(type="text/css", 
                      "#loadmessage {
                       position: fixed;
                       top: 50%;
                       left: 50%;
                       ocacity: 0.50; 
                       opacity: 0.0;
                       text-align: center;
                       font-weight: bold;
                       font-size: 300%;
                       color: #000000;
                       z-index: 105;
                       }"))


  conditionalPanel(condition="$('html').hasClass('shiny-busy')",tags$div("Loading...",id="loadmessage"))
Community
  • 1
  • 1

1 Answers1

4

Like this probably?

library(shiny)

ui <- shinyUI(
  fluidPage(
    tags$head(tags$style(type="text/css", 
      "#loadmessage {
        position: fixed;
        top: 50%;
        left: 50%;
        ocacity: 0.50; 
        text-align: center;
        font-weight: bold;
        font-size: 300%;
        color: #000000;
        z-index: 105;
        animation: blinker 1s linear infinite;
      }")),

    conditionalPanel(condition="$('html').hasClass('shiny-busy')",
      tags$div("Loading...",id="loadmessage"),
      tags$script(HTML("
        (function blink() { 
          $('#loadmessage').fadeOut(500).fadeIn(500, blink); 
        })();
      "))
    ),
    actionButton("action", "action")
  )
)

server <- function(input, output){
  observeEvent(input$action, {
    Sys.sleep(3)
  })
}

shinyApp(ui, server)
K. Rohde
  • 9,439
  • 1
  • 31
  • 51