Измените badgeColor из menuItem динамически - PullRequest
0 голосов
/ 22 февраля 2019

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

В моей панели инструментов

  menuItem("Error Dublicates", tabName = "error_dublicates", icon = icon("exclamation-circle"), badgeLabel = textOutput("text_badge_dub")
  )

В моих функциях сервера

   dub = reactive({resultset()[duplicated(resultset()[,0:2]),]})
   dub_count = reactive({NROW(dub())})
   output$text_badge_dub = renderText({ifelse(dub_count()>0, "Errors", "OK")})

resultset () является результатом запроса SQLна основе пользовательского ввода.Если я получу таблицу со строками назад, я хочу ярлык: «Ошибка».Это отлично работает.Затем я попытался:

  menuItem("Error Dublicates", tabName = "error_dublicates", icon = icon("exclamation-circle"), badgeLabel = textOutput("text_badge_dub"), badgeColor = textOutput("text_badge_dub_2")
  )

и добавил

  output$text_badge_dub_2 = renderText({ifelse(dub_count()>0, "red", "green")})

к функциям сервера

И получил ошибку:

Invalid color: <div id="text_badge_dub_2" class="shiny-text-output"></div>. Valid colors are: red, yellow, aqua, blue, light-blue, green, navy, teal, olive, lime, orange, fuchsia, purple, maroon, black.

Я понимаюпроблема, но не могу найти решение.

...