Compare commits
5 Commits
ee77807d6e
...
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ce44cc15f | |||
| dfe0a1c49e | |||
| 56f1c979df | |||
| ab9172f88d | |||
| c58830441b |
@@ -1,6 +1,6 @@
|
|||||||
Package: AVSDevR.ShinyApplication
|
Package: AVSDevR.ShinyApplication
|
||||||
Title: Shiny Application Wrapper
|
Title: Shiny Application Wrapper
|
||||||
Version: 0.0.0.9000
|
Version: 1.0.0
|
||||||
Authors@R:
|
Authors@R:
|
||||||
person("Craig", "Williams", , "craig@avsdev.uk", role = c("aut", "cre"))
|
person("Craig", "Williams", , "craig@avsdev.uk", role = c("aut", "cre"))
|
||||||
Description: Wraps a shiny application with some helper scripts, including
|
Description: Wraps a shiny application with some helper scripts, including
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
|
#' AdminLTE (bootstrap dashboard) themed R shiny application
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
AdminLTEApplication <- R6::R6Class(
|
AdminLTEApplication <- R6::R6Class(
|
||||||
"AdminLTEApplication",
|
"AdminLTEApplication",
|
||||||
inherit = FrameApplication,
|
inherit = FrameApplication,
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Uses a specific AdminLTE skin colour
|
||||||
|
#' @param skin <character> The AdminLTE skin colour to use
|
||||||
withSkin = function(skin) {
|
withSkin = function(skin) {
|
||||||
private$skin <- skin
|
private$skin <- skin
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Returns the basic FrameApplication UI without the AdminLTE
|
||||||
|
#' page body.
|
||||||
|
#' @returns R Shiny tagList for the frame UI
|
||||||
frameUI = function() {
|
frameUI = function() {
|
||||||
super$ui()
|
super$ui()
|
||||||
},
|
},
|
||||||
|
#' @description AdminLTE ui for an R Shiny application
|
||||||
|
#' @returns R Shiny tagList for an AdminLTE UI
|
||||||
ui = function() {
|
ui = function() {
|
||||||
ui <- shiny::tags$body(
|
ui <- shiny::tags$body(
|
||||||
class = paste0("hold-transition skin-", private$skin),
|
class = paste0("hold-transition skin-", private$skin),
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
|
#' Basic R shiny application
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
FrameApplication <- R6::R6Class(
|
FrameApplication <- R6::R6Class(
|
||||||
"FrameApplication",
|
"FrameApplication",
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Creates a new R Shiny application
|
||||||
|
#' @param appPage <module> An application module (attempts to load
|
||||||
|
#' pages/application.R if not supplied)
|
||||||
|
#' @param language <character> The language to use for the HTML page
|
||||||
|
#' (defaults to "en")
|
||||||
initialize = function(appPage = NULL, language = NULL) {
|
initialize = function(appPage = NULL, language = NULL) {
|
||||||
if (!is.null(appPage)) {
|
if (!is.null(appPage)) {
|
||||||
private$appPage <- appPage
|
private$appPage <- appPage
|
||||||
@@ -15,6 +21,8 @@ FrameApplication <- R6::R6Class(
|
|||||||
}
|
}
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Binds the application to a session logger
|
||||||
|
#' @param sessionLogger The session logger instance to use
|
||||||
withSessionLogger = function(sessionLogger) {
|
withSessionLogger = function(sessionLogger) {
|
||||||
if (!inherits(sessionLogger, "SessionLogger")) {
|
if (!inherits(sessionLogger, "SessionLogger")) {
|
||||||
rlang::abort("sessionLogger is not an instance of SessionLogger class")
|
rlang::abort("sessionLogger is not an instance of SessionLogger class")
|
||||||
@@ -22,10 +30,18 @@ FrameApplication <- R6::R6Class(
|
|||||||
private$sessionLogger <- sessionLogger
|
private$sessionLogger <- sessionLogger
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Loads with the Bootstrap 4 shim CSS file
|
||||||
withBootstrap4Shim = function() {
|
withBootstrap4Shim = function() {
|
||||||
private$withBS4 <- TRUE
|
private$withBS4 <- TRUE
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Returns a DBClient instance for the current session
|
||||||
|
#' @param session An R Shiny session
|
||||||
|
#' @param db_config The database configuration to use (will attempt to find
|
||||||
|
#' and load a global.R or .env.R file if not supploed)
|
||||||
|
#' @param allowFailure If a configuration cannot be loaded or a connection
|
||||||
|
#' to the database cannot be made, do not abort
|
||||||
|
#' @returns A DBClient instance which is useable for the session
|
||||||
getSessionDBClient = function(
|
getSessionDBClient = function(
|
||||||
session, db_config = NULL, allowFailure = FALSE
|
session, db_config = NULL, allowFailure = FALSE
|
||||||
) {
|
) {
|
||||||
@@ -59,6 +75,7 @@ FrameApplication <- R6::R6Class(
|
|||||||
# Create the client instance
|
# Create the client instance
|
||||||
AVSDevR.DBClient::DBClient$new(db_conn)
|
AVSDevR.DBClient::DBClient$new(db_conn)
|
||||||
},
|
},
|
||||||
|
#' @description Creates the UI component for an R Shiny application
|
||||||
ui = function() {
|
ui = function() {
|
||||||
if (file.exists("widgets/menu.R")) {
|
if (file.exists("widgets/menu.R")) {
|
||||||
# Multi-frame application
|
# Multi-frame application
|
||||||
@@ -103,9 +120,9 @@ FrameApplication <- R6::R6Class(
|
|||||||
if (private$withBS4) {
|
if (private$withBS4) {
|
||||||
# Attach boostrap 4 css shim
|
# Attach boostrap 4 css shim
|
||||||
if (getOption("shiny.minified", TRUE)) {
|
if (getOption("shiny.minified", TRUE)) {
|
||||||
css <- "bootstrap-4-shim.min.css"
|
css <- "css/bootstrap-4-shim.min.css"
|
||||||
} else {
|
} else {
|
||||||
css <- "bootstrap-4-shim.css"
|
css <- "css/bootstrap-4-shim.css"
|
||||||
}
|
}
|
||||||
uiDeps <- htmltools::htmlDependency(
|
uiDeps <- htmltools::htmlDependency(
|
||||||
"AVSDevR.ShinyApplication",
|
"AVSDevR.ShinyApplication",
|
||||||
@@ -119,6 +136,11 @@ FrameApplication <- R6::R6Class(
|
|||||||
# Set the language
|
# Set the language
|
||||||
shiny:::setLang(ui, private$language)
|
shiny:::setLang(ui, private$language)
|
||||||
},
|
},
|
||||||
|
#' @description Creates the server component for an R Shiny application
|
||||||
|
#' @param input The UI inputs bound for the session
|
||||||
|
#' @param output The UI outputs bound for the session
|
||||||
|
#' @param session The current session
|
||||||
|
#' @param ... Parameters passed into the inner application
|
||||||
server = function(input, output, session, ...) {
|
server = function(input, output, session, ...) {
|
||||||
if (!is.null(private$sessionLogger)) {
|
if (!is.null(private$sessionLogger)) {
|
||||||
private$sessionLogger$attachSession(session)
|
private$sessionLogger$attachSession(session)
|
||||||
@@ -131,6 +153,8 @@ FrameApplication <- R6::R6Class(
|
|||||||
...
|
...
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
#' @description Instantiates an R Shiny application
|
||||||
|
#' @returns An R Shiny application suitable for \link[shiny]{runApp}
|
||||||
app = function() {
|
app = function() {
|
||||||
shiny::shinyApp(self$ui(), self$server)
|
shiny::shinyApp(self$ui(), self$server)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
|
#' R shiny application session logger
|
||||||
|
#'
|
||||||
|
#' Wraps an R Shiny application or attaches to an R Shiny session to log session
|
||||||
|
#' start / end events
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
SessionLogger <- R6::R6Class(
|
SessionLogger <- R6::R6Class(
|
||||||
"SessionLogger",
|
"SessionLogger",
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Wraps an existing R Shiny application with a session logger
|
||||||
|
#' @param app An R Shiny application (\link[shiny]{shinyApp})
|
||||||
|
#' @returns The wrapped R Shiny application
|
||||||
wrap = function(app) {
|
wrap = function(app) {
|
||||||
wrapped_server <- function(input, output, session, ...) {
|
wrapped_server <- function(input, output, session, ...) {
|
||||||
self$attachSession(session)
|
self$attachSession(session)
|
||||||
@@ -15,6 +23,10 @@ SessionLogger <- R6::R6Class(
|
|||||||
|
|
||||||
app
|
app
|
||||||
},
|
},
|
||||||
|
#' @description Attaches to an existing R Shiny session to log start / end
|
||||||
|
#' events.
|
||||||
|
#' @param session An R Shiny session to log start / end events for
|
||||||
|
#' @returns A function which can be called to cancel the "end" log
|
||||||
attachSession = function(session) {
|
attachSession = function(session) {
|
||||||
private$onSessionStarted(session)
|
private$onSessionStarted(session)
|
||||||
session$onSessionEnded(function() {
|
session$onSessionEnded(function() {
|
||||||
@@ -64,6 +76,10 @@ SessionLogger <- R6::R6Class(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#' R shiny application session console logger.
|
||||||
|
#'
|
||||||
|
#' Logs session start / stop events to console.
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
SessionLoggerConsole <- R6::R6Class(
|
SessionLoggerConsole <- R6::R6Class(
|
||||||
@@ -92,14 +108,21 @@ SessionLoggerConsole <- R6::R6Class(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#' R shiny application session database logger
|
||||||
|
#'
|
||||||
|
#' Logs session start / stop events to database
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
SessionLoggerDB <- R6::R6Class(
|
SessionLoggerDB <- R6::R6Class(
|
||||||
"SessionLoggerDB",
|
"SessionLoggerDB",
|
||||||
inherit = SessionLogger,
|
inherit = SessionLogger,
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Initialises the instance with a database client
|
||||||
|
#' \link[AVSDevR.DBClient]{DBClient}
|
||||||
|
#' @param db_client <\link[AVSDevR.DBClient]{DBClient}> A DBClient instance
|
||||||
initialize = function(db_client) {
|
initialize = function(db_client) {
|
||||||
if (is.null(conn) || !R6::is.R6(conn) || !inherits(conn, "DBClient")) {
|
if (is.null(db_client) || !inherits(db_client, "DBClient")) {
|
||||||
stop("DBClient instance required!")
|
stop("DBClient instance required!")
|
||||||
}
|
}
|
||||||
private$db_client <- db_client
|
private$db_client <- db_client
|
||||||
@@ -111,15 +134,15 @@ SessionLoggerDB <- R6::R6Class(
|
|||||||
logSessionEvent = function(
|
logSessionEvent = function(
|
||||||
event, session = shiny::getDefaultReactiveDomain()
|
event, session = shiny::getDefaultReactiveDomain()
|
||||||
) {
|
) {
|
||||||
db_client$connect()
|
private$db_client$getConnection()$connect()
|
||||||
on.exit({
|
on.exit({
|
||||||
db_client$disconnect()
|
private$db_client$getConnection()$disconnect()
|
||||||
})
|
})
|
||||||
|
|
||||||
event_row <- tibble::tibble(
|
event_row <- tibble::tibble(
|
||||||
app_name = basename(getwd()),
|
app_name = basename(getwd()),
|
||||||
app_pid = Sys.getpid(),
|
app_pid = Sys.getpid(),
|
||||||
client_ip = getClientIp(session),
|
client_ip = private$getClientIp(session),
|
||||||
user_id = session$userData$user_id,
|
user_id = session$userData$user_id,
|
||||||
session_token = session$token,
|
session_token = session$token,
|
||||||
!!event := lubridate::now()
|
!!event := lubridate::now()
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
|
#' Core UserFrosting (basic AdminLTE themed) R shiny application
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
UFApplication <- R6::R6Class(
|
UFApplication <- R6::R6Class(
|
||||||
"UFApplication",
|
"UFApplication",
|
||||||
inherit = AdminLTEApplication,
|
inherit = AdminLTEApplication,
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Sets up the UserFrosting configuration for the application
|
||||||
|
#' @param uri <character> The URI for the UserFrosting API instance
|
||||||
|
#' @param with_users <logical> Enable UF user API interaction
|
||||||
|
#' @param user_optional <logical> Are users optional?
|
||||||
|
#' @param app_name <character> The shiny application name for the UF API
|
||||||
configureUF = function(
|
configureUF = function(
|
||||||
uri, with_users = TRUE, user_optional = FALSE, app_name = NULL
|
uri, with_users = TRUE, user_optional = FALSE, app_name = NULL
|
||||||
) {
|
) {
|
||||||
@@ -19,6 +26,9 @@ UFApplication <- R6::R6Class(
|
|||||||
}
|
}
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Instantiates an R Shiny application with UserFrosting
|
||||||
|
#' support.
|
||||||
|
#' @returns An R Shiny application suitable for \link[shiny]{runApp}
|
||||||
app = function() {
|
app = function() {
|
||||||
AVSDevR.UserFrosting::ufWrapApplication(
|
AVSDevR.UserFrosting::ufWrapApplication(
|
||||||
super$app(), private$ufURI, private$with_users,
|
super$app(), private$ufURI, private$with_users,
|
||||||
|
|||||||
@@ -1,13 +1,20 @@
|
|||||||
|
#' UserFrosting full dashboard R shiny application
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
UFDashboardApplication <- R6::R6Class(
|
UFDashboardApplication <- R6::R6Class(
|
||||||
"UFDashboardApplication",
|
"UFDashboardApplication",
|
||||||
inherit = UFApplication,
|
inherit = UFApplication,
|
||||||
public = list(
|
public = list(
|
||||||
|
#' @description Starts the application with the UserFrosting sidebar
|
||||||
|
#' collapsed by default
|
||||||
withSidebarCollapsed = function() {
|
withSidebarCollapsed = function() {
|
||||||
private$sidebar_collapsed <- TRUE
|
private$sidebar_collapsed <- TRUE
|
||||||
invisible(self)
|
invisible(self)
|
||||||
},
|
},
|
||||||
|
#' @description Creates the UserFrosting UI component for an R Shiny
|
||||||
|
#' application
|
||||||
|
#' @returns An R Shiny tagList for \link[shiny]{shinyApp}
|
||||||
ui = function() {
|
ui = function() {
|
||||||
if (file.exists("widgets/help.R")) {
|
if (file.exists("widgets/help.R")) {
|
||||||
private$mHelp <- modules::use("widgets/help.R")
|
private$mHelp <- modules::use("widgets/help.R")
|
||||||
@@ -67,6 +74,14 @@ UFDashboardApplication <- R6::R6Class(
|
|||||||
# Set the language
|
# Set the language
|
||||||
shiny:::setLang(ui, private$language)
|
shiny:::setLang(ui, private$language)
|
||||||
},
|
},
|
||||||
|
#' @description Creates the UserFrosting server component for an R Shiny
|
||||||
|
#' application
|
||||||
|
#' @param input The UI inputs bound for the session
|
||||||
|
#' @param output The UI outputs bound for the session
|
||||||
|
#' @param session The current session
|
||||||
|
#' @param ufApi The UserFrosting API instance
|
||||||
|
#' @param ufUser The UserFrosting user if authenticated and verified
|
||||||
|
#' @param ... Parameters passed into the inner application
|
||||||
server = function(
|
server = function(
|
||||||
input, output, session, ufApi = NULL, ufUser = NULL, ...
|
input, output, session, ufApi = NULL, ufUser = NULL, ...
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#' UserFrosting frame only R shiny application
|
||||||
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
# nolint next: object_name_linter. R6Class
|
# nolint next: object_name_linter. R6Class
|
||||||
UFFrameApplication <- R6::R6Class(
|
UFFrameApplication <- R6::R6Class(
|
||||||
|
|||||||
95
man/AdminLTEApplication.Rd
Normal file
95
man/AdminLTEApplication.Rd
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/adminLTEApplication.R
|
||||||
|
\name{AdminLTEApplication}
|
||||||
|
\alias{AdminLTEApplication}
|
||||||
|
\title{AdminLTE (bootstrap dashboard) themed R shiny application}
|
||||||
|
\value{
|
||||||
|
R Shiny tagList for the frame UI
|
||||||
|
|
||||||
|
R Shiny tagList for an AdminLTE UI
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
AdminLTE (bootstrap dashboard) themed R shiny application
|
||||||
|
|
||||||
|
AdminLTE (bootstrap dashboard) themed R shiny application
|
||||||
|
}
|
||||||
|
\section{Super class}{
|
||||||
|
\code{AVSDevR.ShinyApplication::FrameApplication} -> \code{AdminLTEApplication}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-AdminLTEApplication-withSkin}{\code{AdminLTEApplication$withSkin()}}
|
||||||
|
\item \href{#method-AdminLTEApplication-frameUI}{\code{AdminLTEApplication$frameUI()}}
|
||||||
|
\item \href{#method-AdminLTEApplication-ui}{\code{AdminLTEApplication$ui()}}
|
||||||
|
\item \href{#method-AdminLTEApplication-clone}{\code{AdminLTEApplication$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="app"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-app'><code>AVSDevR.ShinyApplication::FrameApplication$app()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="getSessionDBClient"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-getSessionDBClient'><code>AVSDevR.ShinyApplication::FrameApplication$getSessionDBClient()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="initialize"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-initialize'><code>AVSDevR.ShinyApplication::FrameApplication$initialize()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="server"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-server'><code>AVSDevR.ShinyApplication::FrameApplication$server()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withBootstrap4Shim"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withBootstrap4Shim'><code>AVSDevR.ShinyApplication::FrameApplication$withBootstrap4Shim()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withSessionLogger"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withSessionLogger'><code>AVSDevR.ShinyApplication::FrameApplication$withSessionLogger()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-AdminLTEApplication-withSkin"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-AdminLTEApplication-withSkin}{}}}
|
||||||
|
\subsection{Method \code{withSkin()}}{
|
||||||
|
Uses a specific AdminLTE skin colour
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{AdminLTEApplication$withSkin(skin)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{skin}}{\if{html}{\out{<character>}} The AdminLTE skin colour to use}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-AdminLTEApplication-frameUI"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-AdminLTEApplication-frameUI}{}}}
|
||||||
|
\subsection{Method \code{frameUI()}}{
|
||||||
|
Returns the basic FrameApplication UI without the AdminLTE
|
||||||
|
page body.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{AdminLTEApplication$frameUI()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-AdminLTEApplication-ui"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-AdminLTEApplication-ui}{}}}
|
||||||
|
\subsection{Method \code{ui()}}{
|
||||||
|
AdminLTE ui for an R Shiny application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{AdminLTEApplication$ui()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-AdminLTEApplication-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-AdminLTEApplication-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{AdminLTEApplication$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
164
man/FrameApplication.Rd
Normal file
164
man/FrameApplication.Rd
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/frameApplication.R
|
||||||
|
\name{FrameApplication}
|
||||||
|
\alias{FrameApplication}
|
||||||
|
\title{Basic R shiny application}
|
||||||
|
\value{
|
||||||
|
A DBClient instance which is useable for the session
|
||||||
|
|
||||||
|
An R Shiny application suitable for \link[shiny]{runApp}
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Basic R shiny application
|
||||||
|
|
||||||
|
Basic R shiny application
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-FrameApplication-new}{\code{FrameApplication$new()}}
|
||||||
|
\item \href{#method-FrameApplication-withSessionLogger}{\code{FrameApplication$withSessionLogger()}}
|
||||||
|
\item \href{#method-FrameApplication-withBootstrap4Shim}{\code{FrameApplication$withBootstrap4Shim()}}
|
||||||
|
\item \href{#method-FrameApplication-getSessionDBClient}{\code{FrameApplication$getSessionDBClient()}}
|
||||||
|
\item \href{#method-FrameApplication-ui}{\code{FrameApplication$ui()}}
|
||||||
|
\item \href{#method-FrameApplication-server}{\code{FrameApplication$server()}}
|
||||||
|
\item \href{#method-FrameApplication-app}{\code{FrameApplication$app()}}
|
||||||
|
\item \href{#method-FrameApplication-clone}{\code{FrameApplication$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-new"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-new}{}}}
|
||||||
|
\subsection{Method \code{new()}}{
|
||||||
|
Creates a new R Shiny application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$new(appPage = NULL, language = NULL)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{appPage}}{\if{html}{\out{<module>}} An application module (attempts to load
|
||||||
|
pages/application.R if not supplied)}
|
||||||
|
|
||||||
|
\item{\code{language}}{\if{html}{\out{<character>}} The language to use for the HTML page
|
||||||
|
(defaults to "en")}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-withSessionLogger"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-withSessionLogger}{}}}
|
||||||
|
\subsection{Method \code{withSessionLogger()}}{
|
||||||
|
Binds the application to a session logger
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$withSessionLogger(sessionLogger)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{sessionLogger}}{The session logger instance to use}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-withBootstrap4Shim"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-withBootstrap4Shim}{}}}
|
||||||
|
\subsection{Method \code{withBootstrap4Shim()}}{
|
||||||
|
Loads with the Bootstrap 4 shim CSS file
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$withBootstrap4Shim()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-getSessionDBClient"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-getSessionDBClient}{}}}
|
||||||
|
\subsection{Method \code{getSessionDBClient()}}{
|
||||||
|
Returns a DBClient instance for the current session
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$getSessionDBClient(
|
||||||
|
session,
|
||||||
|
db_config = NULL,
|
||||||
|
allowFailure = FALSE
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{session}}{An R Shiny session}
|
||||||
|
|
||||||
|
\item{\code{db_config}}{The database configuration to use (will attempt to find
|
||||||
|
and load a global.R or .env.R file if not supploed)}
|
||||||
|
|
||||||
|
\item{\code{allowFailure}}{If a configuration cannot be loaded or a connection
|
||||||
|
to the database cannot be made, do not abort}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-ui"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-ui}{}}}
|
||||||
|
\subsection{Method \code{ui()}}{
|
||||||
|
Creates the UI component for an R Shiny application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$ui()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-server"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-server}{}}}
|
||||||
|
\subsection{Method \code{server()}}{
|
||||||
|
Creates the server component for an R Shiny application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$server(input, output, session, ...)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{input}}{The UI inputs bound for the session}
|
||||||
|
|
||||||
|
\item{\code{output}}{The UI outputs bound for the session}
|
||||||
|
|
||||||
|
\item{\code{session}}{The current session}
|
||||||
|
|
||||||
|
\item{\code{...}}{Parameters passed into the inner application}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-app"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-app}{}}}
|
||||||
|
\subsection{Method \code{app()}}{
|
||||||
|
Instantiates an R Shiny application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$app()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-FrameApplication-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-FrameApplication-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{FrameApplication$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
80
man/SessionLogger.Rd
Normal file
80
man/SessionLogger.Rd
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/sessionLogger.R
|
||||||
|
\name{SessionLogger}
|
||||||
|
\alias{SessionLogger}
|
||||||
|
\title{R shiny application session logger}
|
||||||
|
\value{
|
||||||
|
The wrapped R Shiny application
|
||||||
|
|
||||||
|
A function which can be called to cancel the "end" log
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
R shiny application session logger
|
||||||
|
|
||||||
|
R shiny application session logger
|
||||||
|
}
|
||||||
|
\details{
|
||||||
|
Wraps an R Shiny application or attaches to an R Shiny session to log session
|
||||||
|
start / end events
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-SessionLogger-wrap}{\code{SessionLogger$wrap()}}
|
||||||
|
\item \href{#method-SessionLogger-attachSession}{\code{SessionLogger$attachSession()}}
|
||||||
|
\item \href{#method-SessionLogger-clone}{\code{SessionLogger$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLogger-wrap"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLogger-wrap}{}}}
|
||||||
|
\subsection{Method \code{wrap()}}{
|
||||||
|
Wraps an existing R Shiny application with a session logger
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLogger$wrap(app)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{app}}{An R Shiny application (\link[shiny]{shinyApp})}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLogger-attachSession"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLogger-attachSession}{}}}
|
||||||
|
\subsection{Method \code{attachSession()}}{
|
||||||
|
Attaches to an existing R Shiny session to log start / end
|
||||||
|
events.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLogger$attachSession(session)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{session}}{An R Shiny session to log start / end events for}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLogger-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLogger-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLogger$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
man/SessionLoggerConsole.Rd
Normal file
43
man/SessionLoggerConsole.Rd
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/sessionLogger.R
|
||||||
|
\name{SessionLoggerConsole}
|
||||||
|
\alias{SessionLoggerConsole}
|
||||||
|
\title{R shiny application session console logger.}
|
||||||
|
\description{
|
||||||
|
Logs session start / stop events to console.
|
||||||
|
}
|
||||||
|
\section{Super class}{
|
||||||
|
\code{AVSDevR.ShinyApplication::SessionLogger} -> \code{SessionLoggerConsole}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-SessionLoggerConsole-clone}{\code{SessionLoggerConsole$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details open><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="SessionLogger" data-id="attachSession"><a href='../../AVSDevR.ShinyApplication/html/SessionLogger.html#method-SessionLogger-attachSession'><code>AVSDevR.ShinyApplication::SessionLogger$attachSession()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="SessionLogger" data-id="wrap"><a href='../../AVSDevR.ShinyApplication/html/SessionLogger.html#method-SessionLogger-wrap'><code>AVSDevR.ShinyApplication::SessionLogger$wrap()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLoggerConsole-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLoggerConsole-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLoggerConsole$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
67
man/SessionLoggerDB.Rd
Normal file
67
man/SessionLoggerDB.Rd
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/sessionLogger.R
|
||||||
|
\name{SessionLoggerDB}
|
||||||
|
\alias{SessionLoggerDB}
|
||||||
|
\title{R shiny application session database logger}
|
||||||
|
\description{
|
||||||
|
R shiny application session database logger
|
||||||
|
|
||||||
|
R shiny application session database logger
|
||||||
|
}
|
||||||
|
\details{
|
||||||
|
Logs session start / stop events to database
|
||||||
|
}
|
||||||
|
\section{Super class}{
|
||||||
|
\code{AVSDevR.ShinyApplication::SessionLogger} -> \code{SessionLoggerDB}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-SessionLoggerDB-new}{\code{SessionLoggerDB$new()}}
|
||||||
|
\item \href{#method-SessionLoggerDB-clone}{\code{SessionLoggerDB$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details open><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="SessionLogger" data-id="attachSession"><a href='../../AVSDevR.ShinyApplication/html/SessionLogger.html#method-SessionLogger-attachSession'><code>AVSDevR.ShinyApplication::SessionLogger$attachSession()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="SessionLogger" data-id="wrap"><a href='../../AVSDevR.ShinyApplication/html/SessionLogger.html#method-SessionLogger-wrap'><code>AVSDevR.ShinyApplication::SessionLogger$wrap()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLoggerDB-new"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLoggerDB-new}{}}}
|
||||||
|
\subsection{Method \code{new()}}{
|
||||||
|
Initialises the instance with a database client
|
||||||
|
\link[AVSDevR.DBClient]{DBClient}
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLoggerDB$new(db_client)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{db_client}}{<\link[AVSDevR.DBClient]{DBClient}> A DBClient instance}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-SessionLoggerDB-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-SessionLoggerDB-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{SessionLoggerDB$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
95
man/UFApplication.Rd
Normal file
95
man/UFApplication.Rd
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/ufApplication.R
|
||||||
|
\name{UFApplication}
|
||||||
|
\alias{UFApplication}
|
||||||
|
\title{Core UserFrosting (basic AdminLTE themed) R shiny application}
|
||||||
|
\value{
|
||||||
|
An R Shiny application suitable for \link[shiny]{runApp}
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Core UserFrosting (basic AdminLTE themed) R shiny application
|
||||||
|
|
||||||
|
Core UserFrosting (basic AdminLTE themed) R shiny application
|
||||||
|
}
|
||||||
|
\section{Super classes}{
|
||||||
|
\code{AVSDevR.ShinyApplication::FrameApplication} -> \code{AVSDevR.ShinyApplication::AdminLTEApplication} -> \code{UFApplication}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-UFApplication-configureUF}{\code{UFApplication$configureUF()}}
|
||||||
|
\item \href{#method-UFApplication-app}{\code{UFApplication$app()}}
|
||||||
|
\item \href{#method-UFApplication-clone}{\code{UFApplication$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="getSessionDBClient"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-getSessionDBClient'><code>AVSDevR.ShinyApplication::FrameApplication$getSessionDBClient()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="initialize"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-initialize'><code>AVSDevR.ShinyApplication::FrameApplication$initialize()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="server"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-server'><code>AVSDevR.ShinyApplication::FrameApplication$server()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withBootstrap4Shim"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withBootstrap4Shim'><code>AVSDevR.ShinyApplication::FrameApplication$withBootstrap4Shim()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withSessionLogger"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withSessionLogger'><code>AVSDevR.ShinyApplication::FrameApplication$withSessionLogger()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="frameUI"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-frameUI'><code>AVSDevR.ShinyApplication::AdminLTEApplication$frameUI()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="ui"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-ui'><code>AVSDevR.ShinyApplication::AdminLTEApplication$ui()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="withSkin"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-withSkin'><code>AVSDevR.ShinyApplication::AdminLTEApplication$withSkin()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFApplication-configureUF"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFApplication-configureUF}{}}}
|
||||||
|
\subsection{Method \code{configureUF()}}{
|
||||||
|
Sets up the UserFrosting configuration for the application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFApplication$configureUF(
|
||||||
|
uri,
|
||||||
|
with_users = TRUE,
|
||||||
|
user_optional = FALSE,
|
||||||
|
app_name = NULL
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{uri}}{\if{html}{\out{<character>}} The URI for the UserFrosting API instance}
|
||||||
|
|
||||||
|
\item{\code{with_users}}{\if{html}{\out{<logical>}} Enable UF user API interaction}
|
||||||
|
|
||||||
|
\item{\code{user_optional}}{\if{html}{\out{<logical>}} Are users optional?}
|
||||||
|
|
||||||
|
\item{\code{app_name}}{\if{html}{\out{<character>}} The shiny application name for the UF API}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFApplication-app"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFApplication-app}{}}}
|
||||||
|
\subsection{Method \code{app()}}{
|
||||||
|
Instantiates an R Shiny application with UserFrosting
|
||||||
|
support.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFApplication$app()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFApplication-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFApplication-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFApplication$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
114
man/UFDashboardApplication.Rd
Normal file
114
man/UFDashboardApplication.Rd
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/ufDashboardApplication.R
|
||||||
|
\name{UFDashboardApplication}
|
||||||
|
\alias{UFDashboardApplication}
|
||||||
|
\title{UserFrosting full dashboard R shiny application}
|
||||||
|
\value{
|
||||||
|
An R Shiny tagList for \link[shiny]{shinyApp}
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
UserFrosting full dashboard R shiny application
|
||||||
|
|
||||||
|
UserFrosting full dashboard R shiny application
|
||||||
|
}
|
||||||
|
\section{Super classes}{
|
||||||
|
\code{AVSDevR.ShinyApplication::FrameApplication} -> \code{AVSDevR.ShinyApplication::AdminLTEApplication} -> \code{AVSDevR.ShinyApplication::UFApplication} -> \code{UFDashboardApplication}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-UFDashboardApplication-withSidebarCollapsed}{\code{UFDashboardApplication$withSidebarCollapsed()}}
|
||||||
|
\item \href{#method-UFDashboardApplication-ui}{\code{UFDashboardApplication$ui()}}
|
||||||
|
\item \href{#method-UFDashboardApplication-server}{\code{UFDashboardApplication$server()}}
|
||||||
|
\item \href{#method-UFDashboardApplication-clone}{\code{UFDashboardApplication$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="getSessionDBClient"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-getSessionDBClient'><code>AVSDevR.ShinyApplication::FrameApplication$getSessionDBClient()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="initialize"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-initialize'><code>AVSDevR.ShinyApplication::FrameApplication$initialize()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withBootstrap4Shim"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withBootstrap4Shim'><code>AVSDevR.ShinyApplication::FrameApplication$withBootstrap4Shim()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withSessionLogger"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withSessionLogger'><code>AVSDevR.ShinyApplication::FrameApplication$withSessionLogger()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="frameUI"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-frameUI'><code>AVSDevR.ShinyApplication::AdminLTEApplication$frameUI()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="withSkin"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-withSkin'><code>AVSDevR.ShinyApplication::AdminLTEApplication$withSkin()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="UFApplication" data-id="app"><a href='../../AVSDevR.ShinyApplication/html/UFApplication.html#method-UFApplication-app'><code>AVSDevR.ShinyApplication::UFApplication$app()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="UFApplication" data-id="configureUF"><a href='../../AVSDevR.ShinyApplication/html/UFApplication.html#method-UFApplication-configureUF'><code>AVSDevR.ShinyApplication::UFApplication$configureUF()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFDashboardApplication-withSidebarCollapsed"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFDashboardApplication-withSidebarCollapsed}{}}}
|
||||||
|
\subsection{Method \code{withSidebarCollapsed()}}{
|
||||||
|
Starts the application with the UserFrosting sidebar
|
||||||
|
collapsed by default
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFDashboardApplication$withSidebarCollapsed()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFDashboardApplication-ui"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFDashboardApplication-ui}{}}}
|
||||||
|
\subsection{Method \code{ui()}}{
|
||||||
|
Creates the UserFrosting UI component for an R Shiny
|
||||||
|
application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFDashboardApplication$ui()}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFDashboardApplication-server"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFDashboardApplication-server}{}}}
|
||||||
|
\subsection{Method \code{server()}}{
|
||||||
|
Creates the UserFrosting server component for an R Shiny
|
||||||
|
application
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFDashboardApplication$server(
|
||||||
|
input,
|
||||||
|
output,
|
||||||
|
session,
|
||||||
|
ufApi = NULL,
|
||||||
|
ufUser = NULL,
|
||||||
|
...
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{input}}{The UI inputs bound for the session}
|
||||||
|
|
||||||
|
\item{\code{output}}{The UI outputs bound for the session}
|
||||||
|
|
||||||
|
\item{\code{session}}{The current session}
|
||||||
|
|
||||||
|
\item{\code{ufApi}}{The UserFrosting API instance}
|
||||||
|
|
||||||
|
\item{\code{ufUser}}{The UserFrosting user if authenticated and verified}
|
||||||
|
|
||||||
|
\item{\code{...}}{Parameters passed into the inner application}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFDashboardApplication-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFDashboardApplication-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFDashboardApplication$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
53
man/UFFrameApplication.Rd
Normal file
53
man/UFFrameApplication.Rd
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/ufFrameApplication.R
|
||||||
|
\name{UFFrameApplication}
|
||||||
|
\alias{UFFrameApplication}
|
||||||
|
\title{UserFrosting frame only R shiny application}
|
||||||
|
\description{
|
||||||
|
UserFrosting frame only R shiny application
|
||||||
|
|
||||||
|
UserFrosting frame only R shiny application
|
||||||
|
}
|
||||||
|
\section{Super classes}{
|
||||||
|
\code{AVSDevR.ShinyApplication::FrameApplication} -> \code{AVSDevR.ShinyApplication::AdminLTEApplication} -> \code{AVSDevR.ShinyApplication::UFApplication} -> \code{UFFrameApplication}
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-UFFrameApplication-clone}{\code{UFFrameApplication$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{
|
||||||
|
<details><summary>Inherited methods</summary>
|
||||||
|
<ul>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="getSessionDBClient"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-getSessionDBClient'><code>AVSDevR.ShinyApplication::FrameApplication$getSessionDBClient()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="initialize"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-initialize'><code>AVSDevR.ShinyApplication::FrameApplication$initialize()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="server"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-server'><code>AVSDevR.ShinyApplication::FrameApplication$server()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withBootstrap4Shim"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withBootstrap4Shim'><code>AVSDevR.ShinyApplication::FrameApplication$withBootstrap4Shim()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="FrameApplication" data-id="withSessionLogger"><a href='../../AVSDevR.ShinyApplication/html/FrameApplication.html#method-FrameApplication-withSessionLogger'><code>AVSDevR.ShinyApplication::FrameApplication$withSessionLogger()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="frameUI"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-frameUI'><code>AVSDevR.ShinyApplication::AdminLTEApplication$frameUI()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="ui"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-ui'><code>AVSDevR.ShinyApplication::AdminLTEApplication$ui()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="AdminLTEApplication" data-id="withSkin"><a href='../../AVSDevR.ShinyApplication/html/AdminLTEApplication.html#method-AdminLTEApplication-withSkin'><code>AVSDevR.ShinyApplication::AdminLTEApplication$withSkin()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="UFApplication" data-id="app"><a href='../../AVSDevR.ShinyApplication/html/UFApplication.html#method-UFApplication-app'><code>AVSDevR.ShinyApplication::UFApplication$app()</code></a></span></li>
|
||||||
|
<li><span class="pkg-link" data-pkg="AVSDevR.ShinyApplication" data-topic="UFApplication" data-id="configureUF"><a href='../../AVSDevR.ShinyApplication/html/UFApplication.html#method-UFApplication-configureUF'><code>AVSDevR.ShinyApplication::UFApplication$configureUF()</code></a></span></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
}}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-UFFrameApplication-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-UFFrameApplication-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{UFFrameApplication$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user