mirror of
https://github.com/agdamsbo/FreesearchR.git
synced 2026-06-19 04:27:30 +02:00
72 lines
2.2 KiB
Text
72 lines
2.2 KiB
Text
|
|
% Generated by roxygen2: do not edit by hand
|
||
|
|
% Please edit documentation in R/version_check.R
|
||
|
|
\name{check_app_version}
|
||
|
|
\alias{check_app_version}
|
||
|
|
\title{Run a startup version check and return a banner UI element}
|
||
|
|
\usage{
|
||
|
|
check_app_version(
|
||
|
|
github_user,
|
||
|
|
github_repo,
|
||
|
|
app_version = NULL,
|
||
|
|
verbose = FALSE
|
||
|
|
)
|
||
|
|
}
|
||
|
|
\arguments{
|
||
|
|
\item{github_user}{GitHub username or organisation that owns the repository.}
|
||
|
|
|
||
|
|
\item{github_repo}{Repository name. Also used as the package name for
|
||
|
|
\code{utils::packageVersion()}.}
|
||
|
|
|
||
|
|
\item{app_version}{Optional fallback version string for environments where
|
||
|
|
the package is not installed (e.g. shinyapps.io). Pass the result of your
|
||
|
|
\code{app_version()} function here. Ignored when \code{packageVersion()}
|
||
|
|
succeeds.}
|
||
|
|
|
||
|
|
\item{verbose}{Logical; if \code{TRUE} a banner is always returned.
|
||
|
|
Defaults to \code{FALSE}.}
|
||
|
|
}
|
||
|
|
\value{
|
||
|
|
A \code{shinyWidgets::alert()} UI element, or \code{NULL} when there
|
||
|
|
is nothing to show (up to date in non-verbose mode).
|
||
|
|
}
|
||
|
|
\description{
|
||
|
|
Call this \strong{outside} \code{server()} -- typically in
|
||
|
|
\code{global.R} or at the top of \code{app.R} -- and embed the returned
|
||
|
|
value directly in your UI definition. Because the check runs at startup
|
||
|
|
the banner is present on first render with no loading delay, and no
|
||
|
|
\code{uiOutput()} / \code{renderUI()} wiring is needed.
|
||
|
|
}
|
||
|
|
\details{
|
||
|
|
\strong{Normal mode} (\code{verbose = FALSE}): returns a banner only when
|
||
|
|
a newer version is available or when the check fails. Returns \code{NULL}
|
||
|
|
when the app is up to date (Shiny silently ignores \code{NULL} in the UI).
|
||
|
|
|
||
|
|
\strong{Verbose / debug mode} (\code{verbose = TRUE}): always returns a
|
||
|
|
banner -- including a success banner when up to date -- so you can confirm
|
||
|
|
the check ran and inspect both version strings during development.
|
||
|
|
}
|
||
|
|
\examples{
|
||
|
|
\dontrun{
|
||
|
|
# global.R or top of app.R
|
||
|
|
source("version_check.R")
|
||
|
|
version_banner <- check_app_version(
|
||
|
|
github_user = "my-org",
|
||
|
|
github_repo = "my-shiny-app",
|
||
|
|
app_version = app_version() # fallback for shinyapps.io
|
||
|
|
)
|
||
|
|
|
||
|
|
# ui.R
|
||
|
|
fluidPage(
|
||
|
|
version_banner,
|
||
|
|
# ... rest of UI
|
||
|
|
)
|
||
|
|
|
||
|
|
# Verbose mode for development
|
||
|
|
version_banner <- check_app_version(
|
||
|
|
github_user = "my-org",
|
||
|
|
github_repo = "my-shiny-app",
|
||
|
|
app_version = app_version(),
|
||
|
|
verbose = TRUE
|
||
|
|
)
|
||
|
|
}
|
||
|
|
}
|