diff --git a/R/mix.R b/R/mix.R index e6f588eff4fa5129e69f2caeb4e788f9c904e7ab..58d9653b98882883d69bd57f523194d1b908b2d9 100644 --- a/R/mix.R +++ b/R/mix.R @@ -525,9 +525,10 @@ presc.shiny <-function(wd,mode,pal="Dark2",cex=0.75,rt_digits=2,m_digits=4,presc mH="MmHm_mass", blahnh4="MpNH4_mass", blahna="MpNa_mass") - - default_min_rt=0 - default_max_rt=40 + DEFAULT_RT_RANGE=c(0,40) + default_min_rt=DEFAULT_RT_RANGE[1] + default_max_rt=DEFAULT_RT_RANGE[2] + dfdir <- file.path(wd,"prescreen") wd1 <- wd[[1]] @@ -594,7 +595,8 @@ presc.shiny <-function(wd,mode,pal="Dark2",cex=0.75,rt_digits=2,m_digits=4,presc hoverDelayType = NULL, brush = NULL, clickId = NULL, hoverId = NULL), shiny::textInput("plotname", "Insert plot name: (e.g. plotname_%i.pdf)",value="plotCpdID_%i.pdf"), - shiny::actionButton("saveplot", "Save", icon = shiny::icon("save")) + shiny::actionButton("saveplot", "Save", icon = shiny::icon("save")), + shiny::actionButton("saveallplots", "Save All", icon = shiny::icon("save")) ), shinydashboard::box( title = "Compounds", width=5,solidHeader = TRUE, collapsible = TRUE, "", shiny::br(), @@ -712,17 +714,20 @@ presc.shiny <-function(wd,mode,pal="Dark2",cex=0.75,rt_digits=2,m_digits=4,presc get=function() QAlist) } server <- function(input, output, session) { - rv <- shiny::reactiveValues(prescList=list(),prescdf=prescdf,spectProps=spectProps,tags=tags) + rv <- shiny::reactiveValues(prescList=list(), + prescdf=prescdf, + spectProps=spectProps, + tags=tags, + default_range=DEFAULT_RT_RANGE, + no_cmpds=no_cmpds) + output$plot1 <- renderPlot( { i=input$idslider rtrange <- c(input$min_val,input$max_val) plotall(i,rtrange=clean_rtrange(rtrange)) - - - } - ) + }) output$value <- renderText( { @@ -747,6 +752,23 @@ presc.shiny <-function(wd,mode,pal="Dark2",cex=0.75,rt_digits=2,m_digits=4,presc dev.off() }) + shiny::observeEvent(input$saveallplots, + { + i=input$idslider + + message("Save plot button pressed.") + pfn <-input$plotname + if (is.na(pfn)) pfn <- "plotCpdID_%i.pdf" + fn <- sprintf(pfn,i) + rtrange <- c(input$min_val,input$max_val) + pdf(file=fn, width=12, height=8) + for (i in 1:rv$no_cmpds) { + plotall(i,rtrange=rv$default_range) + message("Compound ID ",i," done.") + } + dev.off() + }) + shiny::observeEvent(input$idslider,{ i <- input$idslider tag <- rv$prescdf$tag[[i]]