2016-09-27 16 views
-1

Нажатие на кнопку - единственный способ создать окно bsmodal?Как открыть bsmodal shiny R

Возможно ли, например, щелкнуть по главному меню и открыть окно bsmodal?

Спасибо заранее

+0

Всегда хорошо, что у вас код добиться того, чего вы хотите – jbkunst

ответ

0

В highchars (и затем highcharter), вы должны использовать JavaScript события. Вы можете узнать, когда пользователь нажимает несколько рядов на диаграмме. В частности, вы можете использовать что-то вроде этого, используя ответ, данный @Skalbhile с помощью JQuery и имя модальной в:

highchart() %>% 
     hc_chart(type = "column") %>% 
     hc_add_series(data = c(1, 2, 3)) %>% 
     hc_add_series(data = c(2, 1, 3), name = "other data") %>% 
     hc_plotOptions(
     series = list(
      point = list(
      events = list(
       click = JS("function(){ 
         /* alert(this.series.name + ' ' + this.category); */ 
         /* here you activate trigger the modal */ 
         $('#modalExample').modal('show'); 
         }") 
      ) 
      ) 
     ) 
     ) 

Итак, наконец, демо может быть:

library(shiny) 
library(shinyBS) 
library(highcharter) 

shinyApp(
    ui = 
    fluidPage(
    highchartOutput("chart"), 
    bsModal("modalExample", "Data Table", "tabBut", size = "large", 
      "Modal Content") 
), 
server = 
function(input, output, session) { 

    output$chart <- renderHighchart({ 

    highchart() %>% 
     hc_chart(type = "column") %>% 
     hc_add_series(data = c(1, 2, 3)) %>% 
     hc_add_series(data = c(2, 1, 3), name = "other data") %>% 
     hc_plotOptions(
     series = list(
      point = list(
      events = list(
       click = JS("function(){ 
         /* alert(this.series.name + ' ' + this.category); */ 
         /* here you activate trigger the modal */ 
         $('#modalExample').modal('show'); 
         }") 
      ) 
      ) 
     ) 
     ) 
    }) 


}) 
0

Вы можете сделать это программно

ас-
$("#modal_id").modal('show'); 
+0

Должен ли я использовать этот фрагмент кода в функции функции javascript для кликов? Если я это сделаю: bsModal («modal_id», «Таблица данных», xxxxx, size = «large», dataTableOutput («distTable»))), каково должно быть «xxxxx», которое обычно обозначает предупреждение кнопки? – hsilva