Fix download

This commit is contained in:
2019-04-16 16:35:26 +01:00
parent d4d604e3ee
commit b5349eb81a

83
app.R
View File

@@ -81,7 +81,7 @@ ui <- dashboardPage(
#menuItem("Habitats", tabName = "3", icon = icon("atlas")),
#menuItem("Ingestion", tabName = "3", icon = icon("utensils")),
selectInput("modelSelect", "Select MESO model", choices = c(""), selected = NULL, multiple = FALSE),
#downloadButton("download", "", icon = icon("download")),
downloadButton("download", "", icon = icon("download")),
uiOutput("pressureList")
)
),
@@ -621,32 +621,9 @@ server <- function(input, output, session) {
})
export <- function(model) {
export <- function(model, fPath) {
#Get the network graph
l1 <- orca(prepPlot("ba", "Bio-Assemblage"), "tmp/layer1.png")
l2 <- orca(prepPlot("op", "Output Processes"),"tmp/layer2.png")
l3 <- orca(prepPlot("es", "Ecosystem Services"), "tmp/layer3.png")
#Save pressure list, confidence levels, node and edge tables in xlsx
l <- list(
pressures = .selections$pressStatus,
nodes = model$p_es$nodes,
edges = model$p_es$edges,
settings = as.data.frame(cbind(names(.resistanceScores), .resistanceScores), stringsAsFactors = FALSE)
)
xl <- write.xlsx(l, "tmp/dataset.xlsx")
print("saving xlsx file export tmp/dataset.xlsx")
zipFile <- zipr(paste0("tmp/MESO-", format(Sys.time(), "%m%d_%H%M"), ".zip"), c("tmp/layer1.png", "tmp/layer2.png", "tmp/layer3.png", "tmp/dataset.xlsx"))
print(paste("zip file complete", zipFile))
file.remove("tmp/layer1.png")
file.remove("tmp/layer2.png")
file.remove("tmp/layer3.png")
file.remove("tmp/dataset.xlsx")
return(zipFile)
}
@@ -660,19 +637,49 @@ server <- function(input, output, session) {
)
output$download <- downloadHandler(
filename = paste0("MESO-", format(Sys.time(), "%m%d_%H%M"), ".zip"),
filename = function() {paste0("MESO-", format(Sys.time(), "%m%d_%H%M"), ".zip")},
content = function(file) {
#showModal(
# modalDialog(
# fluidRow(
# column(width = 12) %>% withSpinner(type = 5, proxy.height = "200px")
# ),
# footer=div()
# )
#)
fName <- export(modelList[[.selections$model]])
file.copy(fName, file)
#removeModal()
showModal(
modalDialog(
fluidRow(
column(width = 12) %>% withSpinner(type = 5, proxy.height = "200px")
),
footer=div()
)
)
oldDir <- getwd()
tmp <- tempfile("")
print(tmp)
dir.create(tmp)
setwd(tmp)
#Get the network graph
l1 <- orca(prepPlot("ba", "Bio-Assemblage"), "layer1.png")
l2 <- orca(prepPlot("op", "Output Processes"),"layer2.png")
l3 <- orca(prepPlot("es", "Ecosystem Services"),"layer3.png")
#Save pressure list, confidence levels, node and edge tables in xlsx
l <- list(
pressures = .selections$pressStatus,
nodes = modelList[[.selections$model]]$p_es$nodes,
edges = modelList[[.selections$model]]$p_es$edges,
settings = as.data.frame(cbind(names(.resistanceScores), .resistanceScores), stringsAsFactors = FALSE)
)
xl <- write.xlsx(l, "dataset.xlsx")
zipFile <- zipr(file, c("layer1.png", "layer2.png", "layer3.png", "dataset.xlsx"))
print(paste("zip file complete", zipFile))
setwd(oldDir)
unlink(tmp)
removeModal()
},
contentType = "application/zip"
)