2017-10-24 14 views
0

私はR Shinyの側面に苦労しています。あなたが助けてくれることを願っています。基本的に、私のアプリの一環として、下に表示されるテーブルを変更するonclick()関数を追加した要約ボックスがあります。ただし、これらのボックスをクリックできることはユーザーには分かりません。私は理想的には、クリック可能な領域の上にカーソルを置いて(R Shinyがドロップダウンメニューなどのように)手にしたいと思っています。しかし、最初に、テーブルに関連して、私はそれが箱のために再作成する方法を見つけ出すことはできませんValueboxカーソルの変更

Change mouse pointer to hand in R Shiny

Cursor change while hovering over shiny widget

:私はここで見つけるの答えを実装しようとしています。 2番目のリンクははるかに有望ですが、実装するたびにページ全体を別のカーソルに変えるように見えます。特定のボックスにクリック可能なカーソルを表示させたいだけです。

私は、使用しているコードの部分(さまざまなビットが別のスクリプトにある)の抽出部分を提供しました。それは重要ではありませんので、私は、空のボックスの実際のコンテンツを残しているが、それは平均の線に沿って何かになり、中央値など私は私がここに適切なすべてのものを得ることができたと思っている

tabItems(
    tabItem(tabName = "summaryStatistics", 
    uiOutput('summary_stats') 
) 

output$summary_stats = renderUI({ 
    div(
    fluidRow(
     valueBoxOutput("W", width = 3), 
     valueBoxOutput("X", width = 3), 
     valueBoxOutput("Y", width = 3), 
     valueBoxOutput("Z", width = 3) 
    ) 
}) 

output$X = renderValueBox({ 
}) 

;もし私が何かを見逃してしまったら、謝罪します。どんなアドバイスも大歓迎です!

答えて

1

あなたはこのCSSですべてのボックスを選択することができます。

.small-box {cursor: pointer;}

または(CSSで#で選択)指定されたIDを持つ専用ボックス付き:用

#W .small-box, #X .small-box, #Y .small-box, #Z .small-box {cursor: pointer;}

利用可能なオプションカーソルはhereと表示されます。 、

library("shiny") 
library("shinydashboard") 

ui <- dashboardPage(
    dashboardHeader(), 
    dashboardSidebar(), 
    dashboardBody(
    # All box with cursor = pointer 
    # tags$style(".small-box {cursor: pointer;}"), 
    # Only box with IDs X, Y, Z, W 
    tags$style("#W .small-box, #X .small-box, #Y .small-box, #Z .small-box {cursor: pointer;}"), 
    uiOutput('summary_stats') 
), 
    title = "Dashboard example" 
) 

server <- function(input, output, session) { 

    output$summary_stats <- renderUI({ 
    div(
     fluidRow(
     valueBoxOutput("W", width = 3), 
     valueBoxOutput("X", width = 3), 
     valueBoxOutput("Y", width = 3), 
     valueBoxOutput("Z", width = 3) 
    ) 
    ) 
    }) 

    output$X <- renderValueBox({ 
    valueBox(value = 1, subtitle = "X") 
    }) 
    output$Y <- renderValueBox({ 
    valueBox(value = 1, subtitle = "Y") 
    }) 
    output$Z <- renderValueBox({ 
    valueBox(value = 1, subtitle = "Z") 
    }) 
    output$W <- renderValueBox({ 
    valueBox(value = 1, subtitle = "W") 
    }) 

} 

shinyApp(ui = ui, server = server) 
+0

アメージングを魔法のように動作します:あなたのアプリと

、それができます!ありがとうございました! – FitzKaos

関連する問題