Kev*_*hey 21
虽然我认为没有任何本机可用shiny
,但您可以尝试添加jQueryUI
到您的应用程序并使用Dialog小部件.见http://jqueryui.com/dialog/.
(不呢?)幸运的是,你将被迫编写一些JavaScript来使它工作.
按照@ GSee的建议,这是一个非常小的例子,说明如何使其发挥作用.
你需要下载jQueryUI并设置一个闪亮的项目,结构如下:
.
??? 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
Run Code Online (Sandbox Code Playgroud)
(所有图像图标都是jQueryUI的一部分)
接下来,将一个名为scripts.js
(或任何您喜欢的)的www/js
文件添加到该文件夹,其中包含以下内容
$( function() {
$("#dialog").dialog();
})
Run Code Online (Sandbox Code Playgroud)
这会调用jQueryUI
dialog
带有id的元素的初始值设定项dialog
.
接下来,有一个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)
})
})
Run Code Online (Sandbox Code Playgroud)
和
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")
))
Run Code Online (Sandbox Code Playgroud)
现在,如果你这样做runApp()
,你应该看到评估你写入文本输入的任何代码的结果console
出现在dialog
框中.
现在,问题是,我们如何最小化它,或者仅在产生错误代码时显示它?我将不得不离开你,因为我认为这将是棘手的.一些选择:
弄清楚如何让我们的R代码发送或触发一些JavaScript来显示或隐藏元素.这里使用此暂时禁用按钮的示例(不是我的).
将(JavaScript)观察者或触发器附加到生成的输出,如果您看到错误(或输出以某种方式符合其他方式),则显示该框; 否则隐藏它.
生成实际的Shiny输入/输出对以根据需要处理行为.(http://rstudio.github.io/shiny/tutorial/#building-inputs上的简要教程)
如果你想从jQueryUI对话框中获得更多,你也可以在这里尝试扩展jQuery-dialogextend .
并且,免责声明:此处的控制台仅用于演示目的; 请不要将任何运行未经过处理的代码的闪亮应用程序放入野外!
归档时间: |
|
查看次数: |
10780 次 |
最近记录: |