2016-04-08 18 views
2

Ich arbeite an einem Dashboard und ich möchte ein dynamisches Popup erstellen, dh wir können uns bewegen. Ich kann ein Pop-up erstellen, aber dies ist statisch, Ich mag, dass man es nehmen und es nach rechts bewegen, links ...RShiny dynamisches Popup (kann sich bewegen)

Ein Beispiel für mein Pop-up:

library(shiny) 
library(shinyBS) 

shinyApp(

    ui = 
    fluidPage(
     sidebarLayout(
     box(actionButton("tabBut", "View Table")), 
     mainPanel(
      bsModal("modalExample", "Data Table", "tabBut", size = "large", 
        dataTableOutput("distTable"))))), 

    server = 
    function(input, output, session) { 
     output$distTable <- renderDataTable({ 
     x <- faithful[, 2] 
     bins <- seq(min(x), max(x), length.out = 30 + 1) 
     tab <- hist(x, breaks = bins, plot = FALSE) 
     tab$breaks <- sapply(seq(length(tab$breaks) - 1), function(i) { 
      paste0(signif(tab$breaks[i], 3), "-", signif(tab$breaks[i+1], 3))}) 
     tab <- as.data.frame(do.call(cbind, tab)) 
     colnames(tab) <- c("Bins", "Counts", "Density") 
     return(tab[, 1:3])}, 
     options = list(pageLength=10))} 
) 

result

Und ich möchte, dass der Benutzer dieses Fenster verschieben kann. Wenn Sie Ideen der Option haben, zu ändern, oder so, wenn Sie ein anderes Mittel als BS Shiny kennen, um ein neues Fenster zu erstellen ...

Vielen Dank im Voraus und Entschuldigung für mein Englisch!

+0

Check out [Superzip-Beispiel] (http://shiny.rstudio.com/gallery/superzip-example.html) um zu sehen, wie sie 'absolutePa verwendet haben nel', mit dem Sie 'ziehbare = T' hinzufügen können. Sollte Ihnen geben, was Sie mit minimalem Aufwand suchen. – brittenb

+0

Danke, in der Tat funktioniert auch das absolutePanel. – CClaire

Antwort

0

können Sie versuchen, es manyally zu tun:

1) hinzufügen Skript

2) hinzufügen ziehbar

3) bearbeiten css

wie:

ui = 
    fluidPage(
     tags$head(HTML('<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
        <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>')), 
     tags$script(HTML(' $(window).load(function(){ 
         $("#modalExample").draggable({ 
         handle: ".modal-header" 
            }); 
            });')), 
      tags$style(HTML(" 
      .modal-backdrop.in { 
       opacity: 0; 
      }  
       ")), 
     sidebarLayout(
     box(actionButton("tabBut", "View Table")), 
     mainPanel(

      bsModal("modalExample", "Data Table", "tabBut", size = "large", 
        dataTableOutput("distTable"))))) 
+0

Ja, Danke, es funktioniert gut! – CClaire

Verwandte Themen