Deploying to gh-pages from @ agdamsbo/FreesearchR@2d062e0ac5 🚀

This commit is contained in:
agdamsbo 2026-03-23 13:50:03 +00:00
commit 66780fc453
44 changed files with 1145 additions and 190 deletions

View file

@ -0,0 +1,157 @@
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Run a startup version check and return a banner UI element — check_app_version • FreesearchR</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Montserrat-0.4.10/font.css" rel="stylesheet"><link href="../deps/Public_Sans-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Run a startup version check and return a banner UI element — check_app_version"><meta name="description" content="Call this outside server() – typically in
global.R or at the top of 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
uiOutput() / renderUI() wiring is needed."><meta property="og:description" content="Call this outside server() – typically in
global.R or at the top of 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
uiOutput() / renderUI() wiring is needed."><meta property="og:image" content="https://agdamsbo.github.io/FreesearchR/logo.png"><script defer src="https://stats.freesearchr.org/script.js" data-website-id="85bfd1e8-2cbe-4a4a-aa34-1dfb2960905b"></script></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">FreesearchR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">26.3.4</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="../articles/FreesearchR.html">Get started</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/data-types.html">Data types</a></li>
<li><a class="dropdown-item" href="../articles/missingness.html">Missingness in data</a></li>
<li><a class="dropdown-item" href="../articles/session.html">Session info</a></li>
<li><a class="dropdown-item" href="../articles/visuals.html">On visuals</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../ROADMAP.html">Roadmap</a></li>
<li class="nav-item"><a class="nav-link" href="../QA.html">Q&amp;A</a></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/agdamsbo/FreesearchR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Run a startup version check and return a banner UI element</h1>
<small class="dont-index">Source: <a href="https://github.com/agdamsbo/FreesearchR/blob/main/R/version_check.R" class="external-link"><code>R/version_check.R</code></a></small>
<div class="d-none name"><code>check_app_version.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Call this <strong>outside</strong> <code>server()</code> – typically in
<code>global.R</code> or at the top of <code>app.R</code> – 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> / <code>renderUI()</code> wiring is needed.</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">check_app_version</span><span class="op">(</span></span>
<span> <span class="va">github_user</span>,</span>
<span> <span class="va">github_repo</span>,</span>
<span> app_version <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span> verbose <span class="op">=</span> <span class="cn">FALSE</span></span>
<span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt id="arg-github-user">github_user<a class="anchor" aria-label="anchor" href="#arg-github-user"></a></dt>
<dd><p>GitHub username or organisation that owns the repository.</p></dd>
<dt id="arg-github-repo">github_repo<a class="anchor" aria-label="anchor" href="#arg-github-repo"></a></dt>
<dd><p>Repository name. Also used as the package name for
<code><a href="https://rdrr.io/r/utils/packageDescription.html" class="external-link">utils::packageVersion()</a></code>.</p></dd>
<dt id="arg-app-version">app_version<a class="anchor" aria-label="anchor" href="#arg-app-version"></a></dt>
<dd><p>Optional fallback version string for environments where
the package is not installed (e.g. shinyapps.io). Pass the result of your
<code>app_version()</code> function here. Ignored when <code><a href="https://rdrr.io/r/utils/packageDescription.html" class="external-link">packageVersion()</a></code>
succeeds.</p></dd>
<dt id="arg-verbose">verbose<a class="anchor" aria-label="anchor" href="#arg-verbose"></a></dt>
<dd><p>Logical; if <code>TRUE</code> a banner is always returned.
Defaults to <code>FALSE</code>.</p></dd>
</dl></div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>A <code><a href="https://dreamrs.github.io/shinyWidgets/reference/bootstrap-utils.html" class="external-link">shinyWidgets::alert()</a></code> UI element, or <code>NULL</code> when there
is nothing to show (up to date in non-verbose mode).</p>
</div>
<div class="section level2">
<h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
<p><strong>Normal mode</strong> (<code>verbose = FALSE</code>): returns a banner only when
a newer version is available or when the check fails. Returns <code>NULL</code>
when the app is up to date (Shiny silently ignores <code>NULL</code> in the UI).</p>
<p><strong>Verbose / debug mode</strong> (<code>verbose = TRUE</code>): 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.</p>
</div>
<div class="section level2">
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span> <span class="co"># \dontrun{</span></span></span>
<span class="r-in"><span><span class="co"># global.R or top of app.R</span></span></span>
<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/source.html" class="external-link">source</a></span><span class="op">(</span><span class="st">"version_check.R"</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="va">version_banner</span> <span class="op">&lt;-</span> <span class="fu">check_app_version</span><span class="op">(</span></span></span>
<span class="r-in"><span> github_user <span class="op">=</span> <span class="st">"my-org"</span>,</span></span>
<span class="r-in"><span> github_repo <span class="op">=</span> <span class="st">"my-shiny-app"</span>,</span></span>
<span class="r-in"><span> app_version <span class="op">=</span> <span class="fu">app_version</span><span class="op">(</span><span class="op">)</span> <span class="co"># fallback for shinyapps.io</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># ui.R</span></span></span>
<span class="r-in"><span><span class="fu">fluidPage</span><span class="op">(</span></span></span>
<span class="r-in"><span> <span class="va">version_banner</span>,</span></span>
<span class="r-in"><span> <span class="co"># ... rest of UI</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># Verbose mode for development</span></span></span>
<span class="r-in"><span><span class="va">version_banner</span> <span class="op">&lt;-</span> <span class="fu">check_app_version</span><span class="op">(</span></span></span>
<span class="r-in"><span> github_user <span class="op">=</span> <span class="st">"my-org"</span>,</span></span>
<span class="r-in"><span> github_repo <span class="op">=</span> <span class="st">"my-shiny-app"</span>,</span></span>
<span class="r-in"><span> app_version <span class="op">=</span> <span class="fu">app_version</span><span class="op">(</span><span class="op">)</span>,</span></span>
<span class="r-in"><span> verbose <span class="op">=</span> <span class="cn">TRUE</span></span></span>
<span class="r-in"><span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span> <span class="co"># }</span></span></span>
</code></pre></div>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p>
</div>
<div class="pkgdown-footer-right">
<p>Developed by Andreas Gammelgaard Damsbo. Provided without <strong>any warranty</strong>.</p>
</div>
</footer></div>
</body></html>

View file

@ -0,0 +1,86 @@
# Run a startup version check and return a banner UI element
Call this **outside** `server()` – typically in `global.R` or at the top
of `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 `uiOutput()` / `renderUI()`
wiring is needed.
## Usage
``` r
check_app_version(
github_user,
github_repo,
app_version = NULL,
verbose = FALSE
)
```
## Arguments
- github_user:
GitHub username or organisation that owns the repository.
- github_repo:
Repository name. Also used as the package name for
[`utils::packageVersion()`](https://rdrr.io/r/utils/packageDescription.html).
- app_version:
Optional fallback version string for environments where the package is
not installed (e.g. shinyapps.io). Pass the result of your
`app_version()` function here. Ignored when
[`packageVersion()`](https://rdrr.io/r/utils/packageDescription.html)
succeeds.
- verbose:
Logical; if `TRUE` a banner is always returned. Defaults to `FALSE`.
## Value
A
[`shinyWidgets::alert()`](https://dreamrs.github.io/shinyWidgets/reference/bootstrap-utils.html)
UI element, or `NULL` when there is nothing to show (up to date in
non-verbose mode).
## Details
**Normal mode** (`verbose = FALSE`): returns a banner only when a newer
version is available or when the check fails. Returns `NULL` when the
app is up to date (Shiny silently ignores `NULL` in the UI).
**Verbose / debug mode** (`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
``` r
if (FALSE) { # \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
)
} # }
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 187 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Before After
Before After

View file

@ -732,7 +732,7 @@ One of c("stack", "dodge", "fill")</p></dd>
<span class="r-out co"><span class="r-pr">#&gt;</span> list()</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> $plot_env</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;environment: 0x55cb96189f30&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;environment: 0x55fda1fb5b88&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> $code</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> FreesearchR::plot_violin(pri = "mpg", sec = "cyl", ter = NULL)</span>
@ -888,6 +888,8 @@ One of c("stack", "dodge", "fill")</p></dd>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>Some strata appear at multiple axes.</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>Some strata appear at multiple axes.</span>
<span class="r-plt img"><img src="data-plots-16.png" alt="" width="700" height="433"></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># stRoke::trial |&gt; plot_sankey("mrs_1", "mrs_6")</span></span></span>
<span class="r-in"><span><span class="va">mtcars</span> <span class="op">|&gt;</span> <span class="fu">plot_scatter</span><span class="op">(</span>pri <span class="op">=</span> <span class="st">"mpg"</span>, sec <span class="op">=</span> <span class="st">"wt"</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Ignoring unknown labels:</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> <span style="color: #00BBBB;">•</span> <span style="color: #00BB00;">legend.title</span> : <span style="color: #0000BB;">""</span></span>

View file

@ -688,7 +688,7 @@ create_plot(mtcars, "plot_violin", "mpg", "cyl") |> attributes()
#> list()
#>
#> $plot_env
#> <environment: 0x55cb96189f30>
#> <environment: 0x55fda1fb5b88>
#>
#> $code
#> FreesearchR::plot_violin(pri = "mpg", sec = "cyl", ter = NULL)
@ -844,6 +844,8 @@ mtcars |>
#> Warning: Some strata appear at multiple axes.
#> Warning: Some strata appear at multiple axes.
# stRoke::trial |> plot_sankey("mrs_1", "mrs_6")
mtcars |> plot_scatter(pri = "mpg", sec = "wt")
#> Ignoring unknown labels:
#> • legend.title : ""

View file

@ -90,9 +90,6 @@
<span class="r-in"><span><span class="fu"><a href="default_parsing.html">default_parsing</a></span><span class="op">(</span><span class="va">mtcars</span><span class="op">)</span> <span class="op">|&gt;</span></span></span>
<span class="r-in"><span> <span class="fu">data_type_filter</span><span class="op">(</span>type <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span> <span class="op">|&gt;</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://rdrr.io/r/base/attributes.html" class="external-link">attributes</a></span><span class="op">(</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> $class</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "tbl_df" "tbl" "data.frame"</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> $row.names</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [26] 26 27 28 29 30 31 32</span>
@ -101,6 +98,9 @@
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [11] "carb"</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> $class</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "tbl_df" "tbl" "data.frame"</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span> <span class="co"># \dontrun{</span></span></span>
<span class="r-in"><span><span class="fu"><a href="default_parsing.html">default_parsing</a></span><span class="op">(</span><span class="va">mtcars</span><span class="op">)</span> <span class="op">|&gt;</span> <span class="fu">data_type_filter</span><span class="op">(</span>type <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"test"</span>, <span class="st">"categorical"</span>, <span class="st">"continuous"</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span> <span class="co"># }</span></span></span>

View file

@ -45,9 +45,6 @@ default_parsing(mtcars) |>
default_parsing(mtcars) |>
data_type_filter(type = NULL) |>
attributes()
#> $class
#> [1] "tbl_df" "tbl" "data.frame"
#>
#> $row.names
#> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#> [26] 26 27 28 29 30 31 32
@ -56,6 +53,9 @@ default_parsing(mtcars) |>
#> [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
#> [11] "carb"
#>
#> $class
#> [1] "tbl_df" "tbl" "data.frame"
#>
if (FALSE) { # \dontrun{
default_parsing(mtcars) |> data_type_filter(type = c("test", "categorical", "continuous"))
} # }

View file

@ -0,0 +1,109 @@
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Build a shinyWidgets::alert() UI element for the version banner — .build_version_alert • FreesearchR</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Montserrat-0.4.10/font.css" rel="stylesheet"><link href="../deps/Public_Sans-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Build a shinyWidgets::alert() UI element for the version banner — .build_version_alert"><meta name="description" content="Build a shinyWidgets::alert() UI element for the version banner"><meta property="og:description" content="Build a shinyWidgets::alert() UI element for the version banner"><meta property="og:image" content="https://agdamsbo.github.io/FreesearchR/logo.png"><script defer src="https://stats.freesearchr.org/script.js" data-website-id="85bfd1e8-2cbe-4a4a-aa34-1dfb2960905b"></script></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">FreesearchR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">26.3.4</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="../articles/FreesearchR.html">Get started</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/data-types.html">Data types</a></li>
<li><a class="dropdown-item" href="../articles/missingness.html">Missingness in data</a></li>
<li><a class="dropdown-item" href="../articles/session.html">Session info</a></li>
<li><a class="dropdown-item" href="../articles/visuals.html">On visuals</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../ROADMAP.html">Roadmap</a></li>
<li class="nav-item"><a class="nav-link" href="../QA.html">Q&amp;A</a></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/agdamsbo/FreesearchR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Build a shinyWidgets::alert() UI element for the version banner</h1>
<small class="dont-index">Source: <a href="https://github.com/agdamsbo/FreesearchR/blob/main/R/version_check.R" class="external-link"><code>R/version_check.R</code></a></small>
<div class="d-none name"><code>dot-build_version_alert.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Build a shinyWidgets::alert() UI element for the version banner</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">.build_version_alert</span><span class="op">(</span></span>
<span> <span class="va">current</span>,</span>
<span> <span class="va">latest</span>,</span>
<span> <span class="va">update_available</span>,</span>
<span> <span class="va">github_user</span>,</span>
<span> <span class="va">github_repo</span></span>
<span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt id="arg-current">current<a class="anchor" aria-label="anchor" href="#arg-current"></a></dt>
<dd><p>Current installed version string.</p></dd>
<dt id="arg-latest">latest<a class="anchor" aria-label="anchor" href="#arg-latest"></a></dt>
<dd><p>Latest GitHub release version string, or NULL when
the check could not complete (e.g. no internet).</p></dd>
<dt id="arg-update-available">update_available<a class="anchor" aria-label="anchor" href="#arg-update-available"></a></dt>
<dd><p>Logical; whether latest &gt; current.</p></dd>
<dt id="arg-github-user">github_user<a class="anchor" aria-label="anchor" href="#arg-github-user"></a></dt>
<dd><p>GitHub username / organisation.</p></dd>
<dt id="arg-github-repo">github_repo<a class="anchor" aria-label="anchor" href="#arg-github-repo"></a></dt>
<dd><p>Repository name.</p></dd>
</dl></div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>A <code><a href="https://dreamrs.github.io/shinyWidgets/reference/bootstrap-utils.html" class="external-link">shinyWidgets::alert()</a></code> UI element.</p>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p>
</div>
<div class="pkgdown-footer-right">
<p>Developed by Andreas Gammelgaard Damsbo. Provided without <strong>any warranty</strong>.</p>
</div>
</footer></div>
</body></html>

View file

@ -0,0 +1,44 @@
# Build a shinyWidgets::alert() UI element for the version banner
Build a shinyWidgets::alert() UI element for the version banner
## Usage
``` r
.build_version_alert(
current,
latest,
update_available,
github_user,
github_repo
)
```
## Arguments
- current:
Current installed version string.
- latest:
Latest GitHub release version string, or NULL when the check could not
complete (e.g. no internet).
- update_available:
Logical; whether latest \> current.
- github_user:
GitHub username / organisation.
- github_repo:
Repository name.
## Value
A
[`shinyWidgets::alert()`](https://dreamrs.github.io/shinyWidgets/reference/bootstrap-utils.html)
UI element.

View file

@ -0,0 +1,91 @@
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Fetch the latest release version from a GitHub repository — .get_latest_github_version • FreesearchR</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Montserrat-0.4.10/font.css" rel="stylesheet"><link href="../deps/Public_Sans-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Fetch the latest release version from a GitHub repository — .get_latest_github_version"><meta name="description" content="Fetch the latest release version from a GitHub repository"><meta property="og:description" content="Fetch the latest release version from a GitHub repository"><meta property="og:image" content="https://agdamsbo.github.io/FreesearchR/logo.png"><script defer src="https://stats.freesearchr.org/script.js" data-website-id="85bfd1e8-2cbe-4a4a-aa34-1dfb2960905b"></script></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">FreesearchR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">26.3.4</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="../articles/FreesearchR.html">Get started</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/data-types.html">Data types</a></li>
<li><a class="dropdown-item" href="../articles/missingness.html">Missingness in data</a></li>
<li><a class="dropdown-item" href="../articles/session.html">Session info</a></li>
<li><a class="dropdown-item" href="../articles/visuals.html">On visuals</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../ROADMAP.html">Roadmap</a></li>
<li class="nav-item"><a class="nav-link" href="../QA.html">Q&amp;A</a></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/agdamsbo/FreesearchR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Fetch the latest release version from a GitHub repository</h1>
<small class="dont-index">Source: <a href="https://github.com/agdamsbo/FreesearchR/blob/main/R/version_check.R" class="external-link"><code>R/version_check.R</code></a></small>
<div class="d-none name"><code>dot-get_latest_github_version.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Fetch the latest release version from a GitHub repository</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">.get_latest_github_version</span><span class="op">(</span><span class="va">github_user</span>, <span class="va">github_repo</span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt id="arg-github-user">github_user<a class="anchor" aria-label="anchor" href="#arg-github-user"></a></dt>
<dd><p>GitHub username or organisation.</p></dd>
<dt id="arg-github-repo">github_repo<a class="anchor" aria-label="anchor" href="#arg-github-repo"></a></dt>
<dd><p>Repository name.</p></dd>
</dl></div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>A character string with the version tag (e.g. "1.2.0"), or NULL on
failure.</p>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p>
</div>
<div class="pkgdown-footer-right">
<p>Developed by Andreas Gammelgaard Damsbo. Provided without <strong>any warranty</strong>.</p>
</div>
</footer></div>
</body></html>

View file

@ -0,0 +1,24 @@
# Fetch the latest release version from a GitHub repository
Fetch the latest release version from a GitHub repository
## Usage
``` r
.get_latest_github_version(github_user, github_repo)
```
## Arguments
- github_user:
GitHub username or organisation.
- github_repo:
Repository name.
## Value
A character string with the version tag (e.g. "1.2.0"), or NULL on
failure.

View file

@ -0,0 +1,78 @@
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Check internet connectivity — .has_internet • FreesearchR</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Montserrat-0.4.10/font.css" rel="stylesheet"><link href="../deps/Public_Sans-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Check internet connectivity — .has_internet"><meta name="description" content="Check internet connectivity"><meta property="og:description" content="Check internet connectivity"><meta property="og:image" content="https://agdamsbo.github.io/FreesearchR/logo.png"><script defer src="https://stats.freesearchr.org/script.js" data-website-id="85bfd1e8-2cbe-4a4a-aa34-1dfb2960905b"></script></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">FreesearchR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">26.3.4</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="../articles/FreesearchR.html">Get started</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/data-types.html">Data types</a></li>
<li><a class="dropdown-item" href="../articles/missingness.html">Missingness in data</a></li>
<li><a class="dropdown-item" href="../articles/session.html">Session info</a></li>
<li><a class="dropdown-item" href="../articles/visuals.html">On visuals</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../ROADMAP.html">Roadmap</a></li>
<li class="nav-item"><a class="nav-link" href="../QA.html">Q&amp;A</a></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/agdamsbo/FreesearchR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Check internet connectivity</h1>
<small class="dont-index">Source: <a href="https://github.com/agdamsbo/FreesearchR/blob/main/R/version_check.R" class="external-link"><code>R/version_check.R</code></a></small>
<div class="d-none name"><code>dot-has_internet.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Check internet connectivity</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">.has_internet</span><span class="op">(</span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>Logical; TRUE if an internet connection is available.</p>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p>
</div>
<div class="pkgdown-footer-right">
<p>Developed by Andreas Gammelgaard Damsbo. Provided without <strong>any warranty</strong>.</p>
</div>
</footer></div>
</body></html>

View file

@ -0,0 +1,13 @@
# Check internet connectivity
Check internet connectivity
## Usage
``` r
.has_internet()
```
## Value
Logical; TRUE if an internet connection is available.

View file

@ -0,0 +1,109 @@
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Resolve the current app version — .resolve_app_version • FreesearchR</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Montserrat-0.4.10/font.css" rel="stylesheet"><link href="../deps/Public_Sans-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Resolve the current app version — .resolve_app_version"><meta name="description" content="Tries two strategies in order:
utils::packageVersion(package_name) – works when the package
is installed locally (development, local runApp()).
app_version argument – an explicit version string supplied by
the caller, e.g. from an app_version() function bundled with the
app. Used on shinyapps.io where the package is not installed.
"><meta property="og:description" content="Tries two strategies in order:
utils::packageVersion(package_name) – works when the package
is installed locally (development, local runApp()).
app_version argument – an explicit version string supplied by
the caller, e.g. from an app_version() function bundled with the
app. Used on shinyapps.io where the package is not installed.
"><meta property="og:image" content="https://agdamsbo.github.io/FreesearchR/logo.png"><script defer src="https://stats.freesearchr.org/script.js" data-website-id="85bfd1e8-2cbe-4a4a-aa34-1dfb2960905b"></script></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">FreesearchR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">26.3.4</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="../articles/FreesearchR.html">Get started</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/data-types.html">Data types</a></li>
<li><a class="dropdown-item" href="../articles/missingness.html">Missingness in data</a></li>
<li><a class="dropdown-item" href="../articles/session.html">Session info</a></li>
<li><a class="dropdown-item" href="../articles/visuals.html">On visuals</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../ROADMAP.html">Roadmap</a></li>
<li class="nav-item"><a class="nav-link" href="../QA.html">Q&amp;A</a></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/agdamsbo/FreesearchR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Resolve the current app version</h1>
<small class="dont-index">Source: <a href="https://github.com/agdamsbo/FreesearchR/blob/main/R/version_check.R" class="external-link"><code>R/version_check.R</code></a></small>
<div class="d-none name"><code>dot-resolve_app_version.Rd</code></div>
</div>
<div class="ref-description section level2">
<p>Tries two strategies in order:</p><ol><li><p><code>utils::packageVersion(package_name)</code> – works when the package
is installed locally (development, local <code><a href="https://rdrr.io/pkg/shiny/man/runApp.html" class="external-link">runApp()</a></code>).</p></li>
<li><p><code>app_version</code> argument – an explicit version string supplied by
the caller, e.g. from an <code>app_version()</code> function bundled with the
app. Used on shinyapps.io where the package is not installed.</p></li>
</ol></div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">.resolve_app_version</span><span class="op">(</span><span class="va">package_name</span>, app_version <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt id="arg-package-name">package_name<a class="anchor" aria-label="anchor" href="#arg-package-name"></a></dt>
<dd><p>Name of the package / repository.</p></dd>
<dt id="arg-app-version">app_version<a class="anchor" aria-label="anchor" href="#arg-app-version"></a></dt>
<dd><p>Optional fallback version string.</p></dd>
</dl></div>
<div class="section level2">
<h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
<p>A character string with the version (e.g. "1.1.0"), or NULL if
neither strategy succeeds.</p>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p>
</div>
<div class="pkgdown-footer-right">
<p>Developed by Andreas Gammelgaard Damsbo. Provided without <strong>any warranty</strong>.</p>
</div>
</footer></div>
</body></html>

View file

@ -0,0 +1,32 @@
# Resolve the current app version
Tries two strategies in order:
1. `utils::packageVersion(package_name)` – works when the package is
installed locally (development, local
[`runApp()`](https://rdrr.io/pkg/shiny/man/runApp.html)).
2. `app_version` argument – an explicit version string supplied by the
caller, e.g. from an `app_version()` function bundled with the app.
Used on shinyapps.io where the package is not installed.
## Usage
``` r
.resolve_app_version(package_name, app_version = NULL)
```
## Arguments
- package_name:
Name of the package / repository.
- app_version:
Optional fallback version string.
## Value
A character string with the version (e.g. "1.1.0"), or NULL if neither
strategy succeeds.

View file

@ -139,7 +139,7 @@
<span class="r-out co"><span class="r-pr">#&gt;</span> z$qr &lt;- NULL</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> z</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> }</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;bytecode: 0x55cb953a1e40&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;bytecode: 0x55fd946e5b68&gt;</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;environment: namespace:stats&gt;</span>
</code></pre></div>
</div>

View file

@ -95,6 +95,6 @@ getfun("stats::lm")
#> z$qr <- NULL
#> z
#> }
#> <bytecode: 0x55cb953a1e40>
#> <bytecode: 0x55fd946e5b68>
#> <environment: namespace:stats>
```

View file

@ -127,6 +127,13 @@
</dt>
<dd>Print a flexible baseline characteristics table</dd>
<dt>
<code><a href="check_app_version.html">check_app_version()</a></code>
</dt>
<dd>Run a startup version check and return a banner UI element</dd>
<dt>
<code><a href="class_icons.html">class_icons()</a></code>
@ -337,6 +344,34 @@
</dt>
<dd>Dimensions validation</dd>
<dt>
<code><a href="dot-build_version_alert.html">.build_version_alert()</a></code>
</dt>
<dd>Build a shinyWidgets::alert() UI element for the version banner</dd>
<dt>
<code><a href="dot-get_latest_github_version.html">.get_latest_github_version()</a></code>
</dt>
<dd>Fetch the latest release version from a GitHub repository</dd>
<dt>
<code><a href="dot-has_internet.html">.has_internet()</a></code>
</dt>
<dd>Check internet connectivity</dd>
<dt>
<code><a href="dot-resolve_app_version.html">.resolve_app_version()</a></code>
</dt>
<dd>Resolve the current app version</dd>
<dt>
<code><a href="drop_empty_event.html">drop_empty_event()</a></code>

View file

@ -24,6 +24,8 @@
: Convert string of arguments to list of arguments
- [`baseline_table()`](https://agdamsbo.github.io/FreesearchR/reference/baseline_table.md)
: Print a flexible baseline characteristics table
- [`check_app_version()`](https://agdamsbo.github.io/FreesearchR/reference/check_app_version.md)
: Run a startup version check and return a banner UI element
- [`class_icons()`](https://agdamsbo.github.io/FreesearchR/reference/class_icons.md)
: Get data class icons
- [`clean_common_axis()`](https://agdamsbo.github.io/FreesearchR/reference/clean_common_axis.md)
@ -105,6 +107,14 @@
: Detect delimiters in string based on allowed delimiters
- [`dim_change_call()`](https://agdamsbo.github.io/FreesearchR/reference/dim_change_call.md)
: Dimensions validation
- [`.build_version_alert()`](https://agdamsbo.github.io/FreesearchR/reference/dot-build_version_alert.md)
: Build a shinyWidgets::alert() UI element for the version banner
- [`.get_latest_github_version()`](https://agdamsbo.github.io/FreesearchR/reference/dot-get_latest_github_version.md)
: Fetch the latest release version from a GitHub repository
- [`.has_internet()`](https://agdamsbo.github.io/FreesearchR/reference/dot-has_internet.md)
: Check internet connectivity
- [`.resolve_app_version()`](https://agdamsbo.github.io/FreesearchR/reference/dot-resolve_app_version.md)
: Resolve the current app version
- [`drop_empty_event()`](https://agdamsbo.github.io/FreesearchR/reference/drop_empty_event.md)
: Drop empty events from REDCap export
- [`expression_string()`](https://agdamsbo.github.io/FreesearchR/reference/expression_string.md)

View file

@ -53,6 +53,7 @@
<span> data_limit_default <span class="op">=</span> <span class="fl">1000</span>,</span>
<span> data_limit_upper <span class="op">=</span> <span class="fl">1e+05</span>,</span>
<span> data_limit_lower <span class="op">=</span> <span class="fl">1</span>,</span>
<span> check_app_version <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> <span class="va">...</span></span>
<span><span class="op">)</span></span></code></pre></div>
</div>
@ -78,6 +79,11 @@ when loading data</p></dd>
<dd><p>data set observations lower limit</p></dd>
<dt id="arg-check-app-version">check_app_version<a class="anchor" aria-label="anchor" href="#arg-check-app-version"></a></dt>
<dd><p>always attempt to check app version against latest
release on GitHub. Default is FALSE</p></dd>
<dt id="arg--">...<a class="anchor" aria-label="anchor" href="#arg--"></a></dt>
<dd><p>passed on to <code><a href="https://rdrr.io/pkg/shiny/man/runApp.html" class="external-link">shiny::runApp()</a></code></p></dd>

View file

@ -11,6 +11,7 @@ launch_FreesearchR(
data_limit_default = 1000,
data_limit_upper = 1e+05,
data_limit_lower = 1,
check_app_version = FALSE,
...
)
```
@ -33,6 +34,11 @@ launch_FreesearchR(
data set observations lower limit
- check_app_version:
always attempt to check app version against latest release on GitHub.
Default is FALSE
- ...:
passed on to

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 147 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before After
Before After

View file

@ -356,8 +356,8 @@ argsstring2list() or list of arguments. Default is NULL.</p></dd>
<span class="r-out co"><span class="r-pr">#&gt;</span> 24, 24, 23.6, 24, 19.98, 15.55, 23.72, 22.41, 19.54, 16.57, </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 24, 24, 24, 21.91, 24, 12.53, 24, 18.63, 14.82, 16.46, 24, </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 9.24, 17.77, 24, 24, 9.92, 16.16, 10.51, 20.81, 24, 16.44, </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 24, 22.4, 11.76, 24, 21.6, 24, 19.81, 24), label = "Months to Death/Censor")), class = c("tbl_df", </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> "tbl", "data.frame"), row.names = c(NA, -200L)))</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 24, 22.4, 11.76, 24, 21.6, 24, 19.81, 24), label = "Months to Death/Censor")), row.names = c(NA, </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> -200L), class = c("tbl_df", "tbl", "data.frame")))</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> Coefficients:</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> (Intercept) trtDrug B marker stageT2 stageT3 stageT4 </span>

View file

@ -315,8 +315,8 @@ gtsummary::trial |>
#> 24, 24, 23.6, 24, 19.98, 15.55, 23.72, 22.41, 19.54, 16.57,
#> 24, 24, 24, 21.91, 24, 12.53, 24, 18.63, 14.82, 16.46, 24,
#> 9.24, 17.77, 24, 24, 9.92, 16.16, 10.51, 20.81, 24, 16.44,
#> 24, 22.4, 11.76, 24, 21.6, 24, 19.81, 24), label = "Months to Death/Censor")), class = c("tbl_df",
#> "tbl", "data.frame"), row.names = c(NA, -200L)))
#> 24, 22.4, 11.76, 24, 21.6, 24, 19.81, 24), label = "Months to Death/Censor")), row.names = c(NA,
#> -200L), class = c("tbl_df", "tbl", "data.frame")))
#>
#> Coefficients:
#> (Intercept) trtDrug B marker stageT2 stageT3 stageT4