Абсолютное столкновение панели с блестящей боковой панелью панели приборов - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь добавить absolutePanel в свое блестящее приложение на приборной панели. Я хочу, чтобы панель находилась внизу страницы с шириной окна и настраивалась на нее, когда боковая панель видна или нет. Проблема в том, что когда боковая панель открыта, часть панели не видна:

left part of the panel not visible

С другой стороны, если я устанавливаю ширину с левой стороны панели и закрываю боковую панель, то это далеко от левого конца окна:

panel too short

Вот воспроизводимый код:

## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    absolutePanel(
      bottom = 0, left = 0, right = 0, # or left = 300
      fixed = TRUE,
      wellPanel(
        style = "padding: 8px; border-bottom: 1px solid #CCC; background: #FFFFEE;",
        HTML("Save changes?"),
        actionButton("save", "Save"),
        actionButton("cancel", "Cancel")
      )
    )
  )
)

server <- function(input, output) { }

shinyApp(ui, server)

1 Ответ

0 голосов
/ 09 мая 2018

Попробуйте удалить absolutePanel с div, который он производит, добавив достаточно высокий z-index для стиля:

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    div(
      style = "left:0px; right:0px; bottom:0px; position:fixed; cursor:inherit; z-index: 10000;",
      wellPanel(
        style = "padding: 8px; border-bottom: 1px solid #CCC; background: #FFFFEE;",
        HTML("Save changes?"),
        actionButton("save", "Save"),
        actionButton("cancel", "Cancel")
      ) 
    )
  )
)

server <- function(input, output) { }

shinyApp(ui, server)
...