showFeedback: showFeedback

View source: R/showFeedback.R

showFeedbackR Documentation

showFeedback

Description

Show feedback next to Shiny inputs.

Usage

showFeedback(
  inputId,
  text = NULL,
  color = NULL,
  icon = NULL,
  textPosition = "relative",
  session = shiny::getDefaultReactiveDomain()
)

showFeedbackWarning(
  inputId,
  text = "Ye be warned",
  color = "#F89406",
  icon = shiny::icon("warning-sign", lib = "glyphicon"),
  textPosition = "relative",
  session = shiny::getDefaultReactiveDomain()
)

showFeedbackDanger(
  inputId,
  text = "Danger, turn back!",
  color = "#d9534f",
  icon = shiny::icon("exclamation-sign", lib = "glyphicon"),
  textPosition = "relative",
  session = shiny::getDefaultReactiveDomain()
)

showFeedbackSuccess(
  inputId,
  text = NULL,
  color = "#5cb85c",
  icon = shiny::icon("ok", lib = "glyphicon"),
  textPosition = "relative",
  session = shiny::getDefaultReactiveDomain()
)

Arguments

inputId

the Shiny input's inputId argument

text

text string to display below input

color

the color of the feedback

icon

an html icon tag

textPosition

the CSS position for the div containing the feedback text. The default is "relative". Set to "absolute" to keep the text from shifting other elements on the page.

session

the shiny session

Examples


## Only run examples in interacive R sessions
if (interactive()) {
  ui <- fluidPage(
    useShinyFeedback(),
    
    numericInput(
      "exampleInput",
      "Show Feedback When < 0",
      value = -5
    )
  )
  
  server <- function(input, output) {
    observeEvent(input$exampleInput, {
      
      if (input$exampleInput < 0) {
      
        showFeedback(
          "exampleInput",
          text = "I am negative",
          color = "#d9534f",
          icon = shiny::icon("exclamation-sign", lib="glyphicon")
        )
      } else {
        hideFeedback("exampleInput")
      }
      
    })
  }
  
  shinyApp(ui, server)
}


## Only run examples in interacive R sessions
if (interactive()) {
  library(shiny)
  
  ui <- fluidPage(
    useShinyFeedback(),
    
    numericInput(
      "exampleInput",
      "Show Feedback When < 0",
      value = -5
    )
  )
  
  server <- function(input, output, session) {
    observeEvent(input$exampleInput, {
      
      if (input$exampleInput < 0) {
        showFeedbackWarning("exampleInput")
      } else {
        hideFeedback("exampleInput")
      }
      
    })
  }
  
  shinyApp(ui, server)
}


merlinoa/shinyFeedback documentation built on Aug. 17, 2022, 9:47 a.m.