updateRadioGroupButtons_dsfr

updateRadioGroupButtons_dsfr(
  inputId,
  label = NULL,
  choices = NULL,
  selected = NULL,
  inline = FALSE,
  session = shiny::getDefaultReactiveDomain()
)

Arguments

inputId

id de l'input

label

label du bouton

choices

Liste des valeurs à sélectionner (si les éléments de la liste portent un nom, c'est ce nom qui est affiché à l'utilisateur et non la valeur)

selected

Element sélectionné (NULL par défaut)

inline

Si TRUE, positionne les choix en ligne (c'est-à-dire horizontalement).

session

la session, la valeur par défaut est getDefaultReactiveDomain().

Valeur de retour

html

Examples

if (interactive()) {
  library(shiny)
  library(shinygouv)

  ui <- fluidPage_dsfr(
    header = header_dsfr(
      intitule = "Intitule",
      officiel = "Officiel",
      nom_site_service = "Nom du site / service",
      baseline = "baseline - precisions sur l organisation",
      class = "fr-m-1w"
    ),
    title = "Exemple",
    fluidRow_dsfr(
      radioGroupButtons_dsfr(
        inputId = "espece_radiogroupbutton",
        label = "Especes (radio group button avec inline = FALSE)",
        choices = c("Setosa" = "setosa", "Versicolor" = "versicolor", "Virginica" = "virginica"),
        selected = "virginica",
        inline = FALSE
      )
    ),
    fluidRow_dsfr(
      actionButton_dsfr(
        inputId = "update_radiogroupbutton_label",
        label = "Update label"
      ),
      actionButton_dsfr(
        inputId = "update_radiogroupbutton_choices",
        label = "Update choices and inline"
      ),
      actionButton_dsfr(
        inputId = "update_radiogroupbutton_selected",
        label = "Update selected"
      )
    ),
    fluidRow_dsfr(
      verbatimTextOutput(outputId = "outputespece_radiogroupbutton")
    )
  )

  server <- function(input, output, session) {
    output$numericinputvalue <- renderText({
      paste("La valeur de l'input est", input$mynumericinput)
    })

    r <- reactiveValues()

    output$outputespece_radiogroupbutton <- renderText({
      paste("Esp\u00e8ce radiogroupbutton :", input$espece_radiogroupbutton)
    })


    observeEvent(input$update_radiogroupbutton_label, {
      updateRadioGroupButtons_dsfr(
        inputId = "espece_radiogroupbutton",
        label = paste0(sample(LETTERS, size = 12), collapse = ""),
        session = session
      )
    })

    observeEvent(input$update_radiogroupbutton_choices, {
      r$radiogroupubutton_choices <- sapply(1:3, function(x) paste0(sample(LETTERS, size = 3), collapse = ""))

      updateRadioGroupButtons_dsfr(
        inputId = "espece_radiogroupbutton",
        choices = r$radiogroupubutton_choices,
        inline = TRUE,
        session = session
      )
    })

    observeEvent(input$update_radiogroupbutton_selected, {
      updateRadioGroupButtons_dsfr(
        inputId = "espece_radiogroupbutton",
        selected = sample(r$radiogroupubutton_choices, size = 1),
        session = session
      )
    })
  }

  shinyApp(ui, server)
}