R 添加一个带有错误、警告的弹出窗口

R 添加一个带有错误、警告的弹出窗口,r,shiny,R,Shiny,有没有办法在我用来构建web应用程序的R包中添加一个带有警告或其他消息的弹出窗口 我已经搜索了一段时间,但没有任何结果。虽然我认为在shinny中没有任何本机可用的内容,但您可以尝试将jQueryUI添加到应用程序中并使用对话框小部件。看 (Un?)幸运的是,您将被迫编写一些JavaScript以使其工作 根据@GSee的建议,这里有一个非常简单的例子,说明如何让它工作 您需要下载并设置一个闪亮的项目,其结构如下: . ├── server.R ├── ui.R └── www ├──

有没有办法在我用来构建web应用程序的R包中添加一个带有警告或其他消息的弹出窗口


我已经搜索了一段时间,但没有任何结果。

虽然我认为在
shinny
中没有任何本机可用的内容,但您可以尝试将
jQueryUI
添加到应用程序中并使用对话框小部件。看

(Un?)幸运的是,您将被迫编写一些JavaScript以使其工作


根据@GSee的建议,这里有一个非常简单的例子,说明如何让它工作

您需要下载并设置一个闪亮的项目,其结构如下:

.
├── server.R
├── ui.R
└── www
    ├── css
    │   └── jquery-ui.css
    ├── images
    │   ├── animated-overlay.gif
    │   ├── ui-bg_flat_0_aaaaaa_40x100.png
    │   ├── ui-bg_flat_75_ffffff_40x100.png
    │   ├── ui-bg_glass_55_fbf9ee_1x400.png
    │   ├── ui-bg_glass_65_ffffff_1x400.png
    │   ├── ui-bg_glass_75_dadada_1x400.png
    │   ├── ui-bg_glass_75_e6e6e6_1x400.png
    │   ├── ui-bg_glass_95_fef1ec_1x400.png
    │   ├── ui-bg_highlight-soft_75_cccccc_1x100.png
    │   ├── ui-icons_222222_256x240.png
    │   ├── ui-icons_2e83ff_256x240.png
    │   ├── ui-icons_454545_256x240.png
    │   ├── ui-icons_888888_256x240.png
    │   └── ui-icons_cd0a0a_256x240.png
    └── js
        └── jquery-ui.js
(所有图像图标都是jQueryUI的一部分)

接下来,将名为
scripts.js
(或您喜欢的任何文件)的文件添加到
www/js
文件夹,其中包含以下内容

$( function() {
  $("#dialog").dialog();
})
这将调用id为dialog的元素上的
jQueryUI
对话框
初始值设定项

接下来,创建一个
server.R
ui.R
,如下所示:

server.R
--------
library(shiny)
shinyServer( function(input, output, session) {

  ## a very unsafe, basic access to the R console
  output$dialog <- renderPrint({

    code <- input$console
    output <- eval( parse( text=code ) )
    return(output)

  })

})
现在,如果执行
runApp()
,您应该会看到写入文本输入
控制台的任何代码的计算结果出现在
对话框中

现在的问题是,我们如何最小化它,或者只在产生错误代码时显示它?我必须为你离开,因为我认为这会很棘手。一些选择:

  • 了解如何让R代码发送或触发一些JavaScript来显示或隐藏元素。一个例子(不是我的)使用这个临时禁用按钮是

  • 将(JavaScript)观察者或触发器附加到生成的输出,如果您看到错误(或以某种方式符合输出),则显示该框;否则就把它藏起来

  • 生成实际的输入/输出对,以根据需要处理行为。(简短教程,网址为)

  • 如果您想从jQueryUI对话框中获得更多信息,还可以尝试扩展jQuery对话框extend


    免责声明:此处的控制台仅用于演示目的;请不要将任何运行用户未初始化代码的闪亮应用程序放到野外

    有一个新的R软件包——shinyBS,它将许多twitter引导功能引入到闪亮的提醒、工具提示、弹出窗口、模式对话框、进度条等中


    Bolaka是正确的,安装并加载
    shinyBS
    包,然后运行
    bsExample(“警报”)
    查看一个示例,其中包含可以复制和粘贴的代码。

    如果您展示了一个使用widgetThank对话框的示例shinyBS应用程序,这将是一个很好的答案(谢谢您的提示!)
    ui.R
    ----
    
    library(shiny)
    
    shinyUI(bootstrapPage(
      includeCSS("www/css/jquery-ui.css"),  
    
      includeScript("www/js/jquery-ui.js"),
      includeScript("www/js/scripts.js"),
    
      textInput("console", "Enter an R Command"),
      uiOutput("dialog")
    
    ))