이 질문은 navbarMenus와 shinyjs 패키지의 조합으로 인한 것입니다. 나는 반짝이는 앱을 만들었고이 제안에 따라 사용자 로그인을 추가했습니다 : https://gist.github.com/withr/9001831.shinyjs로 navbarMenus를 숨기는 방법?
로그인 한 사용자에 따라 전체 navbarMenu와 단일 tabPanels를 모두 표시하고 숨기려고합니다. 이제 'admin'이라는 두 명의 사용자가 있습니다. and 'custom'그리고 'admin'의 경우 모든 navbarMenus와 모든 tabPanels가 표시되어야하며 'custom'은 navbarMenu 2 만 가져오고이 메뉴 내에서 tabPanel 22 만 볼 수 있습니다. 이 최소한의 예에서
library(shiny)
library(shinyjs)
# Define UI
ui <-
fluidPage(
titlePanel("NAVBARPAGE"), # title
br(),
################### NAVBAR ############################
navbarPage(
"", # title
################### TABS THEMA #######################
hidden(div(id='m1',
navbarMenu("Menu1",
tabPanel('tab11',plotOutput('tab_11')),
tabPanel('tab12',uiOutput('tab_12'))))),
navbarMenu("Menu2",
tabPanel('tab21',uiOutput('tab_21')),
hidden(div(id='xxx',tabPanel('tab22',uiOutput('tab_22')))))
#######################################################
))
###### SERVER #####
server <- function(input, output,session) {
#Define user
user<-'admin'
observe({
if (user=='admin') {
show('xxx')
show('m1')
}
else {
hide('xxx')
hide(m1)
}
})
# Run the application
shinyApp(ui = ui, server = server)
의 탭 패널 ('tab22')는 숨겨져 있습니다,하지만 난
user<-'custom'
플러스, 첫 navbarMenu 'M1'의 모양을 정의 할 때, 표시되지 않습니다이다 이상하다 - 사실은 숨겨져 있지 않다. 단지 비어있다. 누구든지 도움을 알고 있습니까?
감사합니다. Geovany, 많은 도움이되었습니다. 한 가지 더 궁금한 점이 있습니다. 언급 한 바와 같이 모든 사용자가 숨겨진 콘텐츠를 쉽게 보여줄 수 있습니다. 이유를 설명해 주시겠습니까? 감사. – laurenzo