Полоса прокрутки в абсолютной панели закрывает (и делает неактивной) кнопку действия - PullRequest
0 голосов
/ 19 апреля 2020

У меня блестящее приложение с абсолютной панелью в центре экрана. На этой панели я отобразил длинное изображение. Кроме того, эта панель имеет actionButton() в правом верхнем углу, чтобы закрыть ее.
Если в команде style() абсолютной панели я добавлю код CSS, чтобы вставить вертикальную полосу прокрутки, эта полоса прокрутки (даже если она неактивна) покрывает actionButton, и я больше не могу щелкать по ней. Ниже представ :

library(shiny)
library(shinyjs)

ui <- fluidPage(

  useShinyjs(),

  absolutePanel(
    id = "image_panel",
    fixed = TRUE,
    top = "5%",
    left = "23%",
    right = "23%",
    bottom = "5%",
    width = "auto",
    height = "70%",
    style = "background-color: lightblue;
             overflow-y: scroll;",

    actionButton(inputId = "close_panel",
                 label = icon(name = "times",
                              lib = "font-awesome"),
                 style = "position: absolute;
                          top: 0;
                          right: 0;
                          background-color: rgba(0, 0, 0, 0);
                          border-width: 0px;
                          padding: 0px 5px 0px 0px;
                          z-index: 100000;"),

br(),
br(),

    uiOutput(outputId = "image")

  )

)

server <- function(input, output, session) {

  observeEvent(input$close_panel, {

    hideElement(id = "image_panel")

  })

  output$image <- renderUI({

    tags$img(src = "https://tests-images-bucket.s3.eu-central-1.amazonaws.com/qWgXjZn.png",
             width = "90%")

  })

}

shinyApp(ui, server)

Чтобы решить эту проблему, мне пришлось установить ширину полосы прокрутки в ноль. Но это не лучшее решение. Лучшим решением было бы иметь полосу прокрутки, начинающуюся прямо под кнопкой «X» (чтобы не деактивировать кнопку), и она должна быть видна при прокрутке.

Есть идеи? Спасибо за вашу помощь!

...