私はminiUIを使用してシャイニーガジェットを構築しています。ミニUIを使った光沢のあるガジェットの画面読み込み
library(shiny)
library(shinyjs)
library(miniUI)
sampleApp <- function() {
ui <- miniPage(
gadgetTitleBar("Sample App"),
miniTabstripPanel(
miniTabPanel(
"Panel 1",
fillCol(div("Content of Panel 1"))
),
miniTabPanel(
"Panel 2",
fillCol(div("Content of Panel 2"))
),
between = p("") # Needed later on to avoid error in shinyjs::hidden()
)
)
server <- function(input, output) {
}
runGadget(ui, server, viewer = dialogViewer("Sample dialog"))
}
sampleApp()
I:https://github.com/daattali/advanced-shiny/blob/master/loading-screen/app.Rは
ここでガジェットがどのように見えるかの小さな例です:ガジェットは、いくつかの準備作業を行い、このシンプルで便利なソリューションを実装しようとしている間、私はロード画面を表示したいと思います私の例に画面コードを読み込む方法をいくつか試してみました。私は非表示にするには、コンテンツを取得するように見えることはできません。miniTabstripPanel周りに隠された
・プレイス()():
library(shiny) library(shinyjs) library(miniUI) appCSS <- " #loading-content { position: absolute; background: #000000; opacity: 0.9; z-index: 100; left: 0; right: 0; height: 100%; text-align: center; color: #FFFFFF; } " sampleApp <- function() { ui <- miniPage( useShinyjs(), inlineCSS(appCSS), # Loading message div( id = "loading-content", h2("Loading...") ), # The main app code goes here gadgetTitleBar("AppTitle"), hidden( miniTabstripPanel( miniTabPanel( "Panel 1", fillCol(div("Content of Panel 1")) ), miniTabPanel( "Panel 2", fillCol(div("Content of Panel 2")) ), between = p("") # Needed later on to avoid error in shinyjs::hidden() ), id = "app-content" ) ) server <- function(input, output) { # Simulate work being done for 1 second Sys.sleep(1) # Hide the loading message when the rest of the server function has executed hide(id = "loading-content", anim = TRUE, animType = "fade") show("app-content") } runGadget(ui, server, viewer = dialogViewer("Sample dialog")) } sampleApp()
のdiv内のコンテンツラップ()。
- この回答https://stackoverflow.com/a/32386689/5664232
ありがとうございました。それは実現可能な解決策であり、私は当分の間それを持って行きます。また、編集中に失ったカンマを修正しました。そのために残念。 – msenn