2015-12-17 9 views
6

Gibt es eine Möglichkeit, eine Art von Text auf shinydashboard mit Word Wrap? Das Standardverhalten scheint darin zu liegen, dass es in den Körperbereich überläuft.shinydashboard Sidebar Menü Überlauf

Ich möchte vermeiden, CSS direkt zu ändern, aber wenn es eine Problemumgehung gibt, die CSS als Teil des Servers/UI-Code selbst zu ändern, dann bin ich dafür offen.

ui <- dashboardPage(
    dashboardHeader(
     title = "Sidebar spill" 

    ), 
    dashboardSidebar(
     sidebarMenu(
     menuItem(text = "sfsdf sfaosh oas fwue wi aseiu wehw wuer woeur owuer ") 
     ) 
    ), 
    dashboardBody(
     fluidRow(

    ) 
    ) 
) 

server <- function(input, output) { 

} 

shinyApp(ui, server) 
} 
+0

Das klingt wie etwas, das durch Festlegen Ihrer CSS gelöst werden kann. Etwas wie dieses: http://www.w3schools.com/cssref/css3_pr_word-wrap.asp – Shape

+0

Ich habe es und einige andere CSS-Tricks auch versucht, aber war nicht in der Lage, eine Lösung zu erhalten. Das Beste, was ich geschafft habe, sind Scrollbars mit 'overflow'. – TheComeOnMan

+0

Wenn Sie es als Teil des Codes ändern möchten, können Sie immer 'tags $ head (Tags $ style (PUTCSSCODEHERE))' 'verwenden. Sie können Ihre CSS-Dateien immer programmatisch einfügen, wenn Sie diese Tags von einem 'renderUI' zurückgeben möchten. – Shape

Antwort

0

was ist so etwas wie dies

... 
    dashboardSidebar(
    sidebarMenu(
     tags$div(class="header", checked=NA, 
       tags$p("sfsdf sfaosh oas fwue", tags$br(), "wi aseiu wehw wuer woeur owuer") 
    ) 
    ) 
), 
... 
+0

Dies würde für diesen Einzelfall funktionieren. Es funktioniert möglicherweise nicht auf verschiedenen Displays oder mit anderen Elementen. – TheComeOnMan

+0

vielleicht sollten Sie ein weiteres Beispiel (oder wie Sie sagen, eine andere Anzeige) zu Ihrer Frage hinzufügen :) – MLavoie

+0

Immer wenn ich den Text ändere, muss ich die Platzierung von 'Tags $ br()' neu berechnen. Aus diesem Grund wird es bei verschiedenen Artikeln nicht funktionieren. – TheComeOnMan

2

Die Datei "AdminLTE.min.css" (diese Version davon sowieso in dieser Version von Shinydashboard) gibt "white-space: nowrap wichtig" für die "sidebar-menu" -Klasse sowie "li" -Elemente mit der Klasse "header", die direkte Nachfolger von Elementen mit der Klasse "sidebar-menu" sind. Ich habe gesehen, dass die "li" -Elemente im Sidebar-Menü meiner Shinydashboard-Anwendung nicht die "header" -Klasse haben, also überschreibe ich "white-space: nowrap! Wichtig" (das wurde angewendet, weil das "ul" -Element die Menü ist der Klasse "sidebar-menu") durch Hinzufügen der folgenden CSS zu einer benutzerdefinierten CSS-Datei:

.sidebar-menu > li { 
    white-space: normal; 
}