summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaeem Model <me@nmode.ca>2024-05-09 20:34:03 +0000
committerNaeem Model <me@nmode.ca>2024-05-09 20:34:03 +0000
commite467a82539557b156b8d348d6cd0947cdcd1fc44 (patch)
tree624c650b2b5699c556e5bb32f25bc0c9e840d208
parentbd947aec1f45184154fc32a442953a3950e76c76 (diff)
Add Shiny app dependencies add specify entry point
-rw-r--r--DESCRIPTION9
-rw-r--r--NAMESPACE3
-rw-r--r--R/app.R33
3 files changed, 30 insertions, 15 deletions
diff --git a/DESCRIPTION b/DESCRIPTION
index 586a139..7a5b6e8 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -11,16 +11,17 @@ Description: A collection of methods for estimating the basic reproduction
number (R0) of infectious diseases. Optionally available as a web
application using the 'shiny' framework.
License: AGPL (>= 3)
-URL: https://github.com/MI2Labs/Rnaught
-BugReports: https://github.com/MI2Labs/Rnaught/issues
+URL: https://github.com/MI2YorkU/Rnaught
+BugReports: https://github.com/MI2YorkU/Rnaught/issues
Imports:
- methods,
stats,
utils
Suggests:
knitr,
rmarkdown,
- shiny
+ shiny,
+ bslib,
+ DT
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
diff --git a/NAMESPACE b/NAMESPACE
index 42ad282..1557cc1 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -5,9 +5,6 @@ export(id)
export(idea)
export(seq_bayes)
export(wp)
-importFrom(methods,is)
importFrom(stats,pgamma)
importFrom(stats,qgamma)
importFrom(utils,install.packages)
-importFrom(utils,read.csv)
-importFrom(utils,write.csv)
diff --git a/R/app.R b/R/app.R
index 945f9e4..01f35b4 100644
--- a/R/app.R
+++ b/R/app.R
@@ -4,16 +4,33 @@
#'
#' @export
app <- function() {
+ missing_pkgs <- c()
+ # Check for any missing, required packages.
if (!requireNamespace("shiny", quietly = TRUE)) {
- answer <- readline(paste0("The package 'shiny' must be installed to ",
- "launch the Rnaught web application.\nWould you like to install it? ",
- "[Y/n] "))
+ missing_pkgs <- c(missing_pkgs, "shiny")
+ }
+ if (!requireNamespace("bslib", quietly = TRUE)) {
+ missing_pkgs <- c(missing_pkgs, "bslib")
+ }
+ if (!requireNamespace("DT", quietly = TRUE)) {
+ missing_pkgs <- c(missing_pkgs, "DT")
+ }
+
+ # If any of the required packages are missing,
+ # prompt the user to install them.
+ if (length(missing_pkgs) > 0) {
+ cat("The following packages must be installed to run the",
+ "Rnaught web application:\n"
+ )
+ writeLines(missing_pkgs)
+ answer <- readline("Begin installation? [Y/n] ")
- if (answer == "Y" || answer == "y")
- install.packages("shiny")
- else
- stop("Aborting.", call. = FALSE)
+ if (answer == "Y" || answer == "y") {
+ install.packages(missing_pkgs)
+ } else {
+ stop("Aborting due to missing, required packages.", call. = FALSE)
+ }
}
- shiny::shinyApp(ui(), server)
+ shiny::runApp(appDir = system.file("app", package = "Rnaught"))
}