Shiny

UI Dynamique

Updating Input

  • Il est possible de mettre à jours des inputs
  • Pour quelle raison faire cela?
  • reset, creer des hierarchies, etc…

Updating Input

2 formats:

  • Update***Input() + ObserveEvent()
  • renderUI() + uiOutput()

Update***Input()

Tous les types d’inputs peuvent être mis à jours:

  • updateDateInput()
  • updateNumericInput()
  • updateSliderInput()
  • updateSelectInput()
  • Toujours la même syntaxe

Update***Input()

Tous les types d’inputs peuvent être mis à jours:

  • updateDateInput()
  • updateNumericInput()
  • updateSliderInput()
  • updateSelectInput()
  • Toujours la même syntaxe

Update***Input()

Tous les types d’inputs peuvent être mis à jours:

  • updateDateInput()
  • updateNumericInput()
  • updateSliderInput()
  • updateSelectInput()
  • Toujours la même syntaxe

Update***Input()

Les paramètres :

  • update***Input( session, id, ...)


Utilisation :

  • observeEvent(input$***,{
                update***Input(session, id, ... )})

Exemple

Instructions

  • Tester le code
  • Ajouter un selectInput se basant sur name
  • Faire en sorte qu’il dépende de subgroup

renderUI() + uiOutput()

  • renderUI() pour la partie Server
  • uiOutput() pour la partie UI

Avantages

  • Optimiser le niveau de dynamisme
  • Regenerer l’interface

Exemple

Instructions

  • Reprendre la dernière App créee
  • Utiliser renderUI et uiOutput pour créer les inputs

Récapitulatif

Input dynamique

  • update***Input(): Mettre à jour un input déjà existant, fonctionne bien avec observeEvent()
  • renderUI(): Créer un input depuis le server et l’afficher dans l’UI uiOuput()

Questions?