Как вызвать метод javascript в htmlwidget (jsoneditor) в блестящем виде? - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь использовать jsonedit из пакета listviewer в блестящем приложении и хочу, чтобы по умолчанию дерево отображалось полностью развернутым. В функции jsonedit () нет возможности сделать это, но базовый объект javascript имеет метод .expandAll (), который должен это делать. Как мне вызвать этот метод из R shiny? Моя попытка ниже не работает ни в блестящем приложении, ни непосредственно в R.

library(shiny)
library(listviewer)
library(magrittr)
library(htmlwidgets)

x <- list(a=1,b=2,c=list(d=4,e='penguin'))

jsonedit(x, mode = 'view') %>% onRender("function(el,x,data) {this.expandAll();}")

shinyApp(
  ui = shinyUI(
    fluidPage(
      jsoneditOutput( "jsed" )
    )
  ),
  server = function(input, output){
    output$jsed <- renderJsonedit({
      jsonedit(x, mode = 'view') %>% onRender("function(el,x,data) {this.expandAll();}")
    })
  }
)

1 Ответ

1 голос
/ 06 августа 2020
jsonedit(x, mode = 'view') %>% 
  onRender("function(el,x,data) {this.editor.expandAll();}")
...