Интеграция между Shiny App и Datacamp Light - бесплатный код - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь интегрировать приложение для самокодирования из Datacamp в мое Shiny App, этот код является простым примером того, что я пытаюсь сделать.

Я пытался использовать HTMLФункция и положить:

tags$script(HTML("type = 'text/javascript' src = 'https://cdn.datacamp.com/datacamp-light-latest.min.js'")

Но я просто получаю пустое поле на моей веб-странице.

ui.R

library(shiny)
library(shinydashboard)

menu <- sidebarMenu(
  menuItem('Index', tabName = 'index')
)

integration <- tabItem(tabName = 'index',
                       fluidRow(
                         box(
                           withd = 12,
                           title = 'Code',
                           tags$script(type = 'text/javascript', src = 'https://cdn.datacamp.com/datacamp-light-latest.min.js')
                         )
                         )
                       )

shinyUI(
  dashboardPage(
    header = dashboardHeader(title = 'R Code'),
    sidebar = dashboardSidebar(menu),
    body = dashboardBody(
      tabItems(
        integration
        )
      )
    )
  )

server.R

library(shiny)

shinyServer(function(input, output) {

})

1 Ответ

0 голосов
/ 30 сентября 2018

На DataCamp Light Github они показывают другой ресурс для включения:

<script type="text/javascript" src="//cdn.datacamp.com/dcl-react.js.gz"></script>

И, копируя HTML-код в блестящее приложение R, я получаю виджет сейчас,но все еще есть некоторая проблема сеанса, поскольку отправка результата невозможна.Но Подсказки / Решения таковы:

Консоль браузера жалуется на:

Source-Map-Fehler: Error: sourceMapURL could not be parsed

Я также попытался включить initAddedDCLightExercises() на основе описания github, но это не изменило проблему сеанса.

tags$head(tags$script('$( document ).ready(function() {
                              initAddedDCLightExercises();
                            });')),

Приложение ---

library(shiny)
library(shinydashboard)

ui <- shinyUI(
  dashboardPage(
    header = dashboardHeader(title = 'R Code'),
    sidebar = dashboardSidebar(menu),
    body = dashboardBody(
      tags$head(tags$script(type = 'text/javascript', src = '//cdn.datacamp.com/dcl-react.js.gz')),
      HTML('
        <div data-datacamp-exercise data-lang="r">
          <code data-type="pre-exercise-code">
          # This will get executed each time the exercise gets initialized
          b = 6
        </code>
          <code data-type="sample-code">
          # Create a variable a, equal to 5


          # Print out a


          </code>
          <code data-type="solution">
          # Create a variable a, equal to 5
          a <- 5

        # Print out a
        print(a)
        </code>
          <code data-type="sct">
          test_object("a")
        test_function("print")
        success_msg("Great job!")
        </code>
          <div data-type="hint">Use the assignment operator (<code><-</code>) to create the variable <code>a</code>.</div>
          </div>'
      )
    )
  )
)

server <- function(input, output) {}

shinyApp(ui, server)

enter image description here

...