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 27 28
  
     | 
    
      # 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)
}
 
     |