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