2017-08-15 2 views
0

Meine glänzende App hat ein großes Objekt im Cache geladen wird beim Start, mit readRDS(), die in shinyServer() Verarbeitung gehebelt wird, um shinyUI() definierten textOutput() zu füllen.Ausgabe glänzende app Objektdetails in UI

Gibt es einen Trick zu füllen TextOutput UI, die "Laden Cache-Objekt..." Kurz vor dem Aufruf readRDS() und ändert es zu sagen "geladenes Cache-Objekt der Größe, object.size (cacheLoadedObject)" einmal ist fertig geladen? Der Grund, warum dieses bisschen UI-Verhalten von Bedeutung ist, ist, dass die App-Eingabefelder Eingaben akzeptieren, bevor das Objekt von der Festplatte geladen wird. Sie sind jedoch im Wesentlichen nicht funktionsfähig, bis sie von den trigger() - und renderText() textOutput-Aktualisierungen ausgelöst werden kann nicht berechnet werden, bis das zwischengespeicherte Objekt geladen ist.

Sah "glänzende App laden UI" Treffer und hat nichts zu diesem Szenario gefunden.

+0

nur ein Hinweis (ich habe keine Zeit, um wirklich zu untersuchen) - versuchen reaktive Werte zu verwenden: https://shiny.rstudio.com/tutorial/ lesson4/ – xhudik

+0

@xhudik danke für die Antwort. Ja, ich verwende derzeit reactive() generierte Funktion, die ich an einen renderText() -Aufruf übergebe, dessen Ausgabe $ verbatimTextOutputBoxId ausgegeben wird. Das Problem war, dass ich eine Möglichkeit hatte, den Benutzern ein Gefühl dafür zu geben, dass Arbeit getan wurde, bevor sie die Möglichkeit erhielten, Werte in inputText-Steuerelementen einzugeben, wobei der nächste Schritt davon abhängig ist, dass die rds-Cachedatei geladen wurde. – myusrn

Antwort

1

Sie könnten die blinkende Besetztanzeige verwenden, um während des Ladens des Objekts Text anzuzeigen.

shiny app busy indicator

http://deanattali.com/blog/advanced-shiny-tips/#busy-indicator

Zusätzlich können Sie die Eingabefelder (mit shinyjs) beim Laden und ermöglicht ihnen verbergen/deaktivieren, wenn fertig geladen ist: Sie können die folgenden Links interessant finden. Sehen Sie hier für weitere Informationen:

Disable textInput based on radio button selection on Shiny

https://rdrr.io/cran/shinyjs/man/disabled.html

Verwandte Themen