标签: shinydashboard

R Shiny app progress加载数据的指标

Shiny是我们的内部BI工具.对于我们的Shiny应用程序,我们在运行shinyServer之前加载数据:

load("afterProcessedData.RData")
# or dt = fread("afterProcessedData.csv")

shinyServer(function(input, output, session){ ...
Run Code Online (Sandbox Code Playgroud)

但是,有些应用程序正在加载大文件,并且最多需要30秒才能加载.许多用户在打开页面时,不知道页面是否已损坏,因为它在加载时卡住了.他们可能会关闭它或点击过滤器,这可能会导致错误.在这种情况下,进度条将非常有用.我注意到withProgress()可能有所帮助,但它必须在里面reactive()renderXx().

我可以做的一种方法是在内部laod()扭曲,但我担心的是它会降低性能.我的用户非常关心响应性能.reactive()shinyServer(function(input, output, session){

对这种情况有什么建议吗?

编辑:我想有一个简单的方法来做到这一点.我有另一个想法.也许我可以在屏幕上显示一条文字说'数据正在加载',但是我必须让它在第一个表出现后消失.但是,我不知道如何设置条件.下面是我的代码显示第一个表:

dashboardBody(
fluidRow( 
  tabBox(width = 12,
         tabPanel("Summary",
                  dataTableOutput("data1")),
Run Code Online (Sandbox Code Playgroud)

先感谢您!

r shiny shinydashboard

7
推荐指数
1
解决办法
3570
查看次数

密码输入后启动Shiny app(使用Shinydashboard)

在这个主题中很好地解释了如何在输入一些密码后启动shinyapp.我正在尝试做同样的事情,但我想要一个"dashboardPage"而不是"navbarPage".

我试图将do.call函数形式'navbarPage'中的参数更改为'dashboardPage',但应用程序崩溃了.

rm(list = ls())
library(shiny)

Logged = FALSE;
my_username <- "test"
my_password <- "test"

ui1 <- function(){
  tagList(
    div(id = "login",
        wellPanel(textInput("userName", "Username"),
                  passwordInput("passwd", "Password"),
                  br(),actionButton("Login", "Log in"))),
    tags$style(type="text/css", "#login {font-size:10px;   text-align: left;position:absolute;top: 40%;left: 50%;margin-top: -100px;margin-left: -150px;}")
  )}

ui2 <- function(){tagList(tabPanel("Test"))}

ui = (htmlOutput("page"))
server = (function(input, output,session) {

  USER <- reactiveValues(Logged = Logged)

  observe({ 
    if (USER$Logged == FALSE) {
      if (!is.null(input$Login)) {
        if (input$Login > 0) {
          Username <- isolate(input$userName)
          Password <- isolate(input$passwd)
          Id.username <- which(my_username …
Run Code Online (Sandbox Code Playgroud)

css r shiny shinydashboard

7
推荐指数
1
解决办法
7223
查看次数

R Shiny showNotification

我正在寻找自定义Shiny的showNotification功能.

https://gallery.shinyapps.io/116-notifications/

我希望在屏幕中间生成消息而不是右下角.我不认为这可以本地设置,但我希望有人会建议如何实现这一目标.

谢谢

css r shiny shinydashboard

7
推荐指数
1
解决办法
3546
查看次数

Shiny + CSS:在shinydashboard侧边栏中对齐actionButtons

我试图将一些actionButtons放在shinydashboard侧边栏中,并且需要将它们设置为在侧边栏中居中并在分配给它们的空间内水平分布.

这是一个MWE:

library(shiny)
library(shinydashboard)

foo_body = dashboardBody()
foo_header = dashboardHeader()
foo_sidebar = dashboardSidebar(
  sidebarMenu(
    menuItem(
      "A Dashboard", 
      tabName = "tab_overview",
      icon = icon("gamepad")  
    )
  ),
  # add some buttons
  actionButton(inputId = "button1", label = "B 1", icon = icon("paper-plane")),
  actionButton(inputId = "button2", label = "B 2", icon = icon("paper-plane")),
  actionButton(inputId = "button3", label = "B 3", icon = icon("paper-plane"))
)

foo_page = dashboardPage(
  header = foo_header,
  sidebar = foo_sidebar,
  body = foo_body,
  title = "A Dashboard" …
Run Code Online (Sandbox Code Playgroud)

css r shiny shinydashboard

6
推荐指数
2
解决办法
5754
查看次数

在闪亮的仪表板中对齐标题元素

我正在努力shinydashboard为一个闪亮的应用程序增添一点活力,但在页面上定位某些元素(例如徽标)时遇到了麻烦。我发现这个答案对于增加标题的高度非常有用,但我无法完全解决对齐问题。

在此处输入图片说明

徽标和浮动汉堡包和边缘之间的左侧和右侧(红色椭圆形)仍有空间。我能够移动汉堡包的唯一方法是增加titleWidth = "92%"标题的相对大小 ( ) 以容纳更长的标题,但是如果调整窗口大小,菜单折叠切换最终会出现在奇怪的地方。中间的文字我想垂直居中。

一件巧妙的事情shinydashboard是,如果窗口变窄,则正文内容会重新排列,以便这些值框堆叠。但是,如果更改标题高度以容纳徽标,则副作用是:

倒塌

标题与某些内容重叠。我是 css 新手,但对 AdminLTE.css 和 _all-skins.css 使用的一些挖掘shinydashboard让我更接近一些:

library(shiny)
library(shinydashboard)

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

ui <- dashboardPage(
  title = "ShinyApp",
  header = dashboardHeader(
    tags$li(
      class = "dropdown",
      tags$style(
        ".main-header {max-height: 100px; 
                      font-size:24px; 
                      font-weight:bold; 
                      line-height:24px;}"),
      tags$style(
        ".main-header .logo {height: 100px;
                             font-size:24px; 
                             font-weight:bold; 
                             line-height:24px;align:}"
      )
    ),
    title = HTML(
      "<div style = 'background-color:#3333cc; vertical-align:middle'>
       <img src = 'http://www.clipartbest.com/cliparts/nTX/8nj/nTX8njyEc.jpeg' align = 'left' height = …
Run Code Online (Sandbox Code Playgroud)

css r shiny shinydashboard adminlte

6
推荐指数
1
解决办法
7275
查看次数

Shiny Modal:根据里面的内容自动调整宽度

我试图让我的模态根据里面的内容调整它的宽度。根据模态,我将有各种长度的按钮,我宁愿不为此格式化每个模态。

下面是我的代码:

library(shiny)
library (shinydashboard)

header <- dashboardHeader(title = "MRO Dash")
sidebar <- dashboardSidebar(actionButton("downloadBT", "Downloads", icon = icon("download")))

####FORMATTING MODAL HERE###
body <- dashboardBody(
  tags$head(tags$style("#test .modal-content {width: auto;}"))
  )
############################

ui <- dashboardPage(header, sidebar, body)

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

  myModal <- function() {
    div(id = "test",
      modalDialog(downloadButton("download1","Download Shipments tonight let's go"),
                  br(),
                  br(),
                  downloadButton("download2","Download Shipments"),
                  easyClose = TRUE, footer = NULL)
    )
  }

  # open modal on button click
  observeEvent(input$downloadBT,
               ignoreNULL = TRUE,   # Show modal on start …
Run Code Online (Sandbox Code Playgroud)

css modal-dialog shiny shinydashboard

6
推荐指数
1
解决办法
1199
查看次数

在 ShinyDashboardPlus 中完全折叠左侧边栏

ShinyDashboardPlus具有左侧边栏菜单折叠但仍显示图标的功能。问题在于,它不会隐藏放置在侧边栏中的任何按钮或输入选择。

我正在寻找以下两种解决方案:

1)像常规一样完全折叠侧边栏shinydashboard(隐藏按钮和输入)

2) 保持左侧菜单按原样折叠,并在部分折叠时以某种方式隐藏这些功能

下面是我的代码来显示这个问题:

library(shiny)
library(shinydashboard)
library(shinydashboardPlus)

header <- dashboardHeaderPlus(
      enable_rightsidebar = TRUE,
      rightSidebarIcon = "filter"
    )

sidebar <- dashboardSidebar(
  sidebarMenu(id = "menuChoice",
              menuItem("Tab 1", tabName = "Tab1", icon = icon("globe"))
  ),
  actionButton("Test", "Download", icon = icon("download")),
  selectInput(inputId = "TestChoice",label = "Selection", selected="Choice1",
              choices = c("Choice1","Choice2","Choice3"))
)

body <- dashboardBody()

rightsidebar <- rightSidebar()

ui <- dashboardPagePlus(header, sidebar, body, rightsidebar)

server <- function(input, output) {}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

html css r shinydashboard

6
推荐指数
1
解决办法
1345
查看次数

图片作为闪亮仪表板的背景

我想在我闪亮的仪表板应用程序中更改背景。我在互联网功能 setBackgroundImage ( https://rdrr.io/cran/shinyWidgets/man/setBackgroundImage.html ) 中受伤。问题是我不知道我是否应该将该功能放在我的应用程序中。例如是经典应用程序,而不是仪表板。

library(shiny)
library(shinydashboard)
library(shinyWidgets)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    setBackgroundImage(src = "http://wallpics4k.com/wp-content/uploads/2014/07/470318.jpg")
  )
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

也可以将传单地图作为背景吗?

background r shiny shinydashboard

6
推荐指数
2
解决办法
4801
查看次数

如何更改闪亮仪表板中文本输入的标签颜色

我正在开发闪亮的仪表板表单应用程序。我想将文本输入的颜色更改为红色,以便我可以将该字段显示为必填字段。但是,我尝试了对于 dateInput 但不适用于 textInput 的代码。

我正在开发闪亮的仪表板表单应用程序,我想将文本输入的颜色更改为红色,以便我可以将该字段显示为必填字段。但是,我尝试了下面列出的代码,该代码对于 dateInput 但不适用于 textInput。

column(3,wellPanel(dateInput('dateTR',format = "dd-mm-yyyy",
label = 'Date*',width = "200px",value = Sys.Date()))),
tags$style(type="text/css", "#dateTR {color : red;}"),

column(3, wellPanel(textInput ('textR', label = "Name*", value = "", width = "200px",placeholder = "--Enter name--"))),
tags$style(type="text/css", "#textR {color: red}"),
Run Code Online (Sandbox Code Playgroud)

对于上面的 dateInput ,它工作正常,但对于 textInput 则不然,如屏幕截图所示,我希望标签:名称显示为红色。

在此输入图像描述

r shiny shinydashboard

6
推荐指数
1
解决办法
3631
查看次数

如何在导航栏页面布局中插入值框?

我正在尝试添加valueBox到在navbarpage布局中创建的闪亮应用程序,我知道阀箱是 Shinydashboard 包的一部分,但这个应用程序让我想知道我应该如何实现下面是应用程序的图像,这是实时应用程序 图片

这是我使用以下代码进行的试验,小部件重叠并影响所有选项卡面板上的导航栏外观。

# Function for adding dependencies
library("htmltools")
addDeps <- function(x) {
  if (getOption("shiny.minified", TRUE)) {
    adminLTE_js <- "app.min.js"
    adminLTE_css <- c("AdminLTE.min.css", "_all-skins.min.css")
  } else {
    adminLTE_js <- "app.js"
    adminLTE_css <- c("AdminLTE.css", "_all-skins.css")
  }

  dashboardDeps <- list(
    htmlDependency("AdminLTE", "2.0.6",
                   c(file = system.file("AdminLTE", package = "shinydashboard")),
                   script = adminLTE_js,
                   stylesheet = adminLTE_css
    ),
    htmlDependency("shinydashboard",
                   as.character(utils::packageVersion("shinydashboard")),
                   c(file = system.file(package = "shinydashboard")),
                   script = "shinydashboard.js",
                   stylesheet = "shinydashboard.css"
    )
  )

  shinydashboard:::appendDependencies(x, dashboardDeps)
}

library("shiny")
# ui …
Run Code Online (Sandbox Code Playgroud)

r shiny shinydashboard flexdashboard

6
推荐指数
1
解决办法
1500
查看次数