mirror of
https://github.com/rstudio/shiny.git
synced 2026-02-06 12:44:58 -05:00
29 lines
895 B
R
29 lines
895 B
R
# Function wrappers for saving and restoring state to/from disk when running
|
|
# Shiny locally.
|
|
#
|
|
# These functions provide a directory to the callback function.
|
|
#
|
|
# @param id A session ID to save.
|
|
# @param callback A callback function that saves state to or restores state from
|
|
# a directory. It must take one argument, \code{stateDir}, which is a
|
|
# directory to which it writes/reads.
|
|
|
|
saveInterfaceLocal <- function(id, callback) {
|
|
# Try to save in app directory
|
|
appDir <- getShinyOption("appDir", default = getwd())
|
|
|
|
stateDir <- file.path(appDir, "shiny_bookmarks", id)
|
|
if (!dirExists(stateDir))
|
|
dir.create(stateDir, recursive = TRUE)
|
|
|
|
callback(stateDir)
|
|
}
|
|
|
|
loadInterfaceLocal <- function(id, callback) {
|
|
# Try to load from app directory
|
|
appDir <- getShinyOption("appDir", default = getwd())
|
|
|
|
stateDir <- file.path(appDir, "shiny_bookmarks", id)
|
|
callback(stateDir)
|
|
}
|