sidebar Panel erscheint nicht

Alles über shiny web applicationen und plumber APIs

Moderatoren: EDi, jogo

Antworten
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

sidebar Panel erscheint nicht

Beitrag von retep »

Hallo,

ich möchte wieder um Hilfe bitten! Ich habe ein problem, dass ich wieder keine Fehlermeldung bekomme, aber der Screen, welchen ich erwarten sollte, kommt einfach nicht! Und ehrlich gesagt auch die Webrecherche brachte keine soliden Erkenntnisse. Deswegen meine Bitte um Hilfe hier im Forum . Im Anhang habe ich 2 Screenshots Bild Nr. 1 zeigt dass ich möchte das meine Sidebar nur in Abhängigkeit von meiner Eingabe ein bestimmtes Panel zeigt.

Bild Nr. 2 zeigt das Ergebnis, wenn ich versuche ein sogenanntes TabPanel einführe. Diese Unterteilung hilft wesentlich die Anwendung überschaubar zu machen. Beim Einführen des TabPanels funktioniert die Sidebar nicht mehr. Ich hänge auch mal das Script an - in der Hoffnung, das jemand mir sagen kann wo der Komma- oder Klammer-Fehler im Abschnitt MainPanel ist! denn dort vermute ich den Fehler!

ich weiß es ist sehr schwierig vom Screenshot und dem Script den Fehler zu identifizieren - aber vielleicht hat jemand eine Idee?!

Hier das zugehörige Script:

Code: Alles auswählen


