Shiny
Rendre l’App plus attrayante :
shinyFeedback()shinyalert()withSpinner()library(shinyFeedback)
ui <- fluidPage(
useShinyFeedback(),
numericInput("n", "n", value = 10),
textOutput("half")
)
server <- function(input, output, session) {
observeEvent(input$n,
feedbackWarning(
"n",
input$n %% 2 != 0,
"Entrez un nombre pair"
)
)
output$half <- renderText(input$n / 2)
}
shinyApp(ui, server)
req()req(input$n %% 2 == 0)ui <- fluidPage(
useShinyFeedback(),
numericInput("n", "n", value = 10),
textOutput("half")
)
server <- function(input, output, session) {
half <- reactive({
even <- input$n %% 2 == 0
feedbackWarning("n", !even, "Please select an even number")
req(even)
input$n / 2
})
output$half <- renderText(half())
}
shinyApp(ui, server)
{shinyalert}install.packages("shinyalert")useShinyalert()shinyalert(title,text,type)library(shinyalert)
ui <- fluidPage(
useShinyalert(),
numericInput("n", "n", value = 10),
textOutput("half")
)
server <- function(input, output, session) {
observeEvent(input$n,
{ if(input$n %% 2 != 0){
shinyalert("Oops!",
"Entrez un chiffre pair",
type = "error")
}
}
)
output$half <- renderText(input$n / 2)
}
shinyApp(ui, server){shinycssloaders}install.packages("shinycssloaders")withSpinner()library(shinycssloaders)
ui <- fluidPage(
numericInput("n", "n", value = 10),
actionButton("go", "Go"),
br(), br(),
withSpinner(
textOutput("half")
)
)
server <- function(input, output, session) {
half_val <- eventReactive(input$go,{
input$n / 2
})
output$half <- renderText({
Sys.sleep(1.5)
half_val()
})
}
shinyApp(ui, server)shinyFeedback(): Vérifier que l’input est valide shinyalert(): Créer un Pop-Up withSpinner(): Ajouter un loader