2017-01-23 9 views
0

Задача под рукой проста - я хочу иметь возможность настраивать стиль CSS во всплывающем окне «Листовки» в приложении «Блестящее». Я попытался объединить решения от this и this пример безрезультатно.Как создать пользовательский стиль всплывающего буклета в Shiny/R

Используя оба вышеупомянутых связанных решений, вот некоторые (не удалось) Пример кода:

library(shiny) 
library(leaflet) 

shinyApp(
    ui <- fluidPage(

     tags$head(includeCSS(system.file('www', 'style.css', package = 'myPackage'))), 

     leafletOutput("map", width = "100%", height = "800") 
    ), #END UI 


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

    output$map <- renderLeaflet({ 
     leaflet() %>% 
     addTiles() %>% 
     addCircles(lng = -80, lat = 30, radius = 100, popup = as.character("Test")) 
    }) #END RENDERLEAFLET 
    } 
) 

Файл style.css выглядит так и сохраняется в папке www внутри моей блестящей директории приложения:

<style> 

.custom-popup .leaflet-popup-content-wrapper { 
    background: #DB0925; 
    color:#fff; 
    font-size:16px; 
    line-height:24px; 
    } 
.custom-popup .leaflet-popup-content-wrapper a { 
    color:rgba(255,255,255,0.5); 
    } 
.custom-popup .leaflet-popup-tip-container { 
    width:30px; 
    height:15px; 
    } 
.custom-popup .leaflet-popup-tip { 
    border-left:15px solid transparent; 
    border-right:15px solid transparent; 
    border-top:15px solid #2c3e50; 
    } 
</style> 

<div class='custom-popup' id='map'></div> 

Я подозреваю, что путь к моему файлу css является проблемой. Когда я запускаю этот код как есть, я получаю следующую ошибку:

Warning in file(con, "r") : file("") only supports open = "w+" and open = "w+b": using the former

Любые решения, как заставить это работать?

+1

Вы ссылаетесь на свой css неправильно. Посмотрите здесь: https://shiny.rstudio.com/articles/css.html Если вы просто измените тег $ head на 'theme =" style.css ", он будет работать –

ответ

1

Icaro Bombonato привел меня к решению! Вместо tags$head(includeCSS(system.file('www', 'style.css', package = 'myPackage'))), все, что было необходимо, было includeCSS("style.css") в пользовательском интерфейсе. Файл style.css также размещался в моей главной папке Shiny, а не в папке www.

 Смежные вопросы

  • Нет связанных вопросов^_^