modalGSVAUI <- function(id){
ns <- NS(id)
showModal(
modalDialog(
size="l",
title = "GSVA calculations",
div(id="install.text", "Calculating, please wait... "),
div(p("\n")),
verbatimTextOutput(ns("text")),
footer = actionButton(ns("cancel"), "Cancel"))
)
}
modalGSVAServer <- function(id, console.text, gsva.cancel, rout){
moduleServer(
id,
function(input, output, session){
output$text <- renderText({
req(console.text())
max <- length(console.text())
if(max>1){
paste(console.text()[1], console.text()[max], sep= "\n")
} else {
console.text()
}
})
observeEvent(input$cancel, {
removeModal()
gsva.cancel(TRUE)
write("", file=rout)
# changing plan() is the only and recommended way to safely 'interrupt' a future process:
# https://github.com/HenrikBengtsson/future/issues/93
plan(sequential)
plan(multisession)
})
}
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.