ボタンをクリックすることがbsmodalウィンドウを作成する唯一の方法ですか?
たとえば、ハイチャート バーをクリックして bsmodal ウィンドウを開くことは可能ですか?
前もって感謝します
ボタンをクリックすることがbsmodalウィンドウを作成する唯一の方法ですか?
たとえば、ハイチャート バーをクリックして bsmodal ウィンドウを開くことは可能ですか?
前もって感謝します
highchars (および highcharter) では、javascript イベントを使用する必要があります。ユーザーがチャート内のシリーズをクリックしたときに知ることができます。特に、jquery とモーダルの名前を使用して @Skalbhile によって与えられた回答を使用して、次のようなものを使用できます。
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');
}")
)
)
)
)
})
})
次のようにプログラムで実行できます-
$("#modal_id").modal('show');