Блестящий: CSS номер информационного ящика класса - PullRequest
0 голосов
/ 07 мая 2020

Приносим извинения за недостаток знаний CSS / HTML в применении к Shiny. Я использую R версии 3.6.2, пытаюсь изменить цвет значения в виджете infoBox. Значение определяется на основе реактивного входа. В частности, значение изменяется на основе ложного условия, и я хотел бы, чтобы «Отключено» было красным, а «Подключено» зеленым. Ниже представлены сегменты кода из пользовательского интерфейса / сервера.

UI

tags$div(id="Server",style="display:inline-block",infoBoxOutput("progressBox")),

Сервер

output$progressBox <- renderInfoBox({

output$progressBox <- renderInfoBox({
  infoBox("Status", value = ifelse(isTruthy(input$player_names),'Disconnected','Connected'), icon = icon('thumbs-up'),color = 'black',
  )
})

Мне удалось изменить цвет на основе атрибутов CSS как указано ниже. Однако я изо всех сил пытался изменить цвет на основе указанного c значения «Отключено» и «Подключено». Любая помощь высоко ценится.

span[class^="info-box-number"]{color:green}

Большое спасибо.

1 Ответ

1 голос
/ 07 мая 2020

Вы можете сделать:

  output$progressBox <- renderInfoBox({
    color <- ifelse(isTruthy(input$player_names), 'red', 'green')
    style <- paste0("color: ", color)
    text <- ifelse(isTruthy(input$player_names), 'Disconnected', 'Connected')
    infoBox(
      "Status", 
      value = HTML(as.character(tags$span(text, style = style))), 
      icon = icon('thumbs-up'), 
      color = 'black'
    )
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...