library(shinythemes)
##############################################################################################
# build the page 
ui <- navbarPage(theme = shinytheme("darkly"),
                 titlePanel(title = h2(" Grubenwassermonitoring", align = "left")),
                 # start of the right sidebar
                 
                 sidebarLayout(position = "right", fluid = TRUE, 
                               sidebarPanel(p("Made with", a("Shiny",
                                                             href = "http://shiny.rstudio.com"), "."),
                                            titlePanel("Monitoring Data"), width = 2,
                                            
                                            
                                            
                                            
                                            # time series per month
                                            # input Year                            
                                            # Grubenwasseranstieg
                                            conditionalPanel(condition = "input.tabselected == 1",
                                                             pickerInput("checkyear", 
                                                                         tags$b("Wähle Jahr"), 
                                                                         choices = unique(DF1$Year),
                                                                         selected = NULL,
                                                                         multiple = TRUE,
                                                                         options = pickerOptions( 
                                                                           actionsBox = TRUE,
                                                                           title = "Jahr",
                                                                           header = "Auswahl"))),
                                            
                                            br(),
                                            # choose a  month
                                            conditionalPanel(condition = "input.tabselected == 1",
                                                             pickerInput("checkzeche", 
                                                                         tags$b("Zeche"), 
                                                                         choices = unique(DF1$Zeche),
                                                                         selected = NULL,
                                                                         multiple = TRUE,
                                                                         options = pickerOptions( 
                                                                           actionsBox = TRUE,
                                                                           title = "Wähle Zeche",
                                                                           header = "Zeche"))), 
                                            
                                            ########################################################################################################               
                                            # Hydrochemie Grubenwasser
                                            # input Year                            
                                            # single year
                                            conditionalPanel(condition = "input.tabselected == 2",
                                                             checkboxGroupInput("checkjahr", 
                                                                                label = h4("Wähle Jahr"), 
                                                                                choices = unique(DF2$Jahr), inline=T,
                                                                                selected = NULL)),
                                            
                                            br(),
                                            # choose a  zeche
                                            conditionalPanel(condition = "input.tabselected == 2",
                                                             pickerInput("checklocation", 
                                                                         tags$b("Wähle Zeche"), 
                                                                         choices = unique(DF2$Location),
                                                                         selected = NULL,
                                                                         multiple = TRUE,
                                                                         options = pickerOptions( 
                                                                           actionsBox = TRUE,
                                                                           title = "Wähle Zeche",
                                                                           header = "Zeche"))), 
                                            
                                            br(),
                                            # choose a  parameter
                                            conditionalPanel(condition = "input.tabselected == 2",
                                                             pickerInput("checkparameter", 
                                                                         tags$b("Wähle Parameter"), 
                                                                         choices = unique(DF2$Parameter),
                                                                         selected = NULL,
                                                                         multiple = FALSE,
                                                                         options = pickerOptions( 
                                                                           actionsBox = TRUE,
                                                                           title = "Wähle Parameter",
                                                                           header = "Parameter"))),
                                            
                                            ##################################################################################################################################                             
                                            # choose a  Zutritt Lokation
                                            
                                            br(),
                                            
                                            # choose a  parameter
                                            conditionalPanel(condition = "input.tabselected == 3",
                                                             pickerInput("checkliquid", 
                                                                         tags$b("Wähle Parameter"), 
                                                                         choices = unique(DF3$Liquid),
                                                                         selected = NULL,
                                                                         multiple = FALSE,
                                                                         options = pickerOptions( 
                                                                           actionsBox = TRUE,
                                                                           title = "Wähle Liquid",
                                                                           header = "Elementparmeter"))),
                                            ###############################################################################################################
                                            # End of sidebarpanel
                                           
                               ),
                               
                               ################################################################################################################################    
                                # main panel
                               mainPanel(position = "middle", fluid = TRUE, width = 10,
                                         tabsetPanel(type = "tabs", id = "tabselected", selected = 0,
                                                     
                                                     # tabpanel Grubenwasseranstieg
                                                     # Time Serie
                                                     tabPanel("Grubenwasseranstieg", icon = icon("globe", lib="font-awesome"),
                                                              plotlyOutput("zplot", width = 1700, height = 800), value = 1),
                                                     
                                                     #tabpanel Hydrochemie 
                                                     navbarMenu("Grubenwasser", icon = icon("check-circle", lib="font-awesome"),
                                                               tabPanel("Hydrochemie", icon = icon("database", lib="font-awesome"),
                                                                                plotlyOutput("hplot", width = 1700, height = 800), value = 2),
                                                     ),
                                                    
                                                     #tabpanel Zutrittswässer 
                                                     navbarMenu("Zutrittswässer", icon = icon("check-circle", lib="font-awesome"), 
                                                               tabPanel("Hydrochemie",  icon = icon("chart-line"),  
                                                                         plotlyOutput("wplot", width = 1700, height = 800), value = 3),
                                                                
                                                     )
                                                    
                                         )
                                         
                                       ))
                 
)


                                     




# end of main panel
Konkret geht es um den Befehl navbarMenu, dieser ist verknüpft mit dem conditionalPanel(condition = "input.tabselected == 2" als value = 2 und value = 3.

Dabei sollte das Sidebar Panel wieder erscheinen wie in Bild 2! Aber die Bar kommt nicht!!!!!

Hoffentlich hat jemand eine Idee! EIn Versuch ist es wert.

Vielen Dank für Eure Hilfe & Geduld,

retep
Dateianhänge
Das ist Ergebnis des scripts.png
Diese Sidebar brauche ich.png
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: sidebar Panel erscheint nicht - Lösung gefunden

Beitrag von retep »

Hab die Lösung gefunden!

Code: Alles auswählen

mainPanel(position = "middle", fluid = TRUE, width = 10,
                                         tabsetPanel(type = "tabs", id = "tabselected", selected = 1,

Bei Tabselected muss eine Eingabe sein, statt NUll sollte der erste Tab angezeigt werden! Also die "1"

Für alle die die ähnliches vorhaben
Benutzeravatar
student
Beiträge: 609
Registriert: Fr Okt 07, 2016 9:52 am

Re: sidebar Panel erscheint nicht

Beitrag von student »

Danke für die Lösung! :D
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Antworten