I've created a pop-up with the popify function from the shinyBS package in Shiny. I want to have a pop-up on the bottom of my filter that is as wide as my filter itself. I can't find anything in the documentation about this.
screenshot:
Example code:
library(shiny)
library(shinyBS)
shinyApp(
ui =
fluidPage(
sidebarLayout(
sidebarPanel(
tags$span(
popify(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30),
'a very long popup',"1. I want everything behind 1 on one line and everything that starts after
2. I want to see on the second line without wrapping it to the 3rd line.")),
actionButton("tabBut", "View Table")
),
mainPanel(
plotOutput("distPlot"),
bsModal("modalExample", "Data Table", "tabBut", size = "large",
dataTableOutput("distTable"))
)
)
),
server =
function(input, output, session) {
output$distPlot
x
bins
# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
output$distTable
x
bins
# draw the histogram with the specified number of bins
tab
tab$breaks
paste0(signif(tab$breaks[i], 3), "-", signif(tab$breaks[i+1], 3))
})
tab
colnames(tab)
return(tab[, 1:3])
}, options = list(pageLength=10))
}
)
解决方案
You could try adding some CSS to do this.
In your sidebar panel you could add:
tags$style(".popover{
max-width: 100%;
}")
If this is not big enough, you can add options=list(container="body") in your popify to make body the holder which allows for the popup to be as large as the page.
There is more info here, I adapted that answer to R.