2017-08-02 1 views
0

J'essaie d'inclure des morceaux de code SQL brut dans l'interface utilisateur de mon application Shiny, y compris la mise en évidence du code, mais je ne trouve pas de moyen de le faire directement. En bref sur l'application: je laisse les utilisateurs choisir certains paramètres dans les listes déroulantes, ce qui crée une requête SQL dynamique, et je veux imprimer cette requête pour montrer aux utilisateurs ce qui se passe. Exemple illustratif ici:R Shiny inclure des morceaux de code directement dans l'interface utilisateur

enter image description here

Je pensais y compris un morceau de démarquage, car il apporte automatiquement la mise en évidence de code de la requête SQL, mais ne peut pas trouver un moyen direct de pièces de sortie de code Markdown.

Markdown serait comme:

```sql 
SELECT a 
     ,b 
     ,c 
     ,d 
FROM table1 
``` 

Je sais qu'il est possible de include a complete markdown document, en utilisant includeMarkdown(path). Mais comme la requête est dynamique, je veux afficher directement le contenu de la démarque. Après un peu de googling, je ne pouvais pas trouver un moyen de sortie directe (et baliser) du code SQL dans mon application Shiny. L'aide serait grandement appréciée!

Répondre

0

J'ai trouvé une façon (assez lourde) de résoudre cela, en utilisant le ShinyAce package, qui rend un éditeur de texte dans votre application Shiny.

L'exemple de travail dans Shiny peut être trouvé here. Pour moi, cela signifie que je peux inclure l'objet aceEditor() dans le UI.R et mettre à jour l'instruction SQL (texte simple) côté serveur. Je peux ensuite mettre à jour l'AceEditor en utilisant updateAceEditor(session, "ace", value = sqlQuery)sqlQuery contient la requête SQL simple.