Блестящий CSS Spinner - PullRequest
       6

Блестящий CSS Spinner

0 голосов
/ 28 июня 2018

В настоящее время я использую пакет Shinycssloaders для добавления анимации загрузчика в Shiny Outputs (например, графики, таблицы) в автоматическом режиме: https://github.com/andrewsali/shinycssloaders.

Непосредственно перед тем, как мое приложение Shiny завершает загрузку, CSS-спиннер останавливается на несколько секунд и затем выводит результат. Похоже, это происходит, когда есть вызов функции shinyapp.js, который занимает около трех секунд, после чего страница загружается. В течение этих трех секунд спиннер заморожен. Есть ли способ исправить эту проблему? Я понимаю, что JavaScript работает в потоке пользовательского интерфейса, поэтому он будет блокировать спиннеры только для CSS, и мне может потребоваться отключить поток пользовательского интерфейса или разделить его, но я не уверен, как это сделать.

Минимально воспроизводимый код (Мое приложение значительно больше, поэтому продолжительность замораживания намного больше):

library(shiny)
library(shinydashboard)
library(shinycssloaders)

ui <- dashboardPage(
title = "Dashboard",
dashboardHeader(title = "Dashboard"),
dashboardSidebar(width = 205, 
sidebarMenu(id = "menutabs",
menuItem("Metrics", tabName = "metrics", icon = icon("bar-chart")))),
dashboardBody(
tabItems(
tabItem("metrics",
fluidRow(box(title = "Metrics", solidHeader = TRUE, status = "primary", collapsible = FALSE, withSpinner(DT::dataTableOutput("CTO"))))))))

server <- function(input, output, session) {

output$CTO <- DT::renderDataTable({
DT::datatable(mtcars, options = list(dom = 't', paging = FALSE))})
}

shinyApp(ui = ui, server = server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...