A bsModal
window in shiny
app comes with a default Close
button. Is there a way that can be disabled? I tried to look up on SO for similar questions, but didn't find one matching my requirements. I think, if a user can close the window using the top right corner X
button, there is not really a need for another Close
button. Please advise. Following reproducible code will generate a sample bsModal
window to understand my question.
library(shiny)
library(shinyBS)
if(interactive()){
shinyApp(
ui <- fluidPage(
actionButton("open", "Open"), #action button to trigger the modal window.
bsModal("id1", "Box 1", "open", size = "small",
HTML(paste("A simple modal window."))
)
),
server <- function(input,output,session){
}
)
}
This should do it
library(shiny)
library(shinyBS)
if(interactive()){
shinyApp(
ui <- fluidPage(
actionButton("open", "Open"), #action button to trigger the modal window.
bsModal("id1", "Box 1", "open", size = "small",
HTML(paste("A simple modal window.")),
tags$head(tags$style("#id1 .modal-footer{ display:none}"))
)
),
server <- function(input,output,session){
}
)
}
Alternatively to @PorkChop's solution, you can write the modal without shinyBS
:
library(shiny)
shinyApp(
ui <- fluidPage(
tags$button(class="btn btn-default",
"data-toggle"="modal", "data-target"="#simplemodal",
"Open modal"),
tags$div(
id = "simplemodal",
class="modal fade", role="dialog",
tags$div(
class="modal-dialog",
tags$div(
class="modal-content",
#### Header ####
tags$div(
class="modal-header",
tags$button(
type="button", class="close", "data-dismiss"="modal",
HTML("×")
)
),
#### Body ####
tags$div(
class="modal-body",
HTML("A simple modal window")
),
#### Footer (remove it if you want) ####
tags$div(
class="modal-footer",
tags$button(
type="button", class="btn btn-default", "data-dismiss"="modal",
"Close"
)
)
)
)
)
),
server <- function(input,output,session){
}
)