Я использую Javascript для раскрашивания SVG в пункте меню боковой панели, когда ссылка активна. Работает по желанию. Но это нарушает функциональность боковой панели. Я имею в виду, что когда я нажимаю на меню боковой панели, он не показывает контент, прикрепленный к элементу вкладки. Если я удалю весь JS, он будет работать.
library(shinydashboard)
# User Interface
ui <-
dashboardPage(
dashboardHeader(title = "Basic Use of JS and CSS"),
dashboardSidebar(
sidebarMenu(
menuItem(
text = "Overview",
tabName = "summary",
icon = icon("home")
),
menuItem(
text = "REOs Stock",
tabName = "reo",
icon = icon("table")
)
)),
dashboardBody(
tags$head(
tags$script(HTML("
$(document).ready(function() {
$('svg').addClass('svg-outline')
$('.side-menu li.active .svg-outline').addClass('svg-outline2')
$('.side-menu li.active a').attr('aria-expanded','true')
$('.side-menu li').on('click', function() {
if ($('.side-menu li').hasClass('active')) {
$('.side-menu li.active .svg-outline').removeClass('svg-outline2')
$('.side-menu li.active').removeClass('active')
}
$(this).addClass('active')
$('.side-menu li.active .svg-outline').addClass('svg-outline2')
})
});
"))),
tabItems(
tabItem(
"summary", box(p("1st tab"))),
tabItem(
"reo", box(p("2nd tab"))
))
))
server = function(input, output) { }
runApp(list(ui = ui, server = server), launch.browser =T)