将JS代码保存到RCloud Asset Book中并在Shiny中调用
Saving JS Code into RCloud Asset Book and Calling it in Shiny
如何将 java 脚本代码放入资产簿中并以闪亮的代码调用它?在让它工作时遇到一些麻烦。我需要找到一种方法在 RCloud 的资产簿中获取它,并且能够在 Rcloud 中调用它,而无需在线参考代码
#Link to JS Code I am trying to save inside Rcloud
tinymce.cachefly.net/4.0/tinymce.min.js
# Call asset to provide JS Code
tinymce.fn.source <- rcloud.get.asset("tinymce.js", notebook=assetsNotebook)
来源(文本连接(tinymce.fn.source))
Side Text Panel Code
fluidRow(
singleton(tags$head(tags$script(src ="tinymce.fn.source"))),
column(12, offset = 0,
hr(),
h4('Side Panel Text'),
uiOutput("editor1"))),
我改编了this example from The Dub World:
library(rcloud.shiny)
library(shiny)
ui <- shinyUI(
fluidPage(tags$head(tags$script(src='/notebook.R/6a4819a38814bdad910e837f0c4de702/tinymce.min.js')),
# Application title
fluidRow(
titlePanel('tinyMCE Modal Example'),
br(),
actionButton('modal', 'Modal Example', icon=icon('paper-plane-o'), class='btn-success', style='margin-left:15px;',`data-toggle`='modal', `data-target`='#modalExample'),
br(),br(),
tags$pre(htmlOutput('modalText')),
### Modal ###
tags$div(class='modal fade', id='modalExample', tabindex='-1', role='dialog',`aria-labelledby`='modalExample', `aria-hidden`='true',
tags$div(class='modal-dialog', role='document',
tags$div(class='modal-content',
tags$div(class='modal-header', tags$button(type='button', class='close', `data-dismiss`='modal', `aria-label`='Close', tags$span(`aria-hidden`='true', 'x')),tags$h4(class='modal-title', 'HTML Editor in a modal')),
tags$div(class='modal-body', tags$form(method='post', tags$textarea(id='modalEditor')),tags$script("tinymce.init({selector:'#modalEditor', theme: 'modern', height: 200});")),
tags$div(class='modal-footer',tags$button(type='button', class='btn btn-primary', `data-dismiss`='modal', onclick="Shiny.onInputChange('modalTextArea',tinyMCE.get('modalEditor').getContent());",'Close')))
)
)
)
)
)
server <- function(input, output, session) {
output$modalText <- renderUI({
req(input$modalTextArea)
HTML(enc2utf8(input$modalTextArea))
})
}
rcloud.shinyApp(ui=ui, server=server)
我将 JS 保存到我的桌面,然后使用文件上传 GUI 加载 勾选上传到笔记本框 创建一个 RCloud 资产:
单击 RCloud 资产部分中的 link 图标,您将看到加载为 notebook.R 静态资产的 JS 代码:
The notebook.R interface (web service) allows you to call a static asset using the relative path of your notebook...因此您可以在其他笔记本中创建函数并使用该路径调用它们,例如。
如何将 java 脚本代码放入资产簿中并以闪亮的代码调用它?在让它工作时遇到一些麻烦。我需要找到一种方法在 RCloud 的资产簿中获取它,并且能够在 Rcloud 中调用它,而无需在线参考代码
#Link to JS Code I am trying to save inside Rcloud
tinymce.cachefly.net/4.0/tinymce.min.js
# Call asset to provide JS Code
tinymce.fn.source <- rcloud.get.asset("tinymce.js", notebook=assetsNotebook) 来源(文本连接(tinymce.fn.source))
Side Text Panel Code
fluidRow(
singleton(tags$head(tags$script(src ="tinymce.fn.source"))),
column(12, offset = 0,
hr(),
h4('Side Panel Text'),
uiOutput("editor1"))),
我改编了this example from The Dub World:
library(rcloud.shiny)
library(shiny)
ui <- shinyUI(
fluidPage(tags$head(tags$script(src='/notebook.R/6a4819a38814bdad910e837f0c4de702/tinymce.min.js')),
# Application title
fluidRow(
titlePanel('tinyMCE Modal Example'),
br(),
actionButton('modal', 'Modal Example', icon=icon('paper-plane-o'), class='btn-success', style='margin-left:15px;',`data-toggle`='modal', `data-target`='#modalExample'),
br(),br(),
tags$pre(htmlOutput('modalText')),
### Modal ###
tags$div(class='modal fade', id='modalExample', tabindex='-1', role='dialog',`aria-labelledby`='modalExample', `aria-hidden`='true',
tags$div(class='modal-dialog', role='document',
tags$div(class='modal-content',
tags$div(class='modal-header', tags$button(type='button', class='close', `data-dismiss`='modal', `aria-label`='Close', tags$span(`aria-hidden`='true', 'x')),tags$h4(class='modal-title', 'HTML Editor in a modal')),
tags$div(class='modal-body', tags$form(method='post', tags$textarea(id='modalEditor')),tags$script("tinymce.init({selector:'#modalEditor', theme: 'modern', height: 200});")),
tags$div(class='modal-footer',tags$button(type='button', class='btn btn-primary', `data-dismiss`='modal', onclick="Shiny.onInputChange('modalTextArea',tinyMCE.get('modalEditor').getContent());",'Close')))
)
)
)
)
)
server <- function(input, output, session) {
output$modalText <- renderUI({
req(input$modalTextArea)
HTML(enc2utf8(input$modalTextArea))
})
}
rcloud.shinyApp(ui=ui, server=server)
我将 JS 保存到我的桌面,然后使用文件上传 GUI 加载 勾选上传到笔记本框 创建一个 RCloud 资产:
单击 RCloud 资产部分中的 link 图标,您将看到加载为 notebook.R 静态资产的 JS 代码:
The notebook.R interface (web service) allows you to call a static asset using the relative path of your notebook...因此您可以在其他笔记本中创建函数并使用该路径调用它们,例如